Пример #1
0
    def test_dest(self):
        source = {
            "token": "abc",
            "endpoints": ["devices/list_members_devices"]
        }

        dropbox.Stream(source, OPTIONS)
        self.assertEqual(source["destination"], "dropbox_teams")
Пример #2
0
    def test_groups_list(self):
        res = [{
            "groups": [{
                "hello": "world"
            }, {
                "foo": "bar"
            }],
            "has_more": True,
            "cursor": "111"
        }, {
            "groups": [{
                "alice": "bob"
            }],
            "has_more": False
        }]

        reqs = []

        def urlopen(req):
            reqs.append(req)
            return io.BytesIO(json.dumps(res.pop(0)))

        urllib2.urlopen = urlopen
        d = dropbox.Stream({
            "token": "abc",
            "endpoints": ["groups/list"]
        }, OPTIONS)

        data = d.read()

        self.assertEqual(data, [{"hello": "world"}, {"foo": "bar"}])

        self.assertEqual(len(reqs), 1)

        expected = "https://api.dropboxapi.com/2/team/groups/list"
        self.assertEqual(reqs[0].get_full_url(), expected)
        self.assertEqual(reqs[0].get_data(), "{}")

        # read more
        data = d.read()

        self.assertEqual(data, [{"alice": "bob"}])

        self.assertEqual(len(reqs), 2)
        expected = "https://api.dropboxapi.com/2/team/groups/list/continue"
        self.assertEqual(reqs[1].get_full_url(), expected)
        self.assertEqual(reqs[1].get_data(), '{"cursor": "111"}')

        # # should be done
        data = d.read()
        self.assertEqual(data, None)
Пример #3
0
    def test_get_activity(self):
        reqs = []

        def urlopen(req):
            reqs.append(req)
            return io.BytesIO(
                json.dumps({
                    "adds": [1, 2, 3],
                    "edits": [4, 5, 6],
                }))

        urllib2.urlopen = urlopen
        d = dropbox.Stream(
            {
                "token": "abc",
                "endpoints": ["reports/get_activity"]
            }, OPTIONS)

        today = datetime.date.today()
        for i in range(OPTIONS["past_days"]):
            data = d.read()

            start = today - datetime.timedelta(OPTIONS["past_days"] - i)
            end = start + datetime.timedelta(1)

            self.assertEqual(
                reqs[i].get_data(),
                json.dumps({
                    "start_date": start.isoformat(),
                    "end_date": end.isoformat()
                }))
            self.assertEqual(data, [{"adds": [1, 2, 3], "edits": [4, 5, 6]}])

        expected = "https://api.dropboxapi.com/2/team/reports/get_activity"
        self.assertEqual(reqs[0].get_full_url(), expected)

        # should be done
        data = d.read()
        self.assertEqual(data, None)
Пример #4
0
    def test_get_events(self):
        ev1 = {
            "event_type": "member_join",
            "member_id": "dbmid:ijkl9012",
            "info_dict": {
                "initial_devices": "[]",
                "initial_apps": "[]"
            },
            "ip_address": "192.0.2.0",
            "user_id": 12345678,
            "name": "Jenny",
            "country": "US",
            "event_type_description": "Joined the team",
            "event_category": "members",
            "time": "2014-10-01T17:23:05+00:00",
            "email": "*****@*****.**"
        }

        ev2 = {
            "event_type": "login_success",
            "member_id": "dbmid:efgh5678",
            "info_dict": None,
            "ip_address": "192.0.2.0",
            "user_id": 87654321,
            "name": "John",
            "country": "US",
            "event_type_description": "Signed in",
            "event_category": "logins",
            "time": "2014-10-03T01:16:32+00:00",
            "email": "*****@*****.**"
        }

        ev3 = {
            "event_type": "device_link",
            "member_id": "dbmid:efgh5678",
            "info_dict": None,
            "ip_address": "192.0.2.0",
            "user_id": 87654321,
            "name": "John",
            "country": "US",
            "event_type_description": "Signed in",
            "event_category": "logins",
            "time": "2014-10-03T01:16:32+00:00",
            "email": "*****@*****.**"
        }
        res = [{
            "events": [ev1, ev2],
            "has_more": True,
            "cursor": "111"
        }, {
            "events": [ev3],
            "has_more": False
        }]

        reqs = []

        def urlopen(req):
            reqs.append(req)
            return io.BytesIO(json.dumps(res.pop(0)))

        urllib2.urlopen = urlopen
        d = dropbox.Stream({
            "token": "abc",
            "endpoints": ["log/get_events"]
        }, OPTIONS)

        data = d.read()

        self.assertEqual(data, [ev1, ev2])

        self.assertEqual(len(reqs), 1)

        expected = "https://api.dropboxapi.com/1/team/log/get_events"
        self.assertEqual(reqs[0].get_full_url(), expected)
        self.assertEqual(reqs[0].get_data(), '{}')

        # read more
        data = d.read()

        self.assertEqual(data, [ev3])

        self.assertEqual(len(reqs), 2)
        self.assertEqual(reqs[1].get_full_url(), expected)
        self.assertEqual(reqs[1].get_data(), '{"cursor": "111"}')

        # # should be done
        data = d.read()
        self.assertEqual(data, None)