summaryrefslogtreecommitdiffstats
path: root/omaha_server/sparkle/tests/test_api.py
diff options
context:
space:
mode:
Diffstat (limited to 'omaha_server/sparkle/tests/test_api.py')
-rw-r--r--omaha_server/sparkle/tests/test_api.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/omaha_server/sparkle/tests/test_api.py b/omaha_server/sparkle/tests/test_api.py
index d70f981..d05247f 100644
--- a/omaha_server/sparkle/tests/test_api.py
+++ b/omaha_server/sparkle/tests/test_api.py
@@ -66,3 +66,23 @@ class VersionTest(BaseTest, APITestCase):
self.assertEqual(response.data, self.serializer(version).data)
self.assertEqual(version.file_size, len(b'content'))
self.assertTrue(version.is_enabled)
+
+ @is_private()
+ @temporary_media_root(MEDIA_URL='http://cache.pack.google.com/edgedl/chrome/install/782.112/')
+ def test_update(self):
+ data = dict(
+ app=ApplicationFactory.create().id,
+ channel=ChannelFactory.create().id,
+ version='1.2.3.4',
+ file=SimpleUploadedFile("chrome.exe", b'content'),
+ )
+ response = self.client.post(reverse(self.url), data)
+ self.assertEqual(response.status_code, status.HTTP_201_CREATED)
+ obj_id = response.data['id']
+ version = SparkleVersion.objects.get(id=obj_id)
+ self.assertEqual(version.version, '1.2.3.4')
+ url = reverse(self.url_detail, kwargs=dict(pk=obj_id))
+ response = self.client.patch(url, dict(version='1.2.3.5'))
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+ version = SparkleVersion.objects.get(id=obj_id)
+ self.assertEqual(version.version, '1.2.3.5')