Set up a test

This commit is contained in:
Ben Kraft
2020-03-27 15:57:22 -07:00
parent 9ae5f71bce
commit 9074926cea
6 changed files with 58 additions and 18 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ Get a token from [GitHub](https://github.com/settings/tokens/new) (no scopes nee
To run the example:
```sh
$ KEY=<your token> go run ./cmd/example/main.go <username>
$ GITHUB_TOKEN=<your token> go run ./cmd/example/main.go <username>
you are Ben Kraft
csilvers is Craig Silverstein
```
+2 -1
View File
@@ -1,6 +1,7 @@
// Code generated by github.com/Khan/genql, DO NOT EDIT.
package example
// Code generated by github.com/Khan/genql, DO NOT EDIT.
import (
"context"
+39
View File
@@ -0,0 +1,39 @@
package generate
import (
"bytes"
"io/ioutil"
"path/filepath"
"runtime"
"testing"
)
func TestGenerateExample(t *testing.T) {
_, thisFile, _, ok := runtime.Caller(0)
if !ok {
t.Fatal("runtime.Caller non-ok")
}
repoRoot := filepath.Dir(filepath.Dir(thisFile))
configFilename := filepath.Join(repoRoot, "example/genql.yaml")
config, err := ReadAndValidateConfig(configFilename)
if err != nil {
t.Fatal(err)
}
code, err := Generate(config)
if err != nil {
t.Fatal(err)
}
expectedCode, err := ioutil.ReadFile(config.Generated)
if err != nil {
t.Fatal(err)
}
if !bytes.Equal(code, expectedCode) {
t.Errorf(
"diffs to generated code:\n---actual---\n%v\n---expected---\n%v",
string(code), string(expectedCode))
}
}
+11 -2
View File
@@ -99,8 +99,17 @@ func fromASTOperation(op *ast.OperationDefinition, schema *ast.Schema) (operatio
}, nil
}
func Generate(schema *ast.Schema, document *ast.QueryDocument) ([]byte, error) {
var err error
func Generate(config *Config) ([]byte, error) {
schema, err := getSchema(config.Schema)
if err != nil {
return nil, err
}
document, err := getAndValidateQueries(config.Queries, schema)
if err != nil {
return nil, err
}
operations := make([]operation, len(document.Operations))
for i, op := range document.Operations {
operations[i], err = fromASTOperation(op, schema)
+3 -13
View File
@@ -5,7 +5,7 @@ import (
"os"
)
func parseGenerateAndWrite(configFilename string) error {
func readConfigGenerateAndWrite(configFilename string) error {
config, err := ReadAndValidateConfig(configFilename)
if err != nil {
return err
@@ -17,17 +17,7 @@ func parseGenerateAndWrite(configFilename string) error {
config.Generated, err)
}
schema, err := getSchema(config.Schema)
if err != nil {
return err
}
document, err := getAndValidateQueries(config.Queries, schema)
if err != nil {
return err
}
code, err := Generate(schema, document)
code, err := Generate(config)
if err != nil {
return err
}
@@ -51,5 +41,5 @@ func Main() {
return
}
err = parseGenerateAndWrite(os.Args[1])
err = readConfigGenerateAndWrite(os.Args[1])
}
+2 -1
View File
@@ -1,6 +1,7 @@
// Code generated by github.com/Khan/genql, DO NOT EDIT.
package {{.PackageName}}
// Code generated by github.com/Khan/genql, DO NOT EDIT.
import (
"context"