Skip to content

Commit

Permalink
chore(tests): Add basic test for k-random nodes (#7758)
Browse files Browse the repository at this point in the history
Add some sanity tests for the k-random nodes argument.
  • Loading branch information
ahsanbarkati authored Apr 29, 2021
1 parent 41eb36f commit 018517b
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
25 changes: 25 additions & 0 deletions query/common_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -851,6 +851,31 @@ func populateCluster() {
<61> <tweet-d> "aaabxxx" .
<62> <tweet-d> "aaacdxx" .
<63> <tweet-d> "aaabcd" .
<61> <connects> <64> .
<61> <connects> <65> .
<61> <connects> <66> .
<61> <connects> <67> .
<61> <connects> <68> .
<62> <connects> <64> .
<62> <connects> <65> .
<62> <connects> <66> .
<62> <connects> <67> .
<62> <connects> <68> .
<63> <connects> <64> .
<63> <connects> <65> .
<63> <connects> <66> .
<63> <connects> <67> .
<63> <connects> <68> .
<64> <kname> "yes" .
<65> <kname> "yes" .
<66> <kname> "yes" .
<67> <kname> "yes" .
<68> <kname> "yes" .
<61> <kname> "can_be_picked" .
<62> <kname> "can_be_picked" .
<63> <kname> "can_be_picked" .
`)
if err != nil {
panic(fmt.Sprintf("Could not able add triple to the cluster. Got error %v", err.Error()))
Expand Down
32 changes: 32 additions & 0 deletions query/query0_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3484,6 +3484,38 @@ func TestMatchingWithPagination(t *testing.T) {
}
}

func TestKRandomNodes(t *testing.T) {
q := `{
data(func: uid(61, 62, 63, 64, 65, 66, 67, 68), random: 2) @filter(has(connects)) {
kname
connects(random:2){
kname
}
}
}`
result := processQueryNoErr(t, q)
expected := `{"data":{"data":[{
"kname":"can_be_picked",
"connects":[
{"kname":"yes"},
{"kname":"yes"}
]},
{"kname":"can_be_picked",
"connects":[
{"kname":"yes"},
{"kname":"yes"}
]}]}}`
require.JSONEq(t, expected, result)

q = `{
data(func: uid(61, 62, 63, 64, 65, 66, 67, 68), random: 10) @filter(has(connects)) {
count(uid)
}
}`
result = processQueryNoErr(t, q)
require.JSONEq(t, `{"data":{"data":[{"count":3}]}}`, result)
}

var client *dgo.Dgraph

func TestMain(m *testing.M) {
Expand Down

0 comments on commit 018517b

Please sign in to comment.