def create_repository(username, repository_name, fork_policy, is_private, scm=None, name=None, description=None, language=None, has_issues=None, has_wiki=None, client=Client()): template = ('{+bitbucket_url}' + '/2.0/repositories/{username}/{repository_name}') url = expand( template, { 'bitbucket_url': client.get_bitbucket_url(), 'username': username, 'repository_name': repository_name }) payload = Repository.make_new_repository_payload( fork_policy, is_private, scm, name, description, language, has_issues, has_wiki) response = client.session.post(url, data=payload) Client.expect_ok(response) return client.convert_to_object(response.json())
def content(self, filename): if not self.files.get(filename): return url = self.files[filename]['links']['self']['href'] response = self.client.session.get(url) Client.expect_ok(response) return response.content
def test_expect_ok(self): a = FakeAuth() httpretty.register_uri(httpretty.GET, a.server_base_uri) session = a.start_http_session() response = session.get(a.server_base_uri) try: Client.expect_ok(response) except Exception: assert False
def content(self, filename): """ A method for obtaining the contents of a file on a snippet. If the filename is not on the snippet, no content is returned. """ if not self.files.get(filename): return url = self.files[filename]['links']['self']['href'] response = self.client.session.get(url) Client.expect_ok(response) return response.content
def remove_all_team_repo_access(self, user_name, team_name): """Remove all access of the user of the given username """ try: delete_access_url = entrypoint_url_delete_team_access_of_a_user( team=team_name, username=user_name) response = self.client.session.delete(url=delete_access_url) Client.expect_ok(response, 201) except Exception as e: self.logger.error(e) return False return True
def create_comment(content, snippet_id, username=None, client=Client()): if username is None: username = client.get_username() template = ('{+bitbucket_url}' + '/2.0/snippets/{username}/{snippet_id}' + '/comments') api_url = expand( template, { 'bitbucket_url': client.get_bitbucket_url(), 'username': username, 'snippet_id': snippet_id, }) payload = Comment.make_payload(content) response = client.session.post(api_url, data=payload) Client.expect_ok(response) return Comment(response.json(), client=client)
def create_snippet(files, is_private=None, title=None, scm=None, client=Client()): template = '{+bitbucket_url}/2.0/snippets{/username}' url = expand( template, { 'bitbucket_url': client.get_bitbucket_url(), 'username': client.get_username() }) payload = Snippet.make_payload(is_private, title, scm) response = client.session.post(url, data=payload, files=files) Client.expect_ok(response) return Snippet(response.json(), client=client)
def find_commit_in_repository_by_revision(username, repository_name, revision, client=Client()): template = ('{+bitbucket_url}' + '/2.0/repositories/{username}/{repository_name}' + '/commit/{revision}') url = expand( template, { 'bitbucket_url': client.get_bitbucket_url(), 'username': username, 'repository_name': repository_name, 'revision': revision }) response = client.session.get(url) if 404 == response.status_code: return Client.expect_ok(response) return Commit(response.json(), client=client)
def test_structured_exception(self): a = FakeAuth() client = Client(a) http_error_code = 400 url = a.server_base_uri + '/1.0/user' example = '''{"error": {"message": "Repository already exists."}}''' httpretty.register_uri(httpretty.GET, url, content_type='application/json', body=example, status=http_error_code) response = client.session.get(url) try: Client.expect_ok(response) except BadRequestError as b: assert b.url == url assert b.code == http_error_code assert b.error_message == "Repository already exists." assert list(b.error) else: assert False
def content(self, url): response = self.client.session.get(url) Client.expect_ok(response) return response.content