Пример #1
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)
Пример #2
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)
Пример #3
0
    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)
Пример #4
0
    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")
Пример #5
0
    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)
Пример #6
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)
Пример #7
0
    def test_update_category_id_uuid(self):
        "There must be impossible to update category id and uuid"
        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("updatePoint.php", gt.make_request(
            ("auth_token", self.token),
            ("name", "test point 1"),

            ("extended_data", [("category_id", "2"), ("uuid", "qweasdzxc")])
            ));

        new_point = gt.Point.from_xml(gt.get_content(self.load_points_1()))[0]
        
        self.assertEqual(point.uuid, new_point.uuid)
        self.assertEqual(point.category_id, new_point.category_id)
Пример #8
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)
Пример #9
0
    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)
Пример #10
0
    def test_update_category_id_uuid(self):
        "There must be impossible to update category id and uuid"
        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(
            "updatePoint.php",
            gt.make_request(("auth_token", self.token),
                            ("name", "test point 1"),
                            ("extended_data", [("category_id", "2"),
                                               ("uuid", "qweasdzxc")])))

        new_point = gt.Point.from_xml(gt.get_content(self.load_points_1()))[0]

        self.assertEqual(point.uuid, new_point.uuid)
        self.assertEqual(point.category_id, new_point.category_id)
Пример #11
0
    def test_update_point_by_uuid_and_name(self):
        self.sign_in()

        res = gt.request("addPoint.php", self.make_test_point_request_1("1"))
        gt.request("addPoint.php", self.make_test_point_request_1("1"))
        gt.request("addPoint.php", self.make_test_point_request_1("2"))
        point = gt.Point.from_xml(gt.get_content(res))[0]

        res = gt.request(
            "updatePoint.php",
            gt.make_request(("auth_token", self.token), ("uuid", point.uuid),
                            ("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), 3)

        names = [point.name for point in points]
        self.assertTrue("test point 2" in names)
        self.assertTrue("updated point 1" in names)
        self.assertTrue("test point 1" in names)
Пример #12
0
    def test_extended_data(self):
        self.sign_in()
        req = gt.make_request(("auth_token", self.token), ("category_id", "1"),
                              ("title", "test point"), ("latitude", "64"),
                              ("longitude", "31"),
                              ("extended_data", [("test1", "value1"),
                                                 ("test2", "value2")]))

        gt.request("addPoint.php", req)
        res = self.load_points_1()
        point = gt.Point.from_xml(gt.get_content(res))[0]
        self.assertEqual(point.extended_data["test1"], "value1")
        self.assertEqual(point.extended_data["test2"], "value2")
Пример #13
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)
Пример #14
0
    def test_update_point_by_uuid_and_name(self):
        self.sign_in()

        res = gt.request("addPoint.php", self.make_test_point_request_1("1"))
        gt.request("addPoint.php", self.make_test_point_request_1("1"))
        gt.request("addPoint.php", self.make_test_point_request_1("2"))
        point = gt.Point.from_xml(gt.get_content(res))[0]
        
        res = gt.request("updatePoint.php", gt.make_request(
            ("auth_token", self.token),
            ("uuid", point.uuid),
            ("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), 3)

        names = [point.name for point in points]
        self.assertTrue("test point 2" in names)
        self.assertTrue("updated point 1" in names)
        self.assertTrue("test point 1" in names)
Пример #15
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)
Пример #16
0
    def test_load_by_pattern(self):
        self.sign_in()

        gt.request("addPoint.php", gt.make_request(
            ("auth_token", self.token),
            ("category_id", "1"),
            ("title", "test point 2"),
            ("description", "test description "),
            ("link", "http://example.com"),
            ("latitude", "64"),
            ("longitude", "31"),
            ("altitude", "0"),
            ("time", "01 10 2014 17:33:47.630")
            ))
        gt.request("addPoint.php", gt.make_request(
            ("auth_token", self.token),
            ("category_id", "1"),
            ("title", "tes point 1"),
            ("description", "test description "),
            ("link", "http://example.com"),
            ("latitude", "64"),
            ("longitude", "31"),
            ("altitude", "0"),
            ("time", "01 10 2014 17:33:47.630")
            ))

        gt.request("addPoint.php", gt.make_request(
            ("auth_token", self.token),
            ("category_id", "1"),
            ("title", "tes potesthhhint 1"),
            ("description", "test description "),
            ("link", "http://example.com"),
            ("latitude", "64"),
            ("longitude", "31"),
            ("altitude", "0"),
            ("time", "01 10 2014 17:33:47.630")
            ))

        res = gt.request("loadPoints.php", gt.make_request(
            ("auth_token", self.token),
            ("category_id", "1"),
            ("pattern", "test"),
            ("space", "private")
            ))

        points = gt.Point.from_xml(gt.get_content(res))
        self.assertEqual(len(points), 2)
Пример #17
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)
Пример #18
0
    def test_extended_data(self):
        self.sign_in()
        req = gt.make_request(
                        ("auth_token", self.token),
                        ("category_id", "1"),
                        ("title", "test point"),
                        ("latitude", "64"),
                        ("longitude", "31"),
                        ("extended_data", [
                            ("test1", "value1"),
                            ("test2", "value2")
                        ]))

        gt.request("addPoint.php", req)
        res = self.load_points_1()
        point = gt.Point.from_xml(gt.get_content(res))[0]
        self.assertEqual(point.extended_data["test1"], "value1")
        self.assertEqual(point.extended_data["test2"], "value2")
Пример #19
0
    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")
Пример #20
0
    def test_load_by_pattern(self):
        self.sign_in()

        gt.request(
            "addPoint.php",
            gt.make_request(("auth_token", self.token), ("category_id", "1"),
                            ("title", "test point 2"),
                            ("description", "test description "),
                            ("link", "http://example.com"), ("latitude", "64"),
                            ("longitude", "31"), ("altitude", "0"),
                            ("time", "01 10 2014 17:33:47.630")))
        gt.request(
            "addPoint.php",
            gt.make_request(("auth_token", self.token), ("category_id", "1"),
                            ("title", "tes point 1"),
                            ("description", "test description "),
                            ("link", "http://example.com"), ("latitude", "64"),
                            ("longitude", "31"), ("altitude", "0"),
                            ("time", "01 10 2014 17:33:47.630")))

        gt.request(
            "addPoint.php",
            gt.make_request(("auth_token", self.token), ("category_id", "1"),
                            ("title", "tes potesthhhint 1"),
                            ("description", "test description "),
                            ("link", "http://example.com"), ("latitude", "64"),
                            ("longitude", "31"), ("altitude", "0"),
                            ("time", "01 10 2014 17:33:47.630")))

        res = gt.request(
            "loadPoints.php",
            gt.make_request(("auth_token", self.token), ("category_id", "1"),
                            ("pattern", "test"), ("space", "private")))

        points = gt.Point.from_xml(gt.get_content(res))
        self.assertEqual(len(points), 2)