Set up a test
This commit is contained in:
+1
-1
@@ -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
|
||||
```
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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])
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user