コード例 #1
0
    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')
コード例 #2
0
    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")
コード例 #3
0
    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')
コード例 #4
0
 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()
コード例 #5
0
 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()
コード例 #6
0
 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()
コード例 #7
0
 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()
コード例 #8
0
 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()
コード例 #9
0
 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()
コード例 #10
0
 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()
コード例 #11
0
 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()
コード例 #12
0
 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()