kopia lustrzana https://github.com/Langenfeld/py-gitea
commit
6a4c1f6f43
|
@ -654,6 +654,16 @@ class Repository(ApiObject):
|
||||||
data.update({"sha": file_sha, "content": content})
|
data.update({"sha": file_sha, "content": content})
|
||||||
return self.gitea.requests_put(url, data)
|
return self.gitea.requests_put(url, data)
|
||||||
|
|
||||||
|
def delete_file(
|
||||||
|
self, file_path: str, file_sha: str, data: dict = None
|
||||||
|
):
|
||||||
|
"""https://try.gitea.io/api/swagger#/repository/repoCreateFile"""
|
||||||
|
if not data:
|
||||||
|
data = {}
|
||||||
|
url = f"/repos/{self.owner.username}/{self.name}/contents/{file_path}"
|
||||||
|
data.update({"sha": file_sha})
|
||||||
|
return self.gitea.requests_delete(url, data)
|
||||||
|
|
||||||
def delete(self):
|
def delete(self):
|
||||||
self.gitea.requests_delete(
|
self.gitea.requests_delete(
|
||||||
Repository.REPO_DELETE % (self.owner.username, self.name)
|
Repository.REPO_DELETE % (self.owner.username, self.name)
|
||||||
|
|
|
@ -144,9 +144,13 @@ class Gitea:
|
||||||
self.logger.error(message)
|
self.logger.error(message)
|
||||||
raise Exception(message)
|
raise Exception(message)
|
||||||
|
|
||||||
def requests_delete(self, endpoint: str):
|
def requests_delete(self, endpoint: str, data: dict = None):
|
||||||
request = self.requests.delete(self.__get_url(endpoint), headers=self.headers)
|
if not data:
|
||||||
if request.status_code not in [204]:
|
data = {}
|
||||||
|
request = self.requests.delete(
|
||||||
|
self.__get_url(endpoint), headers=self.headers, data=json.dumps(data)
|
||||||
|
)
|
||||||
|
if request.status_code not in [200, 204]:
|
||||||
message = f"Received status code: {request.status_code} ({request.url})"
|
message = f"Received status code: {request.status_code} ({request.url})"
|
||||||
self.logger.error(message)
|
self.logger.error(message)
|
||||||
raise Exception(message)
|
raise Exception(message)
|
||||||
|
|
|
@ -216,6 +216,21 @@ def test_change_file(instance):
|
||||||
assert len(readme_content) > 0
|
assert len(readme_content) > 0
|
||||||
assert TESTFILE_CONENTE in str(base64.b64decode(readme_content))
|
assert TESTFILE_CONENTE in str(base64.b64decode(readme_content))
|
||||||
|
|
||||||
|
def test_delete_file(instance):
|
||||||
|
TESTFILE_CONENTE = "TestStringFileContent2"
|
||||||
|
TESTFILE_CONENTE_B64 = base64.b64encode(bytes(TESTFILE_CONENTE, "utf-8"))
|
||||||
|
org = Organization.request(instance, test_org)
|
||||||
|
repo = org.get_repository(test_repo)
|
||||||
|
repo.create_file("testfile2.md", content=TESTFILE_CONENTE_B64.decode("ascii"))
|
||||||
|
# test if putting was successful
|
||||||
|
content = repo.get_git_content()
|
||||||
|
readmes = [c for c in content if c.name == "testfile2.md"]
|
||||||
|
assert len(readmes) > 0
|
||||||
|
# test if deleting was successful
|
||||||
|
repo.delete_file("testfile2.md", readmes[0].sha)
|
||||||
|
content = repo.get_git_content()
|
||||||
|
readmes = [c for c in content if c.name == "testfile2.md"]
|
||||||
|
assert len(readmes) == 0
|
||||||
|
|
||||||
def test_create_branch(instance):
|
def test_create_branch(instance):
|
||||||
org = Organization.request(instance, test_org)
|
org = Organization.request(instance, test_org)
|
||||||
|
|
Ładowanie…
Reference in New Issue