def test_delete_published(self): tm = Synchronized(status=SynchronizedModel.STATUS_PUBLISHED) tm.save() tm.delete() self.assertIsNotNone(tm.pk) tm = Synchronized.objects.get(pk=tm.pk) self.assertEqual(SynchronizedModel.STATUS_PUBLISHED_DELETED, tm.status)
def test_bulk_delete_draft(self): # test bulk deletion tm = Synchronized(test_title="model1") tm.save() pk = tm.pk Synchronized.objects.filter(test_title="model1").delete() self.assertEqual(0, Synchronized.objects.filter(pk=pk).count())
def test_delete_draft(self): tm = Synchronized() tm.save() pk = tm.pk tm.delete() self.assertIsNone(tm.pk) self.assertEqual(0, Synchronized.objects.filter(pk=pk).count())
def test_bulk_delete_published(self): # test bulk deletion tm = Synchronized(test_title="model1", status=SynchronizedModel.STATUS_PUBLISHED) tm.save() Synchronized.objects.filter(test_title="model1").delete() self.assertIsNotNone(tm.pk) tm = Synchronized.objects.get(pk=tm.pk) self.assertEqual(SynchronizedModel.STATUS_PUBLISHED_DELETED, tm.status)
def test_create_and_update(self): tm = Synchronized() self.assertIsNone(tm.created, "not created yet") self.assertIsNone(tm.updated, "not updated yet") tm.save() self.assertIsNotNone(tm.created, "created is set now") self.assertIsNotNone(tm.updated, "updated is set now") created = tm.created updated = tm.updated tm.title = "Test Changed" tm.save() self.assertEqual(tm.created, created, "created should not change") self.assertNotEqual(tm.updated, updated, "updated should be changed")
class TestDeltaUpdateDecorator(TestCase): urls = 'webservice.tests.urls' def setUp(self): self.draft_model = Synchronized(test_title="draft", status=SynchronizedModel.STATUS_DRAFT) self.draft_model.save() self.published_draft_model = Synchronized(test_title="published draft", status=SynchronizedModel.STATUS_PUBLISHED_DRAFT) self.published_draft_model.save() self.published_deleted_model = Synchronized(test_title="published deleted", status=SynchronizedModel.STATUS_PUBLISHED_DELETED) self.published_deleted_model.save() self.published_model = Synchronized(test_title="published", status=SynchronizedModel.STATUS_PUBLISHED) self.published_model.save() def test_initial_request(self): client = APIClient() response = client.get('/SynchronizedViewSet/') content = json.loads(response.content.decode()) self.assertEquals(1, len(content)) self.assertEquals(self.published_model.test_title, content[0]["test_title"]) def test_not_modified(self): client = APIClient() update_since_header = format_datetime(self.draft_model.updated + timedelta(seconds=10)) response = client.get('/SynchronizedViewSet/', None, **{"HTTP_IF_MODIFIED_SINCE": update_since_header}) self.assertEquals(304, response.status_code) self.assertEquals("", response.content.decode()) def test_delta_modified(self): client = APIClient() update_since_header = format_datetime(self.draft_model.updated - timedelta(seconds=10)) response = client.get('/SynchronizedViewSet/', None, **{"HTTP_IF_MODIFIED_SINCE": update_since_header}) # content = json.loads(response.content.decode()) # self.assertEquals(3, len(content)) # expected_titles = set(["published deleted", "published", "published draft"]) # titles = set() # for o in content: # titles.add(o["test_title"]) # self.assertSetEqual(expected_titles, titles)