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
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 ))
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))
def test_get_repository_contributors_bad_anon(self): anon = "" ghapi = api.Api() with self.assertRaises(ValueError): ghapi.get_repository_contributors("UNUSED", "UNUSED", anon=anon)
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)
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)
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)
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_)
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_)