Exemplo n.º 1
0
class DajaxiceTest(TestCase):

    def setUp(self):
        self.dajaxice = Dajaxice()
        self.function = lambda x: x

    def test_constructor(self):
        self.assertEqual(self.dajaxice._registry, {})

    def test_register(self):
        self.dajaxice.register(self.function, 'foo')
        self.assertTrue('foo' in self.dajaxice._registry)
        self.assertEqual(type(self.dajaxice._registry['foo']), DajaxiceFunction)

        def bar_function():
            return

        self.dajaxice.register(bar_function)
        self.assertTrue('dajaxice.tests.bar_function' in self.dajaxice._registry)
        self.assertEqual(type(self.dajaxice._registry['dajaxice.tests.bar_function']), DajaxiceFunction)

    def test__is_callable(self):
        self.dajaxice.register(self.function, 'foo')
        self.dajaxice.register(self.function, 'bar', method='GET')

        self.assertTrue(self.dajaxice.is_callable('foo', 'POST'))
        self.assertTrue(self.dajaxice.is_callable('bar', 'GET'))
        self.assertFalse(self.dajaxice.is_callable('foo', 'GET'))
        self.assertFalse(self.dajaxice.is_callable('bar', 'POST'))
        self.assertFalse(self.dajaxice.is_callable('test', 'POST'))
        self.assertFalse(self.dajaxice.is_callable('test', 'GET'))

    def test_clean_method(self):
        self.assertEqual(self.dajaxice.clean_method('post'), 'POST')
        self.assertEqual(self.dajaxice.clean_method('get'), 'GET')
        self.assertEqual(self.dajaxice.clean_method('POST'), 'POST')
        self.assertEqual(self.dajaxice.clean_method('GET'), 'GET')
        self.assertEqual(self.dajaxice.clean_method('other'), 'POST')

    def test_modules(self):
        self.dajaxice.register(self.function, 'foo')
        self.dajaxice.register(self.function, 'bar')

        self.assertEqual(type(self.dajaxice.modules), DajaxiceModule)
        self.assertListEqual(sorted(list(self.dajaxice.modules.functions.keys())), ['bar', 'foo'])
Exemplo n.º 2
0
 def setUp(self):
     self.dajaxice = Dajaxice()
     self.function = lambda x: x
Exemplo n.º 3
0
 def setUp(self):
     self.dajaxice = Dajaxice()
     self.function = lambda x: x
Exemplo n.º 4
0
class DajaxiceTest(TestCase):
    def setUp(self):
        self.dajaxice = Dajaxice()
        self.function = lambda x: x

    def test_constructor(self):
        self.assertEqual(self.dajaxice._registry, {})

    def test_register(self):
        self.dajaxice.register(self.function, 'foo')
        self.assertTrue('foo' in self.dajaxice._registry)
        self.assertEqual(type(self.dajaxice._registry['foo']),
                         DajaxiceFunction)

        def bar_function():
            return

        self.dajaxice.register(bar_function)
        self.assertTrue(
            'dajaxice.tests.bar_function' in self.dajaxice._registry)
        self.assertEqual(
            type(self.dajaxice._registry['dajaxice.tests.bar_function']),
            DajaxiceFunction)

    def test__is_callable(self):
        self.dajaxice.register(self.function, 'foo')
        self.dajaxice.register(self.function, 'bar', method='GET')

        self.assertTrue(self.dajaxice.is_callable('foo', 'POST'))
        self.assertTrue(self.dajaxice.is_callable('bar', 'GET'))
        self.assertFalse(self.dajaxice.is_callable('foo', 'GET'))
        self.assertFalse(self.dajaxice.is_callable('bar', 'POST'))
        self.assertFalse(self.dajaxice.is_callable('test', 'POST'))
        self.assertFalse(self.dajaxice.is_callable('test', 'GET'))

    def test_clean_method(self):
        self.assertEqual(self.dajaxice.clean_method('post'), 'POST')
        self.assertEqual(self.dajaxice.clean_method('get'), 'GET')
        self.assertEqual(self.dajaxice.clean_method('POST'), 'POST')
        self.assertEqual(self.dajaxice.clean_method('GET'), 'GET')
        self.assertEqual(self.dajaxice.clean_method('other'), 'POST')

    def test_modules(self):
        self.dajaxice.register(self.function, 'foo')
        self.dajaxice.register(self.function, 'bar')

        self.assertEqual(type(self.dajaxice.modules), DajaxiceModule)
        self.assertEqual(self.dajaxice.modules.functions.keys(),
                         ['foo', 'bar'])
Exemplo n.º 5
0
 def setUp(self):
     self.dajaxice = Dajaxice()
Exemplo n.º 6
0
class DajaxiceModuleTest(unittest.TestCase):
    def setUp(self):
        self.dajaxice = Dajaxice()
        
    def test_is_callable(self):
        self.dajaxice._callable.append('test')
        
        self.assertTrue(self.dajaxice.is_callable('test'))
        self.assertFalse(self.dajaxice.is_callable('other'))
    
    def test_get_functions(self):
        self.dajaxice._registry = []
        self.failUnlessEqual(self.dajaxice.get_functions(), [])
        
        self.dajaxice._registry = [DajaxiceModule('a.function','a.function'), DajaxiceModule('b.function','b.function')]
        self.failUnlessEqual(len(self.dajaxice.get_functions()), 2)
        
        self.failUnlessEqual(type(self.dajaxice.get_functions()[0]), DajaxiceModule)
        self.failUnlessEqual(type(self.dajaxice.get_functions()[1]), DajaxiceModule)
    
    def test_exist_module(self):
        self.dajaxice._registry = [DajaxiceModule('a.function','a.function'), DajaxiceModule('b.function','b.function')]
        self.failUnlessEqual(self.dajaxice._exist_module('a'), 0)
        self.failUnlessEqual(self.dajaxice._exist_module('b'), 1)
        self.assertFalse(self.dajaxice._exist_module('c'))
    
    def test_register(self):
        from ajax import test_foo, test_foo_with_params
        self.dajaxice.register(test_foo)
        self.dajaxice.register(test_foo_with_params)
        
        name = '%s.%s' % (test_foo.__module__, test_foo.__name__)
        name2 = '%s.%s' % (test_foo_with_params.__module__, test_foo_with_params.__name__)
        
        self.assertTrue(name in self.dajaxice._callable)
        self.assertTrue(name2 in self.dajaxice._callable)
        self.failUnlessEqual(len(self.dajaxice._callable), 2)
        
        self.failUnlessEqual(len(self.dajaxice._registry), 1)
        self.failUnlessEqual(type(self.dajaxice._registry[0]), DajaxiceModule)
        #further testing is needed
        
Exemplo n.º 7
0
        'DAJAXICE_MEDIA_PREFIX': 'dajaxice',
        'DAJAXICE_NOT_CALLABLE_RESPONSE': '{"error":"400 Bad Request"}',
        'DAJAXICE_IGNORE_REQUEST_NOT_IN_CONTEXT': False
    }

    def __getattr__(self, name):
        """ Return the customized value for a setting (if it exists) or the
        default value if not. """

        if name in self.default_config:
            if hasattr(settings, name):
                return getattr(settings, name)
            return self.default_config.get(name)
        return None

    @property
    def dajaxice_url(self):
        return r'^%s/' % self.DAJAXICE_MEDIA_PREFIX

    @property
    def django_settings(self):
        return settings

    @property
    def modules(self):
        return dajaxice_functions.modules


dajaxice_functions = Dajaxice()
dajaxice_config = DajaxiceConfig()