def test_login(self): self.assertTrue(True) self.sign_in() res = gt.request("userInfo.php", gt.make_request(("auth_token", self.token))) self.assertEqual(gt.get_code(res), 0)
def test_update_extended_data(self): self.sign_in() res = gt.request( "addPoint.php", self.make_test_point_request_ex([("ex1", "data1"), ("ex2", "data2")])) point = gt.Point.from_xml(gt.get_content(res))[0] res = gt.request( "updatePoint.php", gt.make_request(("auth_token", self.token), ("name", "test point"), ("extended_data", [("ex3", "data3"), ("ex4", "data4")]))) self.assertEqual(gt.get_code(res), 0) xml = gt.get_content(self.load_points_1()) new_point = gt.Point.from_xml(xml)[0] self.assertEqual(new_point.name, "test point") self.assertEqual(point.uuid, new_point.uuid) self.assertFalse("ex1" in new_point.extended_data) self.assertFalse("ex2" in new_point.extended_data) self.assertTrue("ex3" in new_point.extended_data) self.assertTrue("ex4" in new_point.extended_data)
def test_update_by_category(self): "Issue #26: If point owned by category channel but doesn't have 'category_id' field, it can't be updated" self.sign_in() gt.request("addPoint.php", self.make_test_point_request_1("1")) gt.request("addPoint.php", self.make_test_point_request_1("2")) new_desc = '{"description":"test", "uuid":"testuuid"}' gt.raw_query("UPDATE tag SET description='" + new_desc + "' WHERE label='test point 2';") res = gt.request( "updatePoint.php", gt.make_request( ("auth_token", self.token), ("category_id", "1"), ("title", "new title"), )) self.assertEqual(gt.get_code(res), 0, "Response: " + gt.to_string(res)) points = gt.Point.from_xml(gt.get_content(self.load_points_1())) self.assertEqual(len(points), 2) self.assertEqual(points[0].name, "new title") self.assertEqual(points[1].name, "new title")
def test_delete_by_category(self): "Issue #26: If point owned by category channel but doesn't have 'category_id' field, it can't be deleted" self.sign_in() # Add channel without description to check safe_cast_to_json safety gt.raw_query( "insert into channel (name, description, owner_id) values ('empty-channel', 'no json', 2);" ) gt.request("addPoint.php", self.make_test_point_request_1("1")) # Check second point will not be deleted gt.request("addPoint.php", self.make_test_point_request_1("2")) new_desc = '{"description":"test", "uuid":"testuuid"}' gt.raw_query("UPDATE tag SET description='" + new_desc + "' WHERE label='test point 1';") res = gt.request( "deletePoint.php", gt.make_request( ("auth_token", self.token), ("category_id", "1"), ("uuid", "testuuid"), ("name", "test point 1"), )) self.assertEqual(gt.get_code(res), 0, "Response: " + gt.to_string(res)) points = gt.Point.from_xml(gt.get_content(self.load_points_1())) self.assertEqual(len(points), 1)
def test_delete_by_category(self): "Issue #26: If point owned by category channel but doesn't have 'category_id' field, it can't be deleted" self.sign_in() # Add channel without description to check safe_cast_to_json safety gt.raw_query("insert into channel (name, description, owner_id) values ('empty-channel', 'no json', 2);"); gt.request("addPoint.php", self.make_test_point_request_1("1")) # Check second point will not be deleted gt.request("addPoint.php", self.make_test_point_request_1("2")) new_desc = '{"description":"test", "uuid":"testuuid"}' gt.raw_query("UPDATE tag SET description='" + new_desc + "' WHERE label='test point 1';"); res = gt.request("deletePoint.php", gt.make_request( ("auth_token", self.token), ("category_id", "1"), ("uuid", "testuuid"), ("name", "test point 1"), )); self.assertEqual(gt.get_code(res), 0, "Response: " + gt.to_string(res)) points = gt.Point.from_xml(gt.get_content(self.load_points_1())) self.assertEqual(len(points), 1)
def test_create_point(self): self.sign_in() res = gt.request("addPoint.php", self.make_test_point_request_1("1")) self.assertEqual(gt.get_code(res), 0) point = gt.Point.from_xml(gt.get_content(res))[0] self.assert_test_point_1(point, "1") self.assertTrue(point.access)
def create_point(self, track_id, lat, lon, name): req = gt.make_request( ("auth_token", self.token), ("channel", track_id), ("title", name), ("latitude", str(lat)), ("longitude", str(lon)), ("altitude", "0"), ("time", "01 10 2014 17:33:47.630")) res = gt.request("addPoint.php", req) self.assertEqual(gt.get_code(res), 0)
def test_load_point(self): self.sign_in() gt.request("addPoint.php", self.make_test_point_request_1("1")) res = self.load_points_1() self.assertEqual(gt.get_code(res), 0) point = gt.Point.from_xml(gt.get_content(res))[0] self.assert_test_point_1(point, "1") self.assertTrue(point.access)
def create_point(self, track_id, lat, lon, name): req = gt.make_request( ("auth_token", self.token), ("channel", track_id), ("title", name), ("latitude", str(lat)), ("longitude", str(lon)), ("altitude", "0"), ("time", "01 10 2014 17:33:47.630") ) res = gt.request("addPoint.php", req) self.assertEqual(gt.get_code(res), 0)
def test_delete_by_uuid(self): self.sign_in() res = gt.request("addPoint.php", self.make_test_point_request_1("1")) point = gt.Point.from_xml(gt.get_content(res))[0] res = gt.request("deletePoint.php", gt.make_request( ("auth_token", self.token), ("category_id", "1"), ("uuid", point.uuid), )); self.assertEqual(gt.get_code(res), 0) points = gt.Point.from_xml(gt.get_content(self.load_points_1())) self.assertEqual(len(points), 0)
def test_create_minimal_point(self): self.sign_in() res = gt.request("addPoint.php", gt.make_request( ("auth_token", self.token), ("category_id", "1"), ("title", "test point"), ("latitude", "64"), ("longitude", "31"), )) self.assertEqual(gt.get_code(res), 0) point = gt.Point.from_xml(gt.get_content(res))[0] self.assertEqual(point.description, None) self.assertAlmostEqual(point.altitude, 0)
def test_delete_by_uuid(self): self.sign_in() res = gt.request("addPoint.php", self.make_test_point_request_1("1")) point = gt.Point.from_xml(gt.get_content(res))[0] res = gt.request( "deletePoint.php", gt.make_request( ("auth_token", self.token), ("category_id", "1"), ("uuid", point.uuid), )) self.assertEqual(gt.get_code(res), 0) points = gt.Point.from_xml(gt.get_content(self.load_points_1())) self.assertEqual(len(points), 0)
def test_create_minimal_point(self): self.sign_in() res = gt.request( "addPoint.php", gt.make_request( ("auth_token", self.token), ("category_id", "1"), ("title", "test point"), ("latitude", "64"), ("longitude", "31"), )) self.assertEqual(gt.get_code(res), 0) point = gt.Point.from_xml(gt.get_content(res))[0] self.assertEqual(point.description, None) self.assertAlmostEqual(point.altitude, 0)
def test_update_point_by_title(self): self.sign_in() gt.request("addPoint.php", self.make_test_point_request_1("1")) gt.request("addPoint.php", self.make_test_point_request_1("2")) res = gt.request( "updatePoint.php", gt.make_request(("auth_token", self.token), ("name", "test point 1"), ("title", "updated point 1"))) self.assertEqual(gt.get_code(res), 0) points = gt.Point.from_xml(gt.get_content(self.load_points_1())) self.assertEqual(len(points), 2) names = [point.name for point in points] self.assertTrue("test point 2" in names) self.assertTrue("updated point 1" in names)
def test_update_point_by_title(self): self.sign_in() gt.request("addPoint.php", self.make_test_point_request_1("1")) gt.request("addPoint.php", self.make_test_point_request_1("2")) res = gt.request("updatePoint.php", gt.make_request( ("auth_token", self.token), ("name", "test point 1"), ("title", "updated point 1") )); self.assertEqual(gt.get_code(res), 0) points = gt.Point.from_xml(gt.get_content(self.load_points_1())) self.assertEqual(len(points), 2) names = [point.name for point in points] self.assertTrue("test point 2" in names) self.assertTrue("updated point 1" in names)
def test_update_by_category(self): "Issue #26: If point owned by category channel but doesn't have 'category_id' field, it can't be updated" self.sign_in() gt.request("addPoint.php", self.make_test_point_request_1("1")) gt.request("addPoint.php", self.make_test_point_request_1("2")) new_desc = '{"description":"test", "uuid":"testuuid"}' gt.raw_query("UPDATE tag SET description='" + new_desc + "' WHERE label='test point 2';"); res = gt.request("updatePoint.php", gt.make_request( ("auth_token", self.token), ("category_id", "1"), ("title", "new title"), )); self.assertEqual(gt.get_code(res), 0, "Response: " + gt.to_string(res)) points = gt.Point.from_xml(gt.get_content(self.load_points_1())) self.assertEqual(len(points), 2) self.assertEqual(points[0].name, "new title") self.assertEqual(points[1].name, "new title")
def test_update_extended_data(self): self.sign_in() res = gt.request("addPoint.php", self.make_test_point_request_ex([("ex1", "data1"), ("ex2", "data2")])) point = gt.Point.from_xml(gt.get_content(res))[0] res = gt.request("updatePoint.php", gt.make_request( ("auth_token", self.token), ("name", "test point"), ("extended_data", [("ex3", "data3"), ("ex4", "data4")]) )); self.assertEqual(gt.get_code(res), 0) xml = gt.get_content(self.load_points_1()) new_point = gt.Point.from_xml(xml)[0] self.assertEqual(new_point.name, "test point") self.assertEqual(point.uuid, new_point.uuid) self.assertFalse("ex1" in new_point.extended_data) self.assertFalse("ex2" in new_point.extended_data) self.assertTrue("ex3" in new_point.extended_data) self.assertTrue("ex4" in new_point.extended_data)
def assert_code(self, res, expected_code): self.assertEqual(gt.get_code(res), expected_code)
def test_login(self): self.assertTrue(True) self.sign_in(); res = gt.request("userInfo.php", gt.make_request(("auth_token", self.token))) self.assertEqual(gt.get_code(res), 0)