示例#1
0
    def do_test_update_track(self, fields):
        gt.do_get("test/resetDatabase.php");
        self.sign_in()

        def_values = {
                "description" : "test description 1",
                "url" : "http://example.com/1",
                "name" : "test track 1",

                "category_id" : "1",
                "lang" : "ru_RU",
                "photoUrl" : "http://example.com/1.png"
                }
        
        values = {
                "description" : "test track desc 1",
                "url" : "http://example.com/11",
                "name" : "test track 2",

                "category_id" : "1",
                "lang" : "en_GB",
                "photoUrl" : "http://example.com/2.png"
                }

        res = gt.request("createTrack.php", gt.make_request(
                ("auth_token", self.token),
                ("name", "test track 1"),

                ("description", "test description 1"),
                ("url", "http://example.com/1"),
                ("category_id", "1"),
                ("lang", "ru_RU"),
                ("photoUrl", "http://example.com/1.png")))

        track_id = res.find(".//track_id").text

        parm = []
        parm.append( ("auth_token", self.token) )
        parm.append( ("track_id", track_id) )
        
        for field in fields:
            parm.append( (field, values[field]) )

        res = gt.request("updateTrack.php", gt.make_request(*parm))
        self.assert_code(res, 0)

        res = self.load_private_tracks()

        for key in values:
            if (key in fields):
                ex_value = values[key]
            else:
                ex_value = def_values[key]

            if key == "name":
                key = "hname"
            
            self.assertEqual(res.find(".//tracks/track/" + key).text, ex_value, "For key " + key + " " + str(fields))
示例#2
0
    def do_test_update_track(self, fields):
        gt.do_get("test/resetDatabase.php")
        self.sign_in()

        def_values = {
            "description": "test description 1",
            "url": "http://example.com/1",
            "name": "test track 1",
            "category_id": "1",
            "lang": "ru_RU",
            "photoUrl": "http://example.com/1.png"
        }

        values = {
            "description": "test track desc 1",
            "url": "http://example.com/11",
            "name": "test track 2",
            "category_id": "1",
            "lang": "en_GB",
            "photoUrl": "http://example.com/2.png"
        }

        res = gt.request(
            "createTrack.php",
            gt.make_request(
                ("auth_token", self.token), ("name", "test track 1"),
                ("description", "test description 1"),
                ("url", "http://example.com/1"), ("category_id", "1"),
                ("lang", "ru_RU"), ("photoUrl", "http://example.com/1.png")))

        track_id = res.find(".//track_id").text

        parm = []
        parm.append(("auth_token", self.token))
        parm.append(("track_id", track_id))

        for field in fields:
            parm.append((field, values[field]))

        res = gt.request("updateTrack.php", gt.make_request(*parm))
        self.assert_code(res, 0)

        res = self.load_private_tracks()

        for key in values:
            if (key in fields):
                ex_value = values[key]
            else:
                ex_value = def_values[key]

            if key == "name":
                key = "hname"

            self.assertEqual(
                res.find(".//tracks/track/" + key).text, ex_value,
                "For key " + key + " " + str(fields))
示例#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_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)
示例#5
0
    def subscribe_track(self, key, token=None, code=0):
        if (token is None):
            token = self.token

        res = gt.request("sharing/subscribeTrack.php",
                         gt.make_request(("auth_token", token), ("key", key)))
        self.assert_code(res, code)
示例#6
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)
示例#7
0
 def load_points_1(self):
     res = gt.request("loadPoints.php", gt.make_request(
         ("auth_token", self.token),
         ("category_id", "1"),
         ("space", "private")
         ))
     return res
示例#8
0
    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)
示例#9
0
 def load_points(self, lat, lon, radius, category_id):
     return gt.request(
         "loadPoints.php",
         gt.make_request(("auth_token", self.token), ("latitude", str(lat)),
                         ("longitude", str(lon)), ("radius", str(radius)),
                         ("category_id", str(category_id)),
                         ("space", "private")))
示例#10
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")
示例#11
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)
示例#12
0
    def unsubscribe_track(self, track_id, token=None, code=0):
        if (token is None):
            token = self.token

        res = gt.request(
            "sharing/unsubscribeTrack.php",
            gt.make_request(("auth_token", token), ("track_id", track_id)))
        self.assert_code(res, code)
示例#13
0
    def load_track(self, track_id, token = None):
        if (token is None):
            token = self.token

        return gt.request("loadTrack.php", gt.make_request(
            ("auth_token", token),
            ("track_id", track_id),
            ))
示例#14
0
 def make_test_point_request_ex(self, extended_data):
     return gt.make_request(
         ("auth_token", self.token), ("category_id", "1"),
         ("title", "test point"), ("description", "test description"),
         ("link", "http://example.com"), ("latitude", "64"),
         ("longitude", "31"), ("altitude", "0"),
         ("time", "01 10 2014 17:33:47.630"),
         ("extended_data", extended_data))
