MCPcopy Index your code
hub / github.com/dgraph-io/dgraph / TestTransactionBasicOldCommitFormat

Function TestTransactionBasicOldCommitFormat

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

Source from the content-addressed store, hash-verified

523}
524
525func TestTransactionBasicOldCommitFormat(t *testing.T) {
526 require.NoError(t, dropAll())
527 require.NoError(t, alterSchema(`name: string @index(term) .`))
528
529 q1 := `
530 {
531 balances(func: anyofterms(name, "Alice Bob")) {
532 name
533 balance
534 }
535 }
536 `
537 _, tsInfo, err := queryWithTs(queryInp{body: q1, typ: "application/dql"})
538 require.NoError(t, err)
539 ts := tsInfo.ts
540 hash := tsInfo.hash
541
542 m1 := `
543 {
544 set {
545 _:alice <name> "Bob" .
546 _:alice <balance> "110" .
547 _:bob <balance> "60" .
548 }
549 }
550 `
551
552 mr, err := mutationWithTs(mutationInp{body: m1, typ: "application/rdf", ts: ts, hash: hash})
553 require.NoError(t, err)
554 require.Equal(t, mr.startTs, ts)
555 require.Equal(t, 4, len(mr.keys))
556
557 data, _, err := queryWithTs(queryInp{body: q1, typ: "application/dql"})
558 require.NoError(t, err)
559 require.Equal(t, `{"data":{"balances":[]}}`, data)
560
561 // Query with same timestamp.
562 data, _, err = queryWithTs(queryInp{body: q1, typ: "application/dql", ts: ts, hash: hash})
563 require.NoError(t, err)
564 require.Equal(t, `{"data":{"balances":[{"name":"Bob","balance":"110"}]}}`, data)
565
566 // One more time, with json body this time.
567 d1, err := json.Marshal(params{Query: q1})
568 require.NoError(t, err)
569 data, _, err = queryWithTs(
570 queryInp{body: string(d1), typ: "application/json", ts: ts, hash: hash})
571 require.NoError(t, err)
572 require.Equal(t, `{"data":{"balances":[{"name":"Bob","balance":"110"}]}}`, data)
573
574 // Commit (using a list of keys instead of a map) and query.
575 require.NoError(t, commitWithTsKeysOnly(mr.keys, ts, mr.hash))
576 data, _, err = queryWithTs(queryInp{body: q1, typ: "application/dql"})
577 require.NoError(t, err)
578 require.Equal(t, `{"data":{"balances":[{"name":"Bob","balance":"110"}]}}`, data)
579
580 // Aborting a transaction
581 url := fmt.Sprintf("%s/commit?startTs=%d&abort=true&hash=%s", addr, ts, mr.hash)
582 req, err := http.NewRequest("POST", url, nil)

Callers

nothing calls this directly

Calls 6

dropAllFunction · 0.85
alterSchemaFunction · 0.85
queryWithTsFunction · 0.85
mutationWithTsFunction · 0.85
commitWithTsKeysOnlyFunction · 0.85
runRequestFunction · 0.85

Tested by

no test coverage detected