func main() { rand.Seed(time.Now().UnixNano()) x.Init() checkFlagsAndInitDirs() ps, err := store.NewStore(*postingDir) x.Checkf(err, "Error initializing postings store") defer ps.Close() if len(*schemaFile) > 0 { err = schema.Parse(*schemaFile) x.Checkf(err, "Error while loading schema: %s", *schemaFile) } // Posting will initialize index which requires schema. Hence, initialize // schema before calling posting.Init(). posting.Init(ps) worker.Init(ps) x.Check(group.ParseGroupConfig(*conf)) // Setup external communication. che := make(chan error, 1) go setupServer(che) go worker.StartRaftNodes(*walDir) if err := <-che; !strings.Contains(err.Error(), "use of closed network connection") { log.Fatal(err) } }
func TestSchema1(t *testing.T) { require.NoError(t, schema.Parse("test_schema")) dir, dir2, _ := populateGraph(t) defer os.RemoveAll(dir) defer os.RemoveAll(dir2) // Alright. Now we have everything set up. Let's create the query. query := ` { person(_uid_:0x01) { alive survival_rate friend } } ` js := processToJSON(t, query) require.JSONEq(t, `{"person":[{"address":"31, 32 street, Jupiter","age":38,"alive":true,"friend":[{"address":"21, mark street, Mars","age":15,"name":"Rick Grimes"}],"name":"Michonne","survival_rate":98.99}]}`, js) }