예제 #1
0
    def test_get_raises_httperrors(self):
        self.mock_github_request('foo', '', response_status_code=401)
        self.mocker.replay()

        with self.assertRaises(HTTPError) as cm:
            github.get('foo', StubConfig())

        self.assertEquals('401 Client Error: Unauthorized', str(cm.exception))
예제 #2
0
    def get_member_repositories(self):
        repositories = github.get('user/repos', self.config)

        for organisation in github.get('user/orgs', self.config):
            org_name = organisation.get('login')
            repositories.extend(github.get('orgs/%s/repos' % org_name, self.config))

        return set(map(lambda repo: repo.get('full_name'), repositories))
예제 #3
0
    def test_get_with_pagination(self):
        page_one = ['foo']
        page_two = ['bar']
        page_three = ['baz']

        self.mock_github_request(
            'foo', json.dumps(page_one), response_headers={
                'link': generate_links('foo', next=2, last=3)})

        self.mock_github_request(
            'foo?page=2', json.dumps(page_two), response_headers={
                'link': generate_links('foo', first=1, prev=1, next=3, last=3)})

        self.mock_github_request(
            'foo?page=3', json.dumps(page_three), response_headers={
                'link': generate_links('foo', first=1, prev=2)})

        self.mocker.replay()
        self.assertEquals(['foo', 'bar', 'baz'], github.get('foo', StubConfig()))
예제 #4
0
 def get_watching_repositories(self):
     response = github.get('user/subscriptions', self.config)
     return set(map(lambda repo: repo.get('full_name'), response))