Skip to content
Snippets Groups Projects
Commit 1ecc63ab authored by Geurtjens,D. (Douwe Geurtjens)'s avatar Geurtjens,D. (Douwe Geurtjens)
Browse files

Empty queries now generate a default response, many unit tests changed/rewritten. 77.2% coverage

parent 41712e3e
No related branches found
No related tags found
1 merge request!1Big merge
......@@ -28,6 +28,14 @@ func (s *Service) ConvertQuery(JSONQuery *entity.IncomingQueryJSON) (*string, er
// The largest possible id for a relation
largestRelationID := len(JSONQuery.Relations) - 1
if largestEntityID < 0 && largestRelationID < 0 {
fmt.Println("Empty query sent, returning default response")
defaultReturn := `LET nodes = first(RETURN UNION_DISTINCT([],[]))
LET edges = first(RETURN UNION_DISTINCT([],[]))
RETURN {"vertices":nodes, "edges":edges }`
return &defaultReturn, nil
}
// Make sure no entity should be returned that is outside the range of that list
for _, e := range JSONQuery.Return.Entities {
// If this entity references an entity that is outside the range
......
This diff is collapsed.
......@@ -59,7 +59,7 @@ func getTripleFromNode(JSONQuery *entity.IncomingQueryJSON, node entity.QueryEnt
tripleToReturn.Rel = relation
tripleToReturn.ToNode = JSONQuery.Entities[relation.ToID]
} else if (relation.ToType == ENTITYSTRING && relation.ToID == node.ID) && relation.FromType == ENTITYSTRING {
tripleToReturn.FromNode = JSONQuery.Entities[relation.ToID]
tripleToReturn.FromNode = JSONQuery.Entities[relation.FromID]
tripleToReturn.Rel = relation
tripleToReturn.ToNode = node
}
......@@ -99,7 +99,7 @@ func getChildrenFromTree(JSONQuery *entity.IncomingQueryJSON, treeList []entity.
for _, triple := range childRelationTriples {
childTree := entity.Tree{
Self: triple,
Parent: treeListIndex,
Parent: parentIndex,
Children: []int{},
}
treeList = append(treeList, childTree)
......
......@@ -297,7 +297,7 @@ func TestHierarchyBasic(t *testing.T) {
]
}
},
"Parent": 2,
"Parent": 1,
"Children": []
}
]`)
......
......@@ -39,6 +39,8 @@ type QueryModifierStruct struct {
SelectedType string // node relation
SelectedTypeID int // ID of the enitity or relation
AttributeIndex int // = -1 if its the node or relation, = > -1 if an attribute is selected
InType string
InID int
}
// QuerySearchDepthStruct holds the range of traversals for the relation
......
......@@ -20,7 +20,7 @@ The main function that calls the appropriate functions
*/
func main() {
queryservice := aql.NewService()
jsonFile, err := os.Open("../realtest.json")
jsonFile, err := os.Open("../test.json")
// if we os.Open returns an error then handle it
if err != nil {
log.Println(err)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment