Skip to content

Commit

Permalink
PR: Covert default update explain tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
shahzadlone committed May 1, 2023
1 parent 1c22136 commit eeaee3f
Showing 1 changed file with 151 additions and 135 deletions.
286 changes: 151 additions & 135 deletions tests/integration/explain/default/update_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,25 @@ package test_explain_default
import (
"testing"

testUtils "github.com/sourcenetwork/defradb/tests/integration"
explainUtils "github.com/sourcenetwork/defradb/tests/integration/explain"
)

func TestExplainSimpleMutationUpdateWithBooleanFilter(t *testing.T) {
test := testUtils.RequestTestCase{
var updatePattern = dataMap{
"explain": dataMap{
"updateNode": dataMap{
"selectTopNode": dataMap{
"selectNode": dataMap{
"scanNode": dataMap{},
},
},
},
},
}

func TestDefaultExplainMutationRequestWithUpdateUsingBooleanFilter(t *testing.T) {
test := explainUtils.ExplainRequestTestCase{

Description: "Explain simple update mutation with boolean equals filter, multiple rows",
Description: "Explain (default) mutation request with update using boolean filter.",

Request: `mutation @explain {
update_author(
Expand Down Expand Up @@ -53,52 +65,53 @@ func TestExplainSimpleMutationUpdateWithBooleanFilter(t *testing.T) {
},
},

Results: []dataMap{
ExpectedPatterns: []dataMap{updatePattern},

ExpectedTargets: []explainUtils.PlanNodeTargetCase{
{
"explain": dataMap{
"updateNode": dataMap{
"data": dataMap{
"age": float64(59),
TargetNodeName: "updateNode",
IncludeChildNodes: false,
ExpectedAttributes: dataMap{
"data": dataMap{
"age": float64(59),
},
"filter": dataMap{
"verified": dataMap{
"_eq": true,
},
"filter": dataMap{
"verified": dataMap{
"_eq": true,
},
},
"ids": []string(nil),
},
},
{
TargetNodeName: "scanNode",
IncludeChildNodes: true, // should be last node, so will have no child nodes.
ExpectedAttributes: dataMap{
"collectionID": "3",
"collectionName": "author",
"filter": dataMap{
"verified": dataMap{
"_eq": true,
},
"ids": []string(nil),
"selectTopNode": dataMap{
"selectNode": dataMap{
"filter": nil,
"scanNode": dataMap{
"collectionID": "3",
"collectionName": "author",
"filter": dataMap{
"verified": dataMap{
"_eq": true,
},
},
"spans": []dataMap{
{
"end": "/4",
"start": "/3",
},
},
},
},
},
"spans": []dataMap{
{
"end": "/4",
"start": "/3",
},
},
},
},
},
}

executeTestCase(t, test)
runExplainTest(t, test)
}

func TestExplainSimpleMutationUpdateWithIdInFilter(t *testing.T) {
test := testUtils.RequestTestCase{
func TestDefaultExplainMutationRequestWithUpdateUsingIds(t *testing.T) {
test := explainUtils.ExplainRequestTestCase{

Description: "Explain simple update mutation with id in filter, multiple rows",
Description: "Explain (default) mutation request with update using ids.",

Request: `mutation @explain {
update_author(
Expand Down Expand Up @@ -131,51 +144,52 @@ func TestExplainSimpleMutationUpdateWithIdInFilter(t *testing.T) {
},
},

Results: []dataMap{
ExpectedPatterns: []dataMap{updatePattern},

ExpectedTargets: []explainUtils.PlanNodeTargetCase{
{
"explain": dataMap{
"updateNode": dataMap{
"data": dataMap{
"age": float64(59),
},
"filter": nil,
"ids": []string{
"bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67f",
"bae-079d0bd8-4b1b-5f5f-bd95-4d915c277f9d",
TargetNodeName: "updateNode",
IncludeChildNodes: false,
ExpectedAttributes: dataMap{
"data": dataMap{
"age": float64(59),
},
"filter": nil,
"ids": []string{
"bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67f",
"bae-079d0bd8-4b1b-5f5f-bd95-4d915c277f9d",
},
},
},
{
TargetNodeName: "scanNode",
IncludeChildNodes: true, // should be last node, so will have no child nodes.
ExpectedAttributes: dataMap{
"collectionID": "3",
"collectionName": "author",
"filter": nil,
"spans": []dataMap{
{
"end": "/3/bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67g",
"start": "/3/bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67f",
},
"selectTopNode": dataMap{
"selectNode": dataMap{
"filter": nil,
"scanNode": dataMap{
"collectionID": "3",
"collectionName": "author",
"filter": nil,
"spans": []dataMap{
{
"end": "/3/bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67g",
"start": "/3/bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67f",
},
{
"end": "/3/bae-079d0bd8-4b1b-5f5f-bd95-4d915c277f9e",
"start": "/3/bae-079d0bd8-4b1b-5f5f-bd95-4d915c277f9d",
},
},
},
},
{
"end": "/3/bae-079d0bd8-4b1b-5f5f-bd95-4d915c277f9e",
"start": "/3/bae-079d0bd8-4b1b-5f5f-bd95-4d915c277f9d",
},
},
},
},
},
}

executeTestCase(t, test)
runExplainTest(t, test)
}

func TestExplainSimpleMutationUpdateWithIdEqualsFilter(t *testing.T) {
test := testUtils.RequestTestCase{
func TestDefaultExplainMutationRequestWithUpdateUsingId(t *testing.T) {
test := explainUtils.ExplainRequestTestCase{

Description: "Explain simple update mutation with id equals filter, multiple rows but single match",
Description: "Explain (default) mutation request with update using id.",

Request: `mutation @explain {
update_author(
Expand Down Expand Up @@ -205,46 +219,47 @@ func TestExplainSimpleMutationUpdateWithIdEqualsFilter(t *testing.T) {
},
},

Results: []dataMap{
ExpectedPatterns: []dataMap{updatePattern},

ExpectedTargets: []explainUtils.PlanNodeTargetCase{
{
"explain": dataMap{
"updateNode": dataMap{
"data": dataMap{
"age": float64(59),
},
"filter": nil,
"ids": []string{
"bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67f",
},
"selectTopNode": dataMap{
"selectNode": dataMap{
"filter": nil,
"scanNode": dataMap{
"collectionID": "3",
"collectionName": "author",
"filter": nil,
"spans": []dataMap{
{
"end": "/3/bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67g",
"start": "/3/bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67f",
},
},
},
},
TargetNodeName: "updateNode",
IncludeChildNodes: false,
ExpectedAttributes: dataMap{
"data": dataMap{
"age": float64(59),
},
"filter": nil,
"ids": []string{
"bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67f",
},
},
},
{
TargetNodeName: "scanNode",
IncludeChildNodes: true, // should be last node, so will have no child nodes.
ExpectedAttributes: dataMap{
"collectionID": "3",
"collectionName": "author",
"filter": nil,
"spans": []dataMap{
{
"start": "/3/bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67f",
"end": "/3/bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67g",
},
},
},
},
},
}

executeTestCase(t, test)
runExplainTest(t, test)
}

func TestExplainSimpleMutationUpdateWithIdAndFilter(t *testing.T) {
test := testUtils.RequestTestCase{
func TestDefaultExplainMutationRequestWithUpdateUsingIdsAndFilter(t *testing.T) {
test := explainUtils.ExplainRequestTestCase{

Description: "Explain simple update mutation with ids and filter, multiple rows",
Description: "Explain (default) mutation request with update using both ids and filter.",

Request: `mutation @explain {
update_author(
Expand Down Expand Up @@ -282,51 +297,52 @@ func TestExplainSimpleMutationUpdateWithIdAndFilter(t *testing.T) {
},
},

Results: []dataMap{
ExpectedPatterns: []dataMap{updatePattern},

ExpectedTargets: []explainUtils.PlanNodeTargetCase{
{
"explain": dataMap{
"updateNode": dataMap{
"data": dataMap{
"age": float64(59),
TargetNodeName: "updateNode",
IncludeChildNodes: false,
ExpectedAttributes: dataMap{
"data": dataMap{
"age": float64(59),
},
"filter": dataMap{
"verified": dataMap{
"_eq": true,
},
"filter": dataMap{
"verified": dataMap{
"_eq": true,
},
},
"ids": []string{
"bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67f",
"bae-079d0bd8-4b1b-5f5f-bd95-4d915c277f9d",
},
},
},
{
TargetNodeName: "scanNode",
IncludeChildNodes: true, // should be last node, so will have no child nodes.
ExpectedAttributes: dataMap{
"collectionID": "3",
"collectionName": "author",
"filter": dataMap{
"verified": dataMap{
"_eq": true,
},
"ids": []string{
"bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67f",
"bae-079d0bd8-4b1b-5f5f-bd95-4d915c277f9d",
},
"spans": []dataMap{
{
"start": "/3/bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67f",
"end": "/3/bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67g",
},
"selectTopNode": dataMap{
"selectNode": dataMap{
"filter": nil,
"scanNode": dataMap{
"collectionID": "3",
"collectionName": "author",
"filter": dataMap{
"verified": dataMap{
"_eq": true,
},
},
"spans": []dataMap{
{
"end": "/3/bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67g",
"start": "/3/bae-bfbfc89c-0d63-5ea4-81a3-3ebd295be67f",
},
{
"end": "/3/bae-079d0bd8-4b1b-5f5f-bd95-4d915c277f9e",
"start": "/3/bae-079d0bd8-4b1b-5f5f-bd95-4d915c277f9d",
},
},
},
},
{
"start": "/3/bae-079d0bd8-4b1b-5f5f-bd95-4d915c277f9d",
"end": "/3/bae-079d0bd8-4b1b-5f5f-bd95-4d915c277f9e",
},
},
},
},
},
}

executeTestCase(t, test)
runExplainTest(t, test)
}

0 comments on commit eeaee3f

Please sign in to comment.