示例#15
0
    def load_track_by_key(self, key, token = None):
        if (token is None):
            token = self.token

        return gt.request("loadTrack.php", gt.make_request(
            ("auth_token", token),
            ("key", key),
            ))
示例#16
0
 def make_test_track_request(self, suffix):
     return gt.make_request(
             ("auth_token", self.token),
             ("name", "test track " + suffix),
             ("description", "test description " + suffix),
             ("url", "http://example.com"),
             ("category_id", "1"),
             ("lang", "ru_RU"))
示例#17
0
    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)
示例#18
0
    def load_private_tracks(self, token = None):
        if (token is None):
            token = self.token

        return gt.request("loadTracks.php", gt.make_request(
            ("auth_token", token),
            ("space", "private"),
            ))
示例#19
0
 def load_points(self, lat, lon, radius, category_id):
     return gt.request("loadPoints.php", gt.make_request(
         ("auth_token", self.token),
         ("latitude", str(lat)),
         ("longitude", str(lon)),
         ("radius", str(radius)),
         ("category_id", str(category_id)),
         ("space", "private")
         ))
示例#20
0
    def subscribe_track(self, key, token=None, code=0):
        if (token is None):
            token = self.token

        res = gt.request("sharing/subscribeTrack.php", gt.make_request(
            ("auth_token", token),
            ("key", key)
            ))
        self.assert_code(res, code)
示例#21
0
    def unsubscribe_track(self, track_id, token=None, code=0):
        if (token is None):
            token = self.token

        res = gt.request("sharing/unsubscribeTrack.php", gt.make_request(
            ("auth_token", token),
            ("track_id", track_id)
            ))
        self.assert_code(res, code)
示例#22
0
    def load_track_by_key(self, key, token=None):
        if (token is None):
            token = self.token

        return gt.request(
            "loadTrack.php",
            gt.make_request(
                ("auth_token", token),
                ("key", key),
            ))
示例#23
0
    def load_track(self, track_id, token=None):
        if (token is None):
            token = self.token

        return gt.request(
            "loadTrack.php",
            gt.make_request(
                ("auth_token", token),
                ("track_id", track_id),
            ))
示例#24
0
    def load_private_tracks(self, token=None):
        if (token is None):
            token = self.token

        return gt.request(
            "loadTracks.php",
            gt.make_request(
                ("auth_token", token),
                ("space", "private"),
            ))
示例#25
0
    def test_delete_not_owned_track(self):
        self.sign_in()

        track_id = self.create_track("1")

        self.sign_in()
        res = gt.request(
            "deleteTrack.php",
            gt.make_request(("auth_token", self.token), ("name", track_id)))

        self.assert_code(res, 1)
示例#26
0
    def test_delete_not_owned_track(self):
        self.sign_in()

        track_id = self.create_track("1")

        self.sign_in()
        res = gt.request("deleteTrack.php", gt.make_request(
            ("auth_token", self.token),
            ("name", track_id)))

        self.assert_code(res, 1)
示例#27
0
 def make_test_point_request_1(self, suffix):
     return gt.make_request(
         ("auth_token", self.token),
         ("category_id", "1"),
         ("title", "test point " + suffix),
         ("description", "test description " + suffix),
         ("link", "http://example.com"),
         ("latitude", "64"),
         ("longitude", "31"),
         ("altitude", "0"),
         ("time", "01 10 2014 17:33:47.630")
         )
示例#28
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")
示例#29
0
    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)
示例#30
0
    def test_create_track_photo_url(self):
        self.sign_in()
        res = gt.request("createTrack.php", gt.make_request(
                ("auth_token", self.token),
                ("name", "test track 1"),
                ("description", "test description 1"),
                ("url", "http://example.com"),
                ("category_id", "1"),
                ("lang", "ru_RU"),
                ("photoUrl", "http://example.com/1.png")))
        self.assert_code(res, 0)

        res = self.load_private_tracks()
        self.assertEqual(res.find(".//tracks/track/photoUrl").text, "http://example.com/1.png")
示例#31
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)
示例#32
0
    def test_create_track_with_points(self):
        self.sign_in()

        track_id = self.create_track("1")
        res = gt.request("addPoint.php", gt.make_request(
            ("auth_token", self.token),
            ("channel", track_id),
            ("title", "test point"),
            ("description", "test description"),
            ("link", "http://example.com"),
            ("latitude", "64"),
            ("longitude", "31"),
            ("altitude", "0"),
            ))
