diff --git a/beat/web/libraries/tests/tests_api.py b/beat/web/libraries/tests/tests_api.py index 2108a8c81d46a8d96954b1b23c12a054c5cbf778..5cb8717487b5edfc3814190d503eaf8f043b2332 100644 --- a/beat/web/libraries/tests/tests_api.py +++ b/beat/web/libraries/tests/tests_api.py @@ -833,18 +833,25 @@ class LibraryUpdate(LibrariesAPIBase): def test_no_update_without_content(self): self.login_jackdoe() response = self.client.put(self.url) - self.checkResponse(response, 400) + self.checkResponse(response, 200, content_type="application/json") def test_successfull_update(self): self.login_jackdoe() + code = b"import numpy as np" response = self.client.put( self.url, - json.dumps({"description": "blah", "declaration": LibrariesAPIBase.UPDATE}), + json.dumps( + { + "description": "blah", + "declaration": LibrariesAPIBase.UPDATE, + "code": code, + } + ), content_type="application/json", ) - self.checkResponse(response, 204) + self.checkResponse(response, 200, content_type="application/json") library = Library.objects.get( author__username="jackdoe", name="personal", version=1 @@ -854,7 +861,11 @@ class LibraryUpdate(LibrariesAPIBase): storage = beat.core.library.Storage(settings.PREFIX, library.fullname()) storage.language = "python" self.assertTrue(storage.exists()) - self.assertEqual(storage.json.load(), LibrariesAPIBase.UPDATE) + self.assertEqual(library.description, b"blah") + self.assertEqual( + json.loads(storage.json.load()), json.loads(LibrariesAPIBase.UPDATE) + ) + self.assertEqual(storage.code.load(), code) def test_successfull_update_description_only(self): self.login_jackdoe() @@ -865,14 +876,14 @@ class LibraryUpdate(LibrariesAPIBase): content_type="application/json", ) - self.checkResponse(response, 204) + self.checkResponse(response, 200, content_type="application/json") library = Library.objects.get( author__username="jackdoe", name="personal", version=1 ) self.assertEqual(library.description, b"blah") - def test_successfull_update_code_only(self): + def test_successfull_update_declaration_only(self): self.login_jackdoe() response = self.client.put( @@ -881,7 +892,29 @@ class LibraryUpdate(LibrariesAPIBase): content_type="application/json", ) - self.checkResponse(response, 204) + self.checkResponse(response, 200, content_type="application/json") + + library = Library.objects.get( + author__username="jackdoe", name="personal", version=1 + ) + + storage = beat.core.library.Storage(settings.PREFIX, library.fullname()) + storage.language = "python" + self.assertTrue(storage.exists()) + self.assertEqual( + json.loads(storage.json.load()), json.loads(LibrariesAPIBase.UPDATE) + ) + + def test_successfull_update_code_only(self): + self.login_jackdoe() + + code = b"import numpy as np" + + response = self.client.put( + self.url, json.dumps({"code": code}), content_type="application/json" + ) + + self.checkResponse(response, 200, content_type="application/json") library = Library.objects.get( author__username="jackdoe", name="personal", version=1 @@ -890,7 +923,7 @@ class LibraryUpdate(LibrariesAPIBase): storage = beat.core.library.Storage(settings.PREFIX, library.fullname()) storage.language = "python" self.assertTrue(storage.exists()) - self.assertEqual(storage.json.load(), LibrariesAPIBase.UPDATE) + self.assertEqual(storage.code.load(), code) class LibraryRetrieval(LibrariesAPIBase):