Skip to content

Commit 634d0f9

Browse files
ihsaan-ullahDidayolo
authored andcommitted
tests updated, additional test added
1 parent db9423b commit 634d0f9

1 file changed

Lines changed: 22 additions & 6 deletions

File tree

src/apps/api/tests/test_datasets.py

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ def test_dataset_api_checks_duplicate_names_for_same_user(self):
3030
resp = self.client.post(reverse("data-list"), {
3131
'name': 'Test!',
3232
'type': Data.COMPETITION_BUNDLE,
33-
'request_sassy_file_name': faker.file_name(),
34-
'file_name': faker.file_name(),
33+
'request_sassy_file_name': faker.file_name(extension='.zip'),
34+
'file_name': faker.file_name(extension='.zip'),
3535
'file_size': 1000,
3636
})
3737

@@ -42,7 +42,7 @@ def test_dataset_api_checks_duplicate_names_for_same_user(self):
4242
resp = self.client.put(reverse("data-detail", args=(self.existing_dataset.pk,)), {
4343
'name': 'Test!',
4444
'type': Data.COMPETITION_BUNDLE,
45-
'request_sassy_file_name': faker.file_name(),
45+
'request_sassy_file_name': faker.file_name(extension='.zip'),
4646
'file_size': 1000,
4747
})
4848
assert resp.status_code == 200
@@ -77,8 +77,8 @@ def test_dataset_api_check_quota(self):
7777
resp = self.client.post(reverse("data-list"), {
7878
'name': 'new-file-test',
7979
'type': Data.COMPETITION_BUNDLE,
80-
'request_sassy_file_name': faker.file_name(),
81-
'file_name': faker.file_name(),
80+
'request_sassy_file_name': faker.file_name(extension='.zip'),
81+
'file_name': faker.file_name(extension='.zip'),
8282
'file_size': file_size,
8383
})
8484

@@ -90,12 +90,28 @@ def test_dataset_api_check_quota(self):
9090
resp = self.client.post(reverse("data-list"), {
9191
'name': 'new-file-test',
9292
'type': Data.COMPETITION_BUNDLE,
93-
'request_sassy_file_name': faker.file_name(),
93+
'request_sassy_file_name': faker.file_name(extension='.zip'),
9494
'file_name': faker.file_name(),
9595
'file_size': file_size,
9696
})
9797
assert resp.status_code == 201
9898

99+
def test_dataset_api_rejects_non_zip_files(self):
100+
self.client.login(username='creator', password='creator')
101+
102+
# Attempt to upload a non-zip file
103+
resp = self.client.post(reverse("data-list"), {
104+
'name': 'non-zip-test',
105+
'type': Data.COMPETITION_BUNDLE,
106+
'request_sassy_file_name': faker.file_name(extension='.py'),
107+
'file_name': faker.file_name(extension='.py'),
108+
'file_size': 1000,
109+
})
110+
111+
assert resp.status_code == 400
112+
assert "non_field_errors" in resp.data
113+
assert resp.data["non_field_errors"][0] == "Only zip files are allowed!"
114+
99115

100116
class DatasetDetailTests(TestCase):
101117
def setUp(self):

0 commit comments

Comments
 (0)