From b2caa5d1b0c3d671a58c854d6b495ec1a53af674 Mon Sep 17 00:00:00 2001 From: Joshua Send Date: Wed, 1 Apr 2020 19:07:41 +0100 Subject: [PATCH 1/9] change rolePlayersMap from mapping to set to mapping to list --- grakn/service/Session/Concept/Concept.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/grakn/service/Session/Concept/Concept.py b/grakn/service/Session/Concept/Concept.py index 721143d4..6fa49c22 100644 --- a/grakn/service/Session/Concept/Concept.py +++ b/grakn/service/Session/Concept/Concept.py @@ -595,8 +595,8 @@ def to_pair(tx_service, iter_res): else: id_mapping[role_id] = role role_key = role - mapping[role_key] = set() - mapping[role_key].add(player) + mapping[role_key] = [] + mapping[role_key].append(player) return mapping From 94f984b54f47280714fa9c0d3814400593dde17e Mon Sep 17 00:00:00 2001 From: Joshua Send Date: Thu, 2 Apr 2020 17:05:36 +0100 Subject: [PATCH 2/9] fix tests and update BUILDing --- WORKSPACE | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/WORKSPACE b/WORKSPACE index 72b40475..c715425f 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -92,12 +92,13 @@ com_github_grpc_grpc_deps() ################################ load("@graknlabs_grakn_core//dependencies/graknlabs:dependencies.bzl", - "graknlabs_graql", "graknlabs_common", "graknlabs_client_java", "graknlabs_console", "graknlabs_benchmark") + "graknlabs_graql", "graknlabs_common", "graknlabs_client_java", "graknlabs_console", "graknlabs_benchmark", "graknlabs_grabl_tracing") graknlabs_graql() graknlabs_common() graknlabs_client_java() graknlabs_console() graknlabs_benchmark() +graknlabs_grabl_tracing() load("@graknlabs_grakn_core//dependencies/maven:dependencies.bzl", graknlabs_grakn_core_maven_dependencies = "maven_dependencies") @@ -119,6 +120,11 @@ load("@graknlabs_graql//dependencies/maven:dependencies.bzl", graknlabs_graql_maven_dependencies = "maven_dependencies") graknlabs_graql_maven_dependencies() +load("@graknlabs_grabl_tracing//dependencies/maven:dependencies.bzl", +graknlabs_grabl_tracing_maven_dependencies="maven_dependencies") +graknlabs_grabl_tracing_maven_dependencies() + + # Load Client Java dependencies for Grakn Core load("@stackb_rules_proto//java:deps.bzl", "java_grpc_compile") From 671da0a1ebefeec1e396bde8aaf810d33d2c86d4 Mon Sep 17 00:00:00 2001 From: Joshua Send Date: Thu, 2 Apr 2020 18:38:07 +0100 Subject: [PATCH 3/9] add another test for duplicate players --- tests/integration/test_concept.py | 36 +++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/tests/integration/test_concept.py b/tests/integration/test_concept.py index 0cb127d2..7b7aa739 100644 --- a/tests/integration/test_concept.py +++ b/tests/integration/test_concept.py @@ -669,8 +669,8 @@ def test_role_players_2_roles_1_player(self): role_players_map = parentship.role_players_map() self.assertEqual(len(role_players_map.keys()), 2) for role in role_players_map: - players_set = role_players_map[role] - self.assertEqual(len(players_set), 1) + players_list = role_players_map[role] + self.assertEqual(len(players_list), 1) self.assertTrue(role.is_role()) role_players = list(parentship.role_players()) @@ -691,8 +691,8 @@ def test_role_players_1_role_2_players(self): role_players_map = parentship.role_players_map() self.assertEqual(len(role_players_map.keys()), 1) for role in role_players_map: - players_set = role_players_map[role] - self.assertEqual(len(players_set), 2) + players_list = role_players_map[role] + self.assertEqual(len(players_list), 2) self.assertTrue(role.is_role()) role_players = list(parentship.role_players()) @@ -713,12 +713,34 @@ def test_role_players_2_roles_same_player(self): role_players_map = parentship.role_players_map() self.assertEqual(len(role_players_map.keys()), 2) for role in role_players_map: - players_set = role_players_map[role] - self.assertEqual(len(players_set), 1) + players_list = role_players_map[role] + self.assertEqual(len(players_list), 1) self.assertTrue(role.is_role()) role_players = list(parentship.role_players()) - self.assertEqual(len(role_players), 1) + self.assertEqual(len(role_players), 2) + self.assertTrue(role_players[0].is_thing()) + + def test_role_players_1_role_same_player(self): + parentship_type = self.tx.get_schema_concept("parentship") + person_type = self.tx.get_schema_concept("person") + parent_role = self.tx.get_schema_concept("parent") + + self_parent = person_type.create() + parentship = parentship_type.create() + + parentship.assign(parent_role, self_parent) + parentship.assign(parent_role, self_parent) + + role_players_map = parentship.role_players_map() + self.assertEqual(len(role_players_map.keys()), 1) + for role in role_players_map: + players_list = role_players_map[role] + self.assertEqual(len(players_list), 2) + self.assertTrue(role.is_role()) + + role_players = list(parentship.role_players()) + self.assertEqual(len(role_players), 2) self.assertTrue(role_players[0].is_thing()) def test_assign_unassign(self): From 7efcd89068b4a86fa9191f777136728e76d344c8 Mon Sep 17 00:00:00 2001 From: Joshua Send Date: Thu, 9 Apr 2020 11:53:52 +0100 Subject: [PATCH 4/9] bump deps --- dependencies/graknlabs/dependencies.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/graknlabs/dependencies.bzl b/dependencies/graknlabs/dependencies.bzl index 97641e13..26b9c2f1 100644 --- a/dependencies/graknlabs/dependencies.bzl +++ b/dependencies/graknlabs/dependencies.bzl @@ -28,7 +28,7 @@ def graknlabs_grakn_core(): git_repository( name = "graknlabs_grakn_core", remote = "https://github.com/graknlabs/grakn", - commit = "83575afe5f2e7e87e44e21244de76ffa6d13d305" # sync-marker: do not remove this comment, this is used for sync-dependencies by @graknlabs_grakn_core + commit = "0518f925b715158053fc3f8c4a65cb0f73cd3c42" # sync-marker: do not remove this comment, this is used for sync-dependencies by @graknlabs_grakn_core ) def graknlabs_protocol(): From 4a3576ef02347772eeda66fd2b36db0d21d14f78 Mon Sep 17 00:00:00 2001 From: Joshua Send Date: Thu, 9 Apr 2020 17:05:08 +0100 Subject: [PATCH 5/9] update grakn core dependency --- dependencies/graknlabs/dependencies.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/graknlabs/dependencies.bzl b/dependencies/graknlabs/dependencies.bzl index 14f817b7..6e98d72d 100644 --- a/dependencies/graknlabs/dependencies.bzl +++ b/dependencies/graknlabs/dependencies.bzl @@ -28,7 +28,7 @@ def graknlabs_grakn_core(): git_repository( name = "graknlabs_grakn_core", remote = "https://github.com/graknlabs/grakn", - commit = "0518f925b715158053fc3f8c4a65cb0f73cd3c42" # sync-marker: do not remove this comment, this is used for sync-dependencies by @graknlabs_grakn_core + commit = "b8e230acb6a62f3722962d7132463f5071255c4e" # sync-marker: do not remove this comment, this is used for sync-dependencies by @graknlabs_grakn_core ) def graknlabs_protocol(): From 3f6b036412ae1cfba613685488a9dbecbd805836 Mon Sep 17 00:00:00 2001 From: Joshua Send Date: Wed, 1 Apr 2020 19:07:41 +0100 Subject: [PATCH 6/9] change rolePlayersMap from mapping to set to mapping to list --- grakn/service/Session/Concept/Concept.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/grakn/service/Session/Concept/Concept.py b/grakn/service/Session/Concept/Concept.py index 721143d4..6fa49c22 100644 --- a/grakn/service/Session/Concept/Concept.py +++ b/grakn/service/Session/Concept/Concept.py @@ -595,8 +595,8 @@ def to_pair(tx_service, iter_res): else: id_mapping[role_id] = role role_key = role - mapping[role_key] = set() - mapping[role_key].add(player) + mapping[role_key] = [] + mapping[role_key].append(player) return mapping From cc407eb2505742eea4f17bcf37288723d7f84993 Mon Sep 17 00:00:00 2001 From: Joshua Send Date: Thu, 2 Apr 2020 18:38:07 +0100 Subject: [PATCH 7/9] add another test for duplicate players --- tests/integration/test_concept.py | 36 +++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/tests/integration/test_concept.py b/tests/integration/test_concept.py index a722cc07..b1629ab8 100644 --- a/tests/integration/test_concept.py +++ b/tests/integration/test_concept.py @@ -669,8 +669,8 @@ def test_role_players_2_roles_1_player(self): role_players_map = parentship.role_players_map() self.assertEqual(len(role_players_map.keys()), 2) for role in role_players_map: - players_set = role_players_map[role] - self.assertEqual(len(players_set), 1) + players_list = role_players_map[role] + self.assertEqual(len(players_list), 1) self.assertTrue(role.is_role()) role_players = list(parentship.role_players()) @@ -691,8 +691,8 @@ def test_role_players_1_role_2_players(self): role_players_map = parentship.role_players_map() self.assertEqual(len(role_players_map.keys()), 1) for role in role_players_map: - players_set = role_players_map[role] - self.assertEqual(len(players_set), 2) + players_list = role_players_map[role] + self.assertEqual(len(players_list), 2) self.assertTrue(role.is_role()) role_players = list(parentship.role_players()) @@ -714,12 +714,34 @@ def test_role_players_2_roles_same_player(self): role_players_map = parentship.role_players_map() self.assertEqual(len(role_players_map.keys()), 2) for role in role_players_map: - players_set = role_players_map[role] - self.assertEqual(len(players_set), 1) + players_list = role_players_map[role] + self.assertEqual(len(players_list), 1) self.assertTrue(role.is_role()) role_players = list(parentship.role_players()) - self.assertEqual(len(role_players), 1) + self.assertEqual(len(role_players), 2) + self.assertTrue(role_players[0].is_thing()) + + def test_role_players_1_role_same_player(self): + parentship_type = self.tx.get_schema_concept("parentship") + person_type = self.tx.get_schema_concept("person") + parent_role = self.tx.get_schema_concept("parent") + + self_parent = person_type.create() + parentship = parentship_type.create() + + parentship.assign(parent_role, self_parent) + parentship.assign(parent_role, self_parent) + + role_players_map = parentship.role_players_map() + self.assertEqual(len(role_players_map.keys()), 1) + for role in role_players_map: + players_list = role_players_map[role] + self.assertEqual(len(players_list), 2) + self.assertTrue(role.is_role()) + + role_players = list(parentship.role_players()) + self.assertEqual(len(role_players), 2) self.assertTrue(role_players[0].is_thing()) def test_assign_unassign(self): From 1ba14d886391e452c50e1e77266fe5edb36e9ad8 Mon Sep 17 00:00:00 2001 From: Joshua Send Date: Wed, 15 Apr 2020 13:58:44 +0100 Subject: [PATCH 8/9] re-enabled ignored tests --- tests/integration/test_answer.py | 1 - tests/integration/test_concept.py | 1 - 2 files changed, 2 deletions(-) diff --git a/tests/integration/test_answer.py b/tests/integration/test_answer.py index c21aece0..24d4fe9e 100644 --- a/tests/integration/test_answer.py +++ b/tests/integration/test_answer.py @@ -160,7 +160,6 @@ def test_aggr_count_empty_graph_anwer_Value(self): tx.close() client.keyspaces().delete("countingnonzero") - @unittest.skip("behaviour changed on server side") def test_conceptmap_explanation(self): """ Test explanations when hitting a transitive rule """ with client.session("transitivity") as local_session: diff --git a/tests/integration/test_concept.py b/tests/integration/test_concept.py index b1629ab8..7b7aa739 100644 --- a/tests/integration/test_concept.py +++ b/tests/integration/test_concept.py @@ -698,7 +698,6 @@ def test_role_players_1_role_2_players(self): role_players = list(parentship.role_players()) self.assertEqual(len(role_players), 2) - @unittest.skip("behaviour changed on server side") def test_role_players_2_roles_same_player(self): parentship_type = self.tx.get_schema_concept("parentship") person_type = self.tx.get_schema_concept("person") From 75e7c93b257774a44c3178ff6e2b502ce74d4d9c Mon Sep 17 00:00:00 2001 From: Joshua Send Date: Wed, 15 Apr 2020 19:27:54 +0100 Subject: [PATCH 9/9] ignore expected to fail test --- tests/integration/test_answer.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/integration/test_answer.py b/tests/integration/test_answer.py index 24d4fe9e..02055a2e 100644 --- a/tests/integration/test_answer.py +++ b/tests/integration/test_answer.py @@ -138,7 +138,7 @@ def test_delete_returns_Void(self): tx.close() client.keyspaces().delete("matchdelete_void") - def test_compute_count_empty_graph_anwer_Value(self): + def test_compute_count_empty_graph_answer_Value(self): with client.session("countingzero") as local_session: tx = local_session.transaction().write() tx.put_entity_type("foo") @@ -149,7 +149,7 @@ def test_compute_count_empty_graph_anwer_Value(self): tx.close() client.keyspaces().delete("countingzero") - def test_aggr_count_empty_graph_anwer_Value(self): + def test_aggr_count_empty_graph_answer_Value(self): with client.session("countingnonzero") as local_session: tx = local_session.transaction().write() tx.query("define person sub entity; dog sub entity;") @@ -160,6 +160,7 @@ def test_aggr_count_empty_graph_anwer_Value(self): tx.close() client.keyspaces().delete("countingnonzero") + @unittest.skip("behaviour changed on server side") def test_conceptmap_explanation(self): """ Test explanations when hitting a transitive rule """ with client.session("transitivity") as local_session: