def test_normalize_page_data(self): """Testing ProxyPaginator.normalize_page_data""" proxy = ProxyPaginator( self.paginator, normalize_page_data_func=lambda data: list(reversed(data))) self.assertEqual(proxy.page_data, [3, 2, 1])
def test_normalize_page_data_on_next(self): """Testing ProxyPaginator.normalize_page_data on next""" proxy = ProxyPaginator( self.paginator, normalize_page_data_func=lambda data: list(reversed(data))) self.paginator.next_url = 'http://example.com/?page=3' data = proxy.next() self.assertEqual(data, [3, 2, 1])
def get_remote_repositories(self, owner=None, owner_type='user', filter_type=None, start=None, per_page=None): """Return a list of remote repositories matching the given criteria. This will look up each remote repository on GitHub that the given owner either owns or is a member of. If the plan is an organization plan, then `owner` is expected to be an organization name, and the resulting repositories with be ones either owned by that organization or that the organization is a member of, and can be accessed by the authenticated user. If the plan is a public or private plan, and `owner` is the current user, then that user's public and private repositories or ones they're a member of will be returned. Otherwise, `owner` is assumed to be another GitHub user, and their accessible repositories that they own or are a member of will be returned. `owner` defaults to the linked account's username, and `plan` defaults to 'public'. """ if owner is None and owner_type == 'user': owner = self.account.username assert owner url = self.get_api_url(self.account.hosting_url) paginator = self.client.api_get_remote_repositories( url, owner, owner_type, filter_type, start, per_page) return ProxyPaginator( paginator, normalize_page_data_func=lambda page_data: [ RemoteRepository(self, repository_id='%s/%s' % (repo['owner']['login'], repo['name']), name=repo['name'], owner=repo['owner']['login'], scm_type='Git', path=repo['clone_url'], mirror_path=repo['mirror_url'], extra_data=repo) for repo in page_data ])
def setUp(self): self.paginator = DummyAPIPaginator(client=None, url='http://example.com') self.proxy = ProxyPaginator(self.paginator)
def setUp(self): self.paginator = DummyAPIPaginator(None, 'http://example.com') self.proxy = ProxyPaginator(self.paginator)