Skip to content

Commit

Permalink
fix(gitea): use form-data from asset upload (#421)
Browse files Browse the repository at this point in the history
  • Loading branch information
williamluke4 authored Feb 24, 2022
1 parent 29bff88 commit e011944
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 22 deletions.
18 changes: 11 additions & 7 deletions semantic_release/hvcs.py
Original file line number Diff line number Diff line change
Expand Up @@ -577,13 +577,17 @@ def upload_asset(
response = Gitea.session().post(
url,
params={"name": name},
headers={
"accept": "application/json",
"Content-Type": "multipart/form-data",
},
files={
"attachment": (name, open(file, "rb")),
},
data={},
files=[
(
"attachment",
(
name,
open(file, "rb"),
"application/octet-stream",
),
)
],
)

logger.debug(
Expand Down
21 changes: 6 additions & 15 deletions tests/test_hvcs.py
Original file line number Diff line number Diff line change
Expand Up @@ -695,12 +695,9 @@ def test_should_upload_asset(self, mock_token):
dummy_file.write(dummy_content)

def request_callback(request):
self.assertTrue(
f'Content-Disposition: form-data; name="attachment"; filename="{os.path.basename(dummy_file_path)}"'
in request.body.decode()
)
self.assertTrue(dummy_content in request.body.decode())
self.assertEqual(request.url, self.asset_url_params)
self.assertEqual(request.headers["Content-Type"], "multipart/form-data")
self.assertTrue("multipart/form-data" in request.headers["Content-Type"])
self.assertEqual("token super-token", request.headers.get("Authorization"))

return 201, {}, json.dumps({})
Expand All @@ -727,12 +724,9 @@ def test_should_upload_asset_with_no_extension(self, mock_token):
dummy_file.write(dummy_content)

def request_callback(request):
self.assertTrue(
f'Content-Disposition: form-data; name="attachment"; filename="{os.path.basename(dummy_file_path)}"'
in request.body.decode()
)
self.assertTrue(dummy_content in request.body.decode())
self.assertEqual(request.url, self.asset_no_extension_url_params)
self.assertEqual(request.headers["Content-Type"], "multipart/form-data")
self.assertTrue("multipart/form-data" in request.headers["Content-Type"])
self.assertEqual("token super-token", request.headers["Authorization"])

return 201, {}, json.dumps({})
Expand All @@ -759,12 +753,9 @@ def test_should_upload_dists(self, mock_token):
dummy_file.write(dummy_content)

def request_callback(request):
self.assertTrue(
f'Content-Disposition: form-data; name="attachment"; filename="{os.path.basename(dummy_file_path)}"'
in request.body.decode()
)
self.assertTrue(dummy_content in request.body.decode())
self.assertEqual(request.url, self.dist_asset_url_params)
self.assertEqual(request.headers["Content-Type"], "multipart/form-data")
self.assertTrue("multipart/form-data" in request.headers["Content-Type"])
self.assertEqual("token super-token", request.headers.get("Authorization"))

return 201, {}, json.dumps({})
Expand Down

0 comments on commit e011944

Please sign in to comment.