Exemplo n.º 1
0
def main():
    args = parse_args()

    dispatch = {
        "organization": organization,
        "repository": repository,
        "user": user,
    }

    ghapi = api.Api(args.oauth2_token)

    try:
        dispatch[args.command](ghapi, **vars(args))
    except api.ApiCallException as e:
        if e.rate_limiting:
            leftpad_print(
                "Your API requests are being rate-limited. " +
                "Please include an OAuth2 token and read the following:",
                leftpad_length=0
            )
            leftpad_print(e.rate_limiting_url, leftpad_length=0)
        elif e.not_found:
            leftpad_print(
                "The requested resource was not found or private. " +
                "Please confirm that it exists.",
                leftpad_length=0
            )
        else:
            # Re-raise original exception
            raise
Exemplo n.º 2
0
    def paged_api_will_return(json_return_values, status_codes=None, oauth2_token=None):
        assert isinstance(json_return_values, list)
        assert isinstance(status_codes, list) or status_codes is None

        if status_codes is None:
            status_codes = [requests.codes.OK] * len(json_return_values)

        return_value = mock.MagicMock()

        # This is some weird mock black magic...
        type(return_value).status_code = mock.PropertyMock(
            side_effect=status_codes
        )
        return_value.json = mock.Mock(
            side_effect=json_return_values
        )
        type(return_value).ok = mock.PropertyMock(
            side_effect=[
                status_code == requests.codes.OK
                for status_code in status_codes
            ]
        )

        return api.Api(oauth2_token, requester=mock.MagicMock(
            return_value=return_value
        ))
Exemplo n.º 3
0
    def api_will_return(json_return_value,
                        status_code=requests.codes.OK,
                        oauth2_token=None):
        assert isinstance(json_return_value, dict)

        return_value = mock.MagicMock()

        return_value.status_code = status_code
        return_value.json = mock.MagicMock(return_value=json_return_value)
        return_value.ok = status_code == requests.codes.OK

        return api.Api(oauth2_token,
                       requester=mock.MagicMock(return_value=return_value))
Exemplo n.º 4
0
    def test_get_repository_contributors_bad_anon(self):
        anon = ""
        ghapi = api.Api()

        with self.assertRaises(ValueError):
            ghapi.get_repository_contributors("UNUSED", "UNUSED", anon=anon)
Exemplo n.º 5
0
    def test_get_organizations_public_repositories_bad_type(self):
        type = ""
        ghapi = api.Api()

        with self.assertRaises(ValueError):
            ghapi.get_organizations_public_repositories("UNUSED", type=type)
Exemplo n.º 6
0
    def test_get_users_public_repositories_bad_direction(self):
        direction = ""
        ghapi = api.Api()

        with self.assertRaises(ValueError):
            ghapi.get_users_public_repositories("UNUSED", direction=direction)
Exemplo n.º 7
0
    def test_get_users_public_repositories_bad_sort(self):
        sort = ""
        ghapi = api.Api()

        with self.assertRaises(ValueError):
            ghapi.get_users_public_repositories("UNUSED", sort=sort)
Exemplo n.º 8
0
    def test_get_users_public_repositories_bad_type(self):
        type_ = ""
        ghapi = api.Api()

        with self.assertRaises(ValueError):
            ghapi.get_users_public_repositories("UNUSED", type_=type_)
Exemplo n.º 9
0
    def test_get_organizations_public_repositories_bad_type(self):
        type_ = ""
        ghapi = api.Api()

        with pytest.raises(ValueError):
            ghapi.get_organizations_public_repositories("UNUSED", type_=type_)