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:
|
To run the example:
|
||||||
|
|
||||||
```sh
|
```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
|
you are Ben Kraft
|
||||||
csilvers is Craig Silverstein
|
csilvers is Craig Silverstein
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
// Code generated by github.com/Khan/genql, DO NOT EDIT.
|
|
||||||
package example
|
package example
|
||||||
|
|
||||||
|
// Code generated by github.com/Khan/genql, DO NOT EDIT.
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"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
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func Generate(schema *ast.Schema, document *ast.QueryDocument) ([]byte, error) {
|
func Generate(config *Config) ([]byte, error) {
|
||||||
var err 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))
|
operations := make([]operation, len(document.Operations))
|
||||||
for i, op := range document.Operations {
|
for i, op := range document.Operations {
|
||||||
operations[i], err = fromASTOperation(op, schema)
|
operations[i], err = fromASTOperation(op, schema)
|
||||||
|
|||||||
+3
-13
@@ -5,7 +5,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
func parseGenerateAndWrite(configFilename string) error {
|
func readConfigGenerateAndWrite(configFilename string) error {
|
||||||
config, err := ReadAndValidateConfig(configFilename)
|
config, err := ReadAndValidateConfig(configFilename)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -17,17 +17,7 @@ func parseGenerateAndWrite(configFilename string) error {
|
|||||||
config.Generated, err)
|
config.Generated, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
schema, err := getSchema(config.Schema)
|
code, err := Generate(config)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
document, err := getAndValidateQueries(config.Queries, schema)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
code, err := Generate(schema, document)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -51,5 +41,5 @@ func Main() {
|
|||||||
return
|
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}}
|
package {{.PackageName}}
|
||||||
|
|
||||||
|
// Code generated by github.com/Khan/genql, DO NOT EDIT.
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user