MCPcopy Create free account
hub / github.com/dgraph-io/dgraph / TestUpsertExample0

Function TestUpsertExample0

dgraph/cmd/alpha/upsert_test.go:40–108  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

38}
39
40func TestUpsertExample0(t *testing.T) {
41 require.NoError(t, dropAll())
42 require.NoError(t, alterSchema(`email: string @index(exact) .`))
43
44 // Mutation with wrong name
45 m1 := `
46upsert {
47 query {
48 q(func: eq(email, "email@company.io")) {
49 v as uid
50 }
51 }
52
53 mutation {
54 set {
55 uid(v) <name> "Wrong" .
56 uid(v) <email> "email@company.io" .
57 }
58 }
59}`
60 mr, err := mutationWithTs(mutationInp{body: m1, typ: "application/rdf", commitNow: true})
61 require.NoError(t, err)
62 require.True(t, len(mr.keys) == 0)
63 require.Equal(t, []string{"email", "name"}, splitPreds(mr.preds))
64 result := QueryResult{}
65 require.NoError(t, json.Unmarshal(mr.data, &result))
66 require.Equal(t, 0, len(result.Queries["q"]))
67
68 // query should return the wrong name
69 q1 := `
70{
71 q(func: has(email)) {
72 uid
73 name
74 email
75 }
76}`
77 res, _, err := queryWithTs(queryInp{body: q1, typ: "application/dql"})
78 require.NoError(t, err)
79 require.Contains(t, res, "Wrong")
80
81 // mutation with correct name
82 m2 := `
83upsert {
84 query {
85 q(func: eq(email, "email@company.io")) {
86 v as uid
87 }
88 }
89
90 mutation {
91 set {
92 uid(v) <name> "Ashish" .
93 }
94 }
95}`
96 mr, err = mutationWithTs(mutationInp{body: m2, typ: "application/rdf", commitNow: true})
97 require.NoError(t, err)

Callers

nothing calls this directly

Calls 5

dropAllFunction · 0.85
alterSchemaFunction · 0.85
mutationWithTsFunction · 0.85
splitPredsFunction · 0.85
queryWithTsFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…