~fginther/helipad/daily-release-overview

« back to all changes in this revision

Viewing changes to deployment/django-jsonfield-0.9.3/build/lib.linux-x86_64-2.7/jsonfield/tests/base.py

  • Committer: Tarmac
  • Author(s): Allan LeSage
  • Date: 2013-06-28 22:26:42 UTC
  • mfrom: (105.3.4 remove-jsonfield)
  • Revision ID: tarmac-20130628222642-m45d3prndv2brc6k
Remove django-jsonfield and parameters from JenkinsJob and Build. Fixes: https://bugs.launchpad.net/bugs/1195383.

Approved by PS Jenkins bot, Chris Gagnon.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#:coding=utf-8:
2
 
 
3
 
from django.test import TestCase as DjangoTestCase
4
 
from django.utils import unittest
5
 
 
6
 
from jsonfield.tests.jsonfield_test_app.models import *
7
 
from jsonfield.fields import JSONField
8
 
 
9
 
class JSONFieldTest(DjangoTestCase):
10
 
    def test_json_field(self):
11
 
        obj = JSONFieldTestModel(json='''{
12
 
            "spam": "eggs"
13
 
        }''')
14
 
        self.assertEquals(obj.json, {'spam':'eggs'})
15
 
 
16
 
    def test_json_field_empty(self):
17
 
        obj = JSONFieldTestModel(json='')
18
 
        self.assertEquals(obj.json, None)
19
 
 
20
 
    def test_json_field_save(self):
21
 
        JSONFieldTestModel.objects.create(
22
 
            id=10,
23
 
            json='''{
24
 
                "spam": "eggs"
25
 
            }''',
26
 
        )
27
 
        obj2 = JSONFieldTestModel.objects.get(id=10)
28
 
        self.assertEquals(obj2.json, {'spam':'eggs'})
29
 
 
30
 
    def test_json_field_save_empty(self):
31
 
        JSONFieldTestModel.objects.create(id=10, json='')
32
 
        obj2 = JSONFieldTestModel.objects.get(id=10)
33
 
        self.assertEquals(obj2.json, None)
34
 
 
35
 
    def test_db_prep_save(self):
36
 
        field = JSONField(u"test")
37
 
        field.set_attributes_from_name("json")
38
 
        self.assertEquals(None, field.get_db_prep_save(None, connection=None))
39
 
        self.assertEquals('{"spam": "eggs"}', field.get_db_prep_save({"spam": "eggs"}, connection=None))
40
 
 
41
 
    def test_formfield(self):
42
 
        from jsonfield.forms import JSONFormField
43
 
        from jsonfield.widgets import JSONWidget
44
 
        field = JSONField(u"test")
45
 
        field.set_attributes_from_name("json")
46
 
        formfield = field.formfield()
47
 
        self.assertEquals(type(formfield), JSONFormField)
48
 
        self.assertEquals(type(formfield.widget), JSONWidget)
49
 
 
50
 
    def test_default_value(self):
51
 
        obj = JSONFieldWithDefaultTestModel.objects.create()
52
 
        obj = JSONFieldWithDefaultTestModel.objects.get(id=obj.id)
53
 
        self.assertEquals(obj.json, {'sukasuka': 'YAAAAAZ'})
54
 
 
55
 
    def test_query_object(self):
56
 
        JSONFieldTestModel.objects.create(json={})
57
 
        JSONFieldTestModel.objects.create(json={'foo':'bar'})
58
 
        self.assertEquals(2, JSONFieldTestModel.objects.all().count())
59
 
        self.assertEquals(1, JSONFieldTestModel.objects.exclude(json={}).count())
60
 
        self.assertEquals(1, JSONFieldTestModel.objects.filter(json={}).count())
61
 
        self.assertEquals(1, JSONFieldTestModel.objects.filter(json={'foo':'bar'}).count())
62
 
        self.assertEquals(1, JSONFieldTestModel.objects.filter(json__contains={'foo':'bar'}).count())
63
 
        JSONFieldTestModel.objects.create(json={'foo':'bar', 'baz':'bing'})
64
 
        self.assertEquals(2, JSONFieldTestModel.objects.filter(json__contains={'foo':'bar'}).count())
65
 
        self.assertEquals(1, JSONFieldTestModel.objects.filter(json__contains={'baz':'bing', 'foo':'bar'}).count())
66
 
        self.assertEquals(2, JSONFieldTestModel.objects.filter(json__contains='foo').count())
67
 
        # This code needs to be implemented!
68
 
        self.assertRaises(TypeError, lambda:JSONFieldTestModel.objects.filter(json__contains=['baz', 'foo']))
69
 
        
70
 
    def test_query_isnull(self):
71
 
        JSONFieldTestModel.objects.create(json=None)
72
 
        JSONFieldTestModel.objects.create(json={})
73
 
        JSONFieldTestModel.objects.create(json={'foo':'bar'})
74
 
        
75
 
        self.assertEquals(1, JSONFieldTestModel.objects.filter(json=None).count())
76
 
        self.assertEquals(None, JSONFieldTestModel.objects.get(json=None).json)
77
 
    
78
 
    def test_jsonfield_blank(self):
79
 
        BlankJSONFieldTestModel.objects.create(blank_json='', null_json=None)
80
 
        obj = BlankJSONFieldTestModel.objects.get()
81
 
        self.assertEquals(None, obj.null_json)
82
 
        self.assertEquals("", obj.blank_json)
83
 
        obj.save()
84
 
        obj = BlankJSONFieldTestModel.objects.get()
85
 
        self.assertEquals(None, obj.null_json)
86
 
        self.assertEquals("", obj.blank_json)