def test_embedded_document_field(self): i = Inner(a="hihi", b=123) d = ComplexDoc(i=i) d.save() response = self.client.get('/complexdoc') json_data = response.get_json()[config.ITEMS][0] self.assertDictEqual(json_data['i'], {'a':"hihi", 'b':123}) d.delete() # POST request response = self.client.post('/complexdoc/', data='{"i": {"a": "xaxa", "b":-555}}', content_type='application/json') self.assertEqual(response.get_json()[config.STATUS], "OK") response = self.client.get('/complexdoc') json_data = response.get_json()[config.ITEMS][0] self.assertDictEqual(json_data['i'], {'a':"xaxa", 'b':-555}) ComplexDoc.objects[0].delete() response = self.client.post('/complexdoc/', data='{"i": {"a": "bar", "b": "baz"}}', content_type='application/json') json_data = response.get_json() self.assertEqual(json_data[config.STATUS], "ERR") self.assertIn('i', json_data[config.ISSUES]) self.assertIn('b', json_data[config.ISSUES]['i']) self.assertEqual(json_data[config.ISSUES]['i']['b'], 'must be of integer type')
def test_embedded_document_field(self): i = Inner(a="hihi", b=123) d = ComplexDoc(i=i) d.save() response = self.client.get("/complexdoc") json_data = response.get_json()[config.ITEMS][0] self.assertDictEqual(json_data["i"], {"a": "hihi", "b": 123}) d.delete() # POST request response = self.client.post( "/complexdoc/", data='{"i": {"a": "xaxa", "b":-555}}', content_type="application/json", ) self.assertEqual(response.get_json()[config.STATUS], "OK") response = self.client.get("/complexdoc") json_data = response.get_json()[config.ITEMS][0] self.assertDictEqual(json_data["i"], {"a": "xaxa", "b": -555}) ComplexDoc.objects[0].delete() response = self.client.post( "/complexdoc/", data='{"i": {"a": "bar", "b": "baz"}}', content_type="application/json", ) json_data = response.get_json() self.assertEqual(json_data[config.STATUS], "ERR") self.assertIn("i", json_data[config.ISSUES]) self.assertIn("b", json_data[config.ISSUES]["i"]) self.assertEqual(json_data[config.ISSUES]["i"]["b"], "must be of integer type")
def test_embedded_document_field(self): i = Inner(a="hihi", b=123) d = ComplexDoc(i=i) d.save() response = self.client.get('/complexdoc') json_data = response.get_json()[config.ITEMS][0] self.assertDictEqual(json_data['i'], {'a': "hihi", 'b': 123}) d.delete() # POST request response = self.client.post('/complexdoc/', data='{"i": {"a": "xaxa", "b":-555}}', content_type='application/json') self.assertEqual(response.get_json()[config.STATUS], "OK") response = self.client.get('/complexdoc') json_data = response.get_json()[config.ITEMS][0] self.assertDictEqual(json_data['i'], {'a': "xaxa", 'b': -555}) ComplexDoc.objects[0].delete() response = self.client.post('/complexdoc/', data='{"i": {"a": "bar", "b": "baz"}}', content_type='application/json') json_data = response.get_json() self.assertEqual(json_data[config.STATUS], "ERR") self.assertIn('i', json_data[config.ISSUES]) self.assertIn('b', json_data[config.ISSUES]['i']) self.assertEqual(json_data[config.ISSUES]['i']['b'], 'must be of integer type')
def test_dict_field(self): d = ComplexDoc(d={'g':'good', 'h':'hoorai'}) d.save() response = self.client.get('/complexdoc') try: json_data = response.get_json()[config.ITEMS][0] self.assertDictEqual(json_data['d'], {'g':'good', 'h':'hoorai'}) finally: # cleanup d.delete()
def test_dynamic_field(self): d = ComplexDoc(n=789) d.save() response = self.client.get('/complexdoc') try: json_data = response.get_json()[config.ITEMS][0] self.assertEqual(json_data['n'], 789) finally: # cleanup d.delete()
def test_dict_field(self): d = ComplexDoc(d={'g': 'good', 'h': 'hoorai'}) d.save() response = self.client.get('/complexdoc') try: json_data = response.get_json()[config.ITEMS][0] self.assertDictEqual(json_data['d'], {'g': 'good', 'h': 'hoorai'}) finally: # cleanup d.delete()
def test_dict_field(self): d = ComplexDoc(d={"g": "good", "h": "hoorai"}) d.save() response = self.client.get("/complexdoc") try: json_data = response.get_json()[config.ITEMS][0] self.assertDictEqual(json_data["d"], {"g": "good", "h": "hoorai"}) finally: # cleanup d.delete()
def test_embedded_in_list(self): # that's a tuff one i1 = Inner(a="foo", b=789) i2 = Inner(a="baz", b=456) d = ComplexDoc(o=[i1, i2]) d.save() response = self.client.get('/complexdoc') try: json_data = response.get_json()[config.ITEMS][0] self.assertListEqual(json_data['o'], [{'a':"foo", 'b':789},{'a':"baz", 'b':456}]) finally: d.delete()
def test_reference_field(self): s = SimpleDoc(a="samurai", b=911) s.save() d = ComplexDoc(r=s) d.save() response = self.client.get('/complexdoc') try: json_data = response.get_json()[config.ITEMS][0] self.assertEqual(json_data['r'], str(s.id)) finally: # cleanup d.delete() s.delete()
def test_embedded_in_list(self): # that's a tuff one i1 = Inner(a="foo", b=789) i2 = Inner(a="baz", b=456) d = ComplexDoc(o=[i1, i2]) d.save() response = self.client.get('/complexdoc') try: json_data = response.get_json()[config.ITEMS][0] self.assertListEqual(json_data['o'], [{ 'a': "foo", 'b': 789 }, { 'a': "baz", 'b': 456 }]) finally: d.delete()