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)
Exemple #3
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)