func makePostgres(t testing.TB) (graph.QuadStore, graph.Options, func()) { var conf dock.Config conf.Image = "postgres:9.5" conf.OpenStdin = true conf.Tty = true conf.Env = []string{`POSTGRES_PASSWORD=postgres`} addr, closer := dock.RunAndWait(t, conf, func(addr string) bool { conn, err := pq.Open(`postgres://postgres:postgres@` + addr + `/postgres?sslmode=disable`) if err != nil { return false } conn.Close() return true }) addr = `postgres://postgres:postgres@` + addr + `/postgres?sslmode=disable` if err := createSQLTables(addr, nil); err != nil { closer() t.Fatal(err) } qs, err := newQuadStore(addr, nil) if err != nil { closer() t.Fatal(err) } return qs, nil, func() { qs.Close() closer() } }
func makeMongo(t testing.TB) (graph.QuadStore, graph.Options, func()) { var conf dock.Config conf.Image = "mongo:3" conf.OpenStdin = true conf.Tty = true addr, closer := dock.Run(t, conf) addr = addr + ":27017" if err := createNewMongoGraph(addr, nil); err != nil { closer() t.Fatal(err) } qs, err := newQuadStore(addr, nil) if err != nil { closer() t.Fatal(err) } return qs, nil, func() { qs.Close() closer() } }