Skip to content
Snippets Groups Projects

Refactor update creation api

Merged Samuel GAIST requested to merge refactor_update_creation_api into master
All threads resolved!
1 file
+ 41
8
Compare changes
  • Side-by-side
  • Inline
@@ -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):
Loading