summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMax Ludwig <mail@danjou.de>2021-07-31 22:26:26 +0200
committerJohn Villalovos <john@sodarock.com>2021-12-21 09:04:22 -0800
commit83dcabf3b04af63318c981317778f74857279909 (patch)
treecd1501961fafcf609835436fa8b93c20bdddaf22 /tests
parenteef8059d63f4c882fca6390ae18e3002e86c90d9 (diff)
downloadgitlab-83dcabf3b04af63318c981317778f74857279909.tar.gz
feat(api): support file format for repository archive
Diffstat (limited to 'tests')
-rw-r--r--tests/functional/api/test_repository.py27
1 files changed, 25 insertions, 2 deletions
diff --git a/tests/functional/api/test_repository.py b/tests/functional/api/test_repository.py
index 06d4297..ecef1f1 100644
--- a/tests/functional/api/test_repository.py
+++ b/tests/functional/api/test_repository.py
@@ -1,5 +1,8 @@
import base64
+import tarfile
import time
+import zipfile
+from io import BytesIO
import pytest
@@ -48,14 +51,34 @@ def test_repository_tree(project):
blob = project.repository_raw_blob(blob_id)
assert blob.decode() == "Initial content"
+ snapshot = project.snapshot()
+ assert isinstance(snapshot, bytes)
+
+
+def test_repository_archive(project):
archive = project.repository_archive()
assert isinstance(archive, bytes)
archive2 = project.repository_archive("main")
assert archive == archive2
- snapshot = project.snapshot()
- assert isinstance(snapshot, bytes)
+
+@pytest.mark.parametrize(
+ "format,assertion",
+ [
+ ("tbz", tarfile.is_tarfile),
+ ("tbz2", tarfile.is_tarfile),
+ ("tb2", tarfile.is_tarfile),
+ ("bz2", tarfile.is_tarfile),
+ ("tar", tarfile.is_tarfile),
+ ("tar.gz", tarfile.is_tarfile),
+ ("tar.bz2", tarfile.is_tarfile),
+ ("zip", zipfile.is_zipfile),
+ ],
+)
+def test_repository_archive_formats(project, format, assertion):
+ archive = project.repository_archive(format=format)
+ assert assertion(BytesIO(archive))
def test_create_commit(project):