(self, expect_effect=True)
| 739 | self.assert_graph_eq() |
| 740 | |
| 741 | def test13_merge_edge(self, expect_effect=True): |
| 742 | # test create and update of an edge by an effect |
| 743 | |
| 744 | # no leftovers from previous test |
| 745 | self.env.assertFalse(self.monitor_containt_effect()) |
| 746 | |
| 747 | q = """MERGE (n:A {v:'red'}) |
| 748 | MERGE (n)-[e:R{v:'red'}]->(n) |
| 749 | ON MATCH SET e.v = 'green' |
| 750 | ON CREATE SET e.v = 'blue'""" |
| 751 | res = self.query_master_and_wait(q) |
| 752 | self.env.assertEquals(res.properties_set, 3) |
| 753 | self.env.assertEquals(res.relationships_created, 1) |
| 754 | |
| 755 | if(expect_effect): |
| 756 | self.wait_for_effect() |
| 757 | else: |
| 758 | self.wait_for_query() |
| 759 | |
| 760 | self.assert_graph_eq() |
| 761 | |
| 762 | # this time MERGE will match |
| 763 | q = """MERGE (n:A {v:'red'}) |
| 764 | MERGE (n)-[e:R{v:'blue'}]->(n) |
| 765 | ON MATCH SET e.v = 'green' |
| 766 | ON CREATE SET e.v = 'red'""" |
| 767 | res = self.query_master_and_wait(q) |
| 768 | self.env.assertEquals(res.properties_set, 1) |
| 769 | self.env.assertEquals(res.properties_removed, 1) |
| 770 | |
| 771 | if(expect_effect): |
| 772 | self.wait_for_effect() |
| 773 | else: |
| 774 | self.wait_for_query() |
| 775 | |
| 776 | self.assert_graph_eq() |
| 777 | |
| 778 | def test14_rerun_disable_effects(self): |
| 779 | # test replication works when effects are disabled |
no test coverage detected