class RankTest(unittest.TestCase): rank = randint(0, 99) def setUp(self): self.app = app.test_client() self.handler = Handler() self.user = User(self.handler) self.issue_id = str(uuid.uuid4()) def tearDown(self): self.handler.clean_up() def parameters(self): return dict( user_id=self.user.node_id, node_id=self.node.node_id, rank=self.rank, issue_id=self.issue_id, ) def find_link(self): link = graph.links.find(self.user.node, self.node.node, "RANKS") self.handler.add_link(link) return link def check_rank(self): link = self.find_link() assert link, "failed to find link" self.assertEqual(link.properties["rank"], self.rank) def check_status_code(self, code): assert code == 200, "status code not 200" def check_response(self, expected, data): response = safe_json_loads(data) error = "expecting: {0}, actual: {1}".format(expected, response) assert response == expected, error def runner(self): rv = self.app.post(self.endpoint, data=self.data) expected = dict(success=True) self.check_status_code(rv.status_code) self.check_response(expected, rv.data) self.check_rank()
class MapTest(unittest.TestCase): strength = randint(0, 99) def setUp(self): self.app = app.test_client() self.handler = Handler() self.user = User(self.handler) def tearDown(self): args = dict(start_node=self.map_node, rel_type="MAPS", bidirectional=True) for link in graph.graph.match(**args): self.handler.add_link(link) self.handler.clean_up() def postSetUp(self): self.data = self.parameters() self.map_id = "{0}-{1}".format(self.src.node_id, self.dst.node_id) # make sure each node is ranked by the user Rank(self.handler, self.user.node, self.src.node, 1) Rank(self.handler, self.user.node, self.dst.node, 1) def parameters(self): return dict(user_id=self.user.node_id, strength=self.strength, src_id=self.src.node_id, dst_id=self.dst.node_id) def check_status_code(self, code): self.assertEqual(code, 200, msg="status code not 200") def check_map(self): self.map_node = graph.nodes.find("Map", self.map_id) self.handler.add_node(self.map_node) self.assertIsNotNone(self.map_node, msg="Map node was not created")