def test_patch_overwrite_subset(self): # test what was really updated encoder = MongoengineJsonEncoder() raw = SimpleDoc._get_collection().find_one({"_id": ObjectId(self._id)}) time.sleep(1) response = self.do_patch(data='{"a": "greg"}') self.assert_correct_etag(response) expected = dict(raw) expected["a"] = "greg" for key in [config.ETAG, config.LAST_UPDATED]: expected[key] = response.json[key] real = SimpleDoc._get_collection().find_one( {"_id": ObjectId(self._id)}) self.assertEqual(encoder.encode(real), encoder.encode(expected)) # test if GET response returns corrent response response = self.client.get(self.url).get_json() self.assertIn("a", response) self.assertEqual(response["a"], "greg") self.assertIn("b", response) self.assertEqual(response["b"], 23) # cleanup headers = [("If-Match", response[config.ETAG])] response = self.client.delete("/simpledoc/%s" % self._id, headers=headers) assert response.status_code == 204 self.assertEqual(SimpleDoc.objects.count(), 0)
def test_patch_overwrite_subset(self): # test what was really updated raw = SimpleDoc._get_collection().find_one({"_id": ObjectId(self._id)}) response = self.do_patch(data='{"a": "greg"}') self.assert_correct_etag(response) expected = dict(raw) expected['a'] = 'greg' real = SimpleDoc._get_collection().find_one({"_id": ObjectId(self._id)}) self.assertDictEqual(real, expected) # test if GET response returns corrent response response = self.client.get(self.url).get_json() self.assertIn('a', response) self.assertEqual(response['a'], "greg") self.assertIn('b', response) self.assertEqual(response['b'], 23)
def test_patch_overwrite_subset(self): # test what was really updated raw = SimpleDoc._get_collection().find_one({"_id": ObjectId(self._id)}) response = self.do_patch(data='{"a": "greg"}') self.assert_correct_etag(response) expected = dict(raw) expected['a'] = 'greg' real = SimpleDoc._get_collection().find_one( {"_id": ObjectId(self._id)}) self.assertDictEqual(real, expected) # test if GET response returns corrent response response = self.client.get(self.url).get_json() self.assertIn('a', response) self.assertEqual(response['a'], "greg") self.assertIn('b', response) self.assertEqual(response['b'], 23)