示例#1
0
 def setUp(self):
     super(TestAppDataForms, self).setUp()
     MyAppContainer = AppDataContainer.from_form(self.MyForm)
     app_registry.register('myapp', MyAppContainer)
     self.data = {'title': 'First!', 'publish_from': '2010-10-1'}
     MyOtherContainer = AppDataContainer.from_form(self.MyOtherForm)
     app_registry.register('myotherapp', MyOtherContainer)
示例#2
0
 def test_registered_classes_can_be_set_as_attrs(self):
     app_registry.register('dummy', DummyAppDataContainer)
     art = Article()
     art.app_data.dummy = {'answer': 42}
     assert isinstance(art.app_data.dummy, DummyAppDataContainer)
     assert art.app_data.dummy == DummyAppDataContainer(art, {'answer': 42})
     assert art.app_data == {'dummy': {'answer': 42}}
示例#3
0
 def test_registered_classes_can_be_set_as_attrs(self):
     app_registry.register('dummy', DummyAppDataContainer)
     art = Article()
     art.app_data.dummy = {'answer': 42}
     tools.assert_true(isinstance(art.app_data.dummy, DummyAppDataContainer))
     tools.assert_equals(DummyAppDataContainer(art, {'answer': 42}), art.app_data.dummy)
     tools.assert_equals({'dummy': {'answer': 42}}, art.app_data)
示例#4
0
 def test_override_class_for_model_only(self):
     app_registry.register('dummy', DummyAppDataContainer)
     app_registry.register('dummy',
                           DummyAppDataContainer2,
                           model=Publishable)
     inst = Publishable()
     tools.assert_true(
         isinstance(inst.app_data.get('dummy', {}), DummyAppDataContainer2))
示例#5
0
 def setUp(self):
     super(TestAppDataForms, self).setUp()
     MyAppContainer = AppDataContainer.from_form(self.MyForm)
     app_registry.register('myapp', MyAppContainer)
     self.data = {
         'title': 'First!',
         'publish_from': '2010-10-1'
     }
示例#6
0
    def test_container_from_form(self):
        class MyForm(AppDataForm):
            publish_from = forms.DateField()
        MyAppContainer = AppDataContainer.from_form(MyForm)
        app_registry.register('myapp', MyAppContainer)

        art = Article()
        tools.assert_true(isinstance(art.app_data['myapp'], MyAppContainer))
示例#7
0
    def setUp(self):
        super(TestSerialization, self).setUp()

        MyAppContainer = AppDataContainer.from_form(self.MyForm)
        app_registry.register('myapp', MyAppContainer)
        self.article = Article()
        self.article.app_data.myapp.publish_from = date(2012, 8, 26)
        self.article.save()
示例#8
0
    def setUp(self):
        super(TestSerialization, self).setUp()

        MyAppContainer = AppDataContainer.from_form(self.MyForm)
        app_registry.register('myapp', MyAppContainer)
        self.article = Article()
        self.article.app_data.myapp.publish_from = date(2012, 8, 26)
        self.article.save()
示例#9
0
 def test_registered_classes_can_be_set_as_attrs(self):
     app_registry.register('dummy', DummyAppDataContainer)
     art = Article()
     art.app_data.dummy = {'answer': 42}
     tools.assert_true(isinstance(art.app_data.dummy,
                                  DummyAppDataContainer))
     tools.assert_equals(DummyAppDataContainer(art, {'answer': 42}),
                         art.app_data.dummy)
     tools.assert_equals({'dummy': {'answer': 42}}, art.app_data)
示例#10
0
    def test_get_fallback_value(self):
        class MyForm(AppDataForm):
            title = forms.CharField(max_length=25, initial='Hullo!')
        MyAppContainer = AppDataContainer.from_form(MyForm)
        app_registry.register('myapp', MyAppContainer)

        art = Article()
        tools.assert_equals(None, art.app_data.myapp.get('foo'))
        tools.assert_equals('bar', art.app_data.myapp.get('foo', 'bar'))
示例#11
0
    def test_initial_get_used_as_default(self):
        class MyForm(AppDataForm):
            title = forms.CharField(max_length=25, initial='Hullo!')
        MyAppContainer = AppDataContainer.from_form(MyForm)
        app_registry.register('myapp', MyAppContainer)

        art = Article()
        tools.assert_true(isinstance(art.app_data['myapp'], MyAppContainer))
        tools.assert_equals('Hullo!', art.app_data.myapp.get('title'))
示例#12
0
    def test_container_from_form(self):
        class MyForm(AppDataForm):
            publish_from = forms.DateField()

        MyAppContainer = AppDataContainer.from_form(MyForm)
        app_registry.register('myapp', MyAppContainer)

        art = Article()
        tools.assert_true(isinstance(art.app_data['myapp'], MyAppContainer))
示例#13
0
    def test_get_fallback_value(self):
        class MyForm(AppDataForm):
            title = forms.CharField(max_length=25, initial='Hullo!')

        MyAppContainer = AppDataContainer.from_form(MyForm)
        app_registry.register('myapp', MyAppContainer)

        art = Article()
        tools.assert_equals(None, art.app_data.myapp.get('foo'))
        tools.assert_equals('bar', art.app_data.myapp.get('foo', 'bar'))
示例#14
0
    def test_initial_get_used_as_default(self):
        class MyForm(AppDataForm):
            title = forms.CharField(max_length=25, initial='Hullo!')

        MyAppContainer = AppDataContainer.from_form(MyForm)
        app_registry.register('myapp', MyAppContainer)

        art = Article()
        tools.assert_true(isinstance(art.app_data['myapp'], MyAppContainer))
        tools.assert_equals('Hullo!', art.app_data.myapp.get('title'))
