MCPcopy
hub / github.com/dgraph-io/dgraph / TestTransactionBasic

Function TestTransactionBasic

dgraph/cmd/alpha/http_test.go:386–442  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

384}
385
386func TestTransactionBasic(t *testing.T) {
387 require.NoError(t, dropAll())
388 require.NoError(t, alterSchema(`name: string .`))
389 require.NoError(t, alterSchema(`name: string @index(term) .`))
390
391 q1 := `
392 {
393 balances(func: anyofterms(name, "Alice Bob")) {
394 name
395 balance
396 }
397 }
398 `
399 _, tsInfo, err := queryWithTs(queryInp{body: q1, typ: "application/dql"})
400 require.NoError(t, err)
401 ts := tsInfo.ts
402 hash := tsInfo.hash
403
404 m1 := `
405 {
406 set {
407 _:alice <name> "Bob" .
408 _:alice <balance> "110" .
409 _:bob <balance> "60" .
410 }
411 }
412 `
413
414 mr, err := mutationWithTs(mutationInp{body: m1, typ: "application/rdf", ts: ts, hash: hash})
415 require.NoError(t, err)
416 require.Equal(t, mr.startTs, ts)
417 require.Equal(t, 4, len(mr.keys))
418 require.Equal(t, 2, len(mr.preds))
419 var parsedPreds []string
420 for _, pred := range mr.preds {
421 p := strings.SplitN(pred, "-", 2)[1]
422 parsedPreds = append(parsedPreds, x.ParseAttr(p))
423 }
424 sort.Strings(parsedPreds)
425 require.Equal(t, "balance", parsedPreds[0])
426 require.Equal(t, "name", parsedPreds[1])
427
428 data, _, err := queryWithTs(queryInp{body: q1, typ: "application/dql"})
429 require.NoError(t, err)
430 require.Equal(t, `{"data":{"balances":[]}}`, data)
431
432 // Query with same timestamp.
433 data, _, err = queryWithTs(queryInp{body: q1, typ: "application/dql", ts: ts, hash: hash})
434 require.NoError(t, err)
435 require.Equal(t, `{"data":{"balances":[{"name":"Bob","balance":"110"}]}}`, data)
436
437 // Commit and query.
438 require.NoError(t, commitWithTs(mr, false))
439 data, _, err = queryWithTs(queryInp{body: q1, typ: "application/dql"})
440 require.NoError(t, err)
441 require.Equal(t, `{"data":{"balances":[{"name":"Bob","balance":"110"}]}}`, data)
442}
443

Callers

nothing calls this directly

Calls 6

ParseAttrFunction · 0.92
dropAllFunction · 0.85
alterSchemaFunction · 0.85
queryWithTsFunction · 0.85
mutationWithTsFunction · 0.85
commitWithTsFunction · 0.85

Tested by

no test coverage detected