示例#33
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)
示例#34
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)
示例#35
0
    def test_create_track_photo_url(self):
        self.sign_in()
        res = gt.request(
            "createTrack.php",
            gt.make_request(
                ("auth_token", self.token), ("name", "test track 1"),
                ("description", "test description 1"),
                ("url", "http://example.com"), ("category_id", "1"),
                ("lang", "ru_RU"), ("photoUrl", "http://example.com/1.png")))
        self.assert_code(res, 0)

        res = self.load_private_tracks()
        self.assertEqual(
            res.find(".//tracks/track/photoUrl").text,
            "http://example.com/1.png")
示例#36
0
    def share_track(self, track_id, limit, token=None, code=0):
        if (token is None):
            token = self.token

        res = gt.request(
            "sharing/shareTrack.php",
            gt.make_request(("auth_token", token), ("track_id", track_id),
                            ("limit", str(limit))))
        self.assert_code(res, code)

        # code equals result code
        if (code == 0):
            key = res.find(".//key").text
        else:
            key = None
        return key
示例#37
0
    def share_track(self, track_id, limit, token=None, code=0):
        if (token is None):
            token = self.token

        res = gt.request("sharing/shareTrack.php", gt.make_request(
            ("auth_token", token),
            ("track_id", track_id),
            ("limit", str(limit))))
        self.assert_code(res, code)

        # code equals result code
        if (code == 0):
            key = res.find(".//key").text
        else:
            key = None
        return key
示例#38
0
    def test_create_track_with_points(self):
        self.sign_in()

        track_id = self.create_track("1")
        res = gt.request(
            "addPoint.php",
            gt.make_request(
                ("auth_token", self.token),
                ("channel", track_id),
                ("title", "test point"),
                ("description", "test description"),
                ("link", "http://example.com"),
                ("latitude", "64"),
                ("longitude", "31"),
                ("altitude", "0"),
            ))
示例#39
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)
示例#40
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)
示例#41
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)
示例#42
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)
示例#43
0
    def test_delete_track(self):
        self.sign_in()

        # create track
        track_id = self.create_track("1")

        res = self.load_private_tracks()
        self.assert_track_count(res, 1)

        # delete track
        res = gt.request(
            "deleteTrack.php",
            gt.make_request(("auth_token", self.token), ("name", track_id)))

        self.assert_code(res, 0)

        res = self.load_private_tracks()
        self.assert_track_count(res, 0)
示例#44
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)
示例#45
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")
示例#46
0
    def test_delete_track(self):
        self.sign_in()

        # create track
        track_id = self.create_track("1")

        res = self.load_private_tracks()
        self.assert_track_count(res, 1)

        # delete track
        res = gt.request("deleteTrack.php", gt.make_request(
                ("auth_token", self.token),
                ("name", track_id)))

        self.assert_code(res, 0)

        res = self.load_private_tracks()
        self.assert_track_count(res, 0)
示例#47
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)
示例#48
0
    def test_create_track_minimal_attrs(self):
        self.sign_in()

        res = gt.request("createTrack.php", gt.make_request(
            ("auth_token", self.token),
            ("name", "test track 1"),
            ))

        self.assert_code(res, 0)

        res = self.load_private_tracks()
        self.assert_track_count(res, 1)

        self.assertEqual(res.find(".//tracks/track/hname").text, "test track 1")

        self.assertIsNotNone(res.find(".//tracks/track/description"))
        self.assertIsNone(res.find(".//tracks/track/description").text)

        self.assertIsNone(res.find(".//tracks/track/url"))
        self.assertIsNotNone(res.find(".//tracks/track/lang"))
        self.assertEqual(res.find(".//tracks/track/category_id").text, "1")
示例#49
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")
示例#50
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)
示例#51
0
    def test_create_track_minimal_attrs(self):
        self.sign_in()

        res = gt.request(
            "createTrack.php",
            gt.make_request(
                ("auth_token", self.token),
                ("name", "test track 1"),
            ))

        self.assert_code(res, 0)

        res = self.load_private_tracks()
        self.assert_track_count(res, 1)

        self.assertEqual(
            res.find(".//tracks/track/hname").text, "test track 1")

        self.assertIsNotNone(res.find(".//tracks/track/description"))
        self.assertIsNone(res.find(".//tracks/track/description").text)

        self.assertIsNone(res.find(".//tracks/track/url"))
        self.assertIsNotNone(res.find(".//tracks/track/lang"))
        self.assertEqual(res.find(".//tracks/track/category_id").text, "1")
示例#52
0
 def make_test_track_request(self, suffix):
     return gt.make_request(
         ("auth_token", self.token), ("name", "test track " + suffix),
         ("description", "test description " + suffix),
         ("url", "http://example.com"), ("category_id", "1"),
         ("lang", "ru_RU"))
示例#53
0
 def load_points_1(self):
     res = gt.request(
         "loadPoints.php",
         gt.make_request(("auth_token", self.token), ("category_id", "1"),
                         ("space", "private")))
     return res
示例#54
0
 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)