示例#15
0
    def test_get_semantics_for_getitem(self):
        class MyForm(AppDataForm):
            title = forms.CharField(max_length=25, initial='Hullo!')
            description = forms.CharField(max_length=25, required=False)
        MyAppContainer = AppDataContainer.from_form(MyForm)
        app_registry.register('myapp', MyAppContainer)

        art = Article()
        tools.assert_equals('Hullo!', art.app_data.myapp.title)
        # empty initial value falls back to field's type
        tools.assert_equals('', art.app_data.myapp.description)
示例#16
0
    def test_get_semantics_for_getitem(self):
        class MyForm(AppDataForm):
            title = forms.CharField(max_length=25, initial='Hullo!')
            description = forms.CharField(max_length=25, required=False)

        MyAppContainer = AppDataContainer.from_form(MyForm)
        app_registry.register('myapp', MyAppContainer)

        art = Article()
        tools.assert_equals('Hullo!', art.app_data.myapp.title)
        # empty initial value falls back to field's type
        tools.assert_equals('', art.app_data.myapp.description)
示例#17
0
 def test_unregistered_namespace_cannot_be_unregistered(self):
     app_registry.register('dummy', DummyAppDataContainer)
     app_registry.unregister('dummy')
     app_registry.unregister('dummy')
示例#18
0
 def test_namespace_can_only_be_registered_once(self):
     app_registry.register('dummy', DummyAppDataContainer)
     app_registry.register('dummy', DummyAppDataContainer2)
示例#19
0
 def test_registered_classes_get_stored_on_access(self):
     app_registry.register('dummy', DummyAppDataContainer)
     art = Article()
     art.app_data['dummy']
     tools.assert_equals({'dummy': {}}, art.app_data)
示例#20
0
 def test_namespace_can_only_be_registered_once(self):
     app_registry.register('dummy', DummyAppDataContainer)
     app_registry.register('dummy', DummyAppDataContainer2)
示例#21
0
 def test_existing_values_get_wrapped_in_proper_class(self):
     app_registry.register('dummy', DummyAppDataContainer)
     inst = Publishable()
     inst.app_data = {'dummy': {'hullo': 'there'}}
     tools.assert_true(isinstance(inst.app_data['dummy'], DummyAppDataContainer))
示例#22
0
 def test_registered_classes_can_behave_as_attrs(self):
     app_registry.register('dummy', DummyAppDataContainer)
     art = Article()
     tools.assert_true(isinstance(art.app_data.dummy,
                                  DummyAppDataContainer))
示例#23
0
 def test_get_app_data_returns_registered_class_instance(self):
     app_registry.register('dummy', DummyAppDataContainer)
     inst = Publishable()
     tools.assert_true(
         isinstance(inst.app_data.get('dummy', {}), DummyAppDataContainer))
示例#24
0
 def test_override_class_for_model_only(self):
     app_registry.register('dummy', DummyAppDataContainer)
     app_registry.register('dummy', DummyAppDataContainer2, model=Publishable)
     inst = Publishable()
     tools.assert_true(isinstance(inst.app_data.get('dummy', {}), DummyAppDataContainer2))
示例#25
0
 def test_unregistered_namespace_cannot_be_unregistered(self):
     app_registry.register('dummy', DummyAppDataContainer)
     app_registry.unregister('dummy')
     app_registry.unregister('dummy')
示例#26
0
 def test_get_app_data_returns_registered_class_instance(self):
     app_registry.register('dummy', DummyAppDataContainer)
     inst = Publishable()
     tools.assert_true(isinstance(inst.app_data.get('dummy', {}), DummyAppDataContainer))
示例#27
0
 def setUp(self):
     super(TestMultiForm, self).setUp()
     MyAppContainer = AppDataContainer.from_form(self.MyForm)
     app_registry.register('myapp', MyAppContainer)
     app_registry.register('myapp2', AppDataContainer.from_form(self.MyForm2))
示例#28
0
 def test_registered_classes_get_stored_on_access(self):
     app_registry.register('dummy', DummyAppDataContainer)
     art = Article()
     art.app_data['dummy']
     tools.assert_equals({'dummy': {}}, art.app_data)
示例#29
0
 def test_registered_classes_can_behave_as_attrs(self):
     app_registry.register('dummy', DummyAppDataContainer)
     art = Article()
     tools.assert_true(isinstance(art.app_data.dummy, DummyAppDataContainer))
示例#30
0
 def test_namespace_can_only_be_registered_once(self):
     with pytest.raises(NamespaceConflict):
         app_registry.register('dummy', DummyAppDataContainer)
         app_registry.register('dummy', DummyAppDataContainer2)
示例#31
0
 def test_existing_values_get_wrapped_in_proper_class(self):
     app_registry.register('dummy', DummyAppDataContainer)
     inst = Publishable()
     inst.app_data = {'dummy': {'hullo': 'there'}}
     tools.assert_true(
         isinstance(inst.app_data['dummy'], DummyAppDataContainer))
示例#32
0
 def setUp(self):
     super(TestMultiForm, self).setUp()
     MyAppContainer = AppDataContainer.from_form(self.MyForm)
     app_registry.register('myapp', MyAppContainer)
     app_registry.register('myapp2',
                           AppDataContainer.from_form(self.MyForm2))
示例#33
0
 def test_unregistered_namespace_cannot_be_unregistered(self):
     with pytest.raises(NamespaceMissing):
         app_registry.register('dummy', DummyAppDataContainer)
         app_registry.unregister('dummy')
         app_registry.unregister('dummy')