Example #1
0
    def test_data_to_json(self):
        """
        Tests that data_to_json serializes dicts / objects / models to json
        """

        from rubber.instanceutils import data_to_json

        # with a dict
        data = {'foo':'bar'}
        json_data = json.dumps(data)
        self.assertEquals(json_data, data_to_json(data))

        # with a string
        json_data = json.dumps(data)
        self.assertEquals(json_data, data_to_json(json_data))

        # try a class that implements to_indexed_json
        class Foo(object):
            def to_indexed_json(self):
                return json_data
        self.assertEquals(json_data, data_to_json(Foo()))

        # try a django model
        try:
            from django.db import models
            class TestModel(models.Model):
                foo = models.CharField(max_length=3)
            bar = TestModel(foo='bar')
            self.assertEquals(json_data, data_to_json(bar))
        except ImportError:
            pass
Example #2
0
    def test_data_to_json(self):
        """
        Tests that data_to_json serializes dicts / objects / models to json
        """

        from rubber.instanceutils import data_to_json

        # with a dict
        data = {'foo':'bar'}
        json_data = json.dumps(data)
        self.assertEquals(json_data, data_to_json(data))

        # with a string
        json_data = json.dumps(data)
        self.assertEquals(json_data, data_to_json(json_data))

        # try a class that implements to_indexed_json
        class Foo(object):
            def to_indexed_json(self):
                return json_data
        self.assertEquals(json_data, data_to_json(Foo()))

        # try a django model
        try:
            from django.db import models
            class TestModel(models.Model):
                foo = models.CharField(max_length=3)
            bar = TestModel(foo='bar')
            self.assertEquals(json_data, data_to_json(bar))
        except ImportError:
            pass
Example #3
0
        def test_search(self):
            """
            Checks that we call the right elasticsearch endpoint for searching
            """
            from rubber import resource
            requestmock = RequestMock()
            resource.requests = requestmock

            q = {'query': {'term': {'user': '******'}}}
            self.Article.elasticsearch.search(q, toto='titi')

            self.assertEquals(1, len(requestmock.stack))
            self.assertEquals('http://example.com:9200/tests/article/_search', requestmock.stack[0]['url'])
            self.assertEquals('get', requestmock.stack[0]['method'])
            self.assertEquals('titi', requestmock.stack[0]['kwargs']['toto'])
            from rubber.instanceutils import data_to_json
            self.assertEquals(data_to_json(q), requestmock.stack[0]['kwargs']['data'])

            self.Article.elasticsearch.mapping.put({'some': 'mapping'}, toto='titi')

            self.assertEquals(2, len(requestmock.stack))
            self.assertEquals('http://example.com:9200/tests/article/_mapping', requestmock.stack[1]['url'])
            self.assertEquals('put', requestmock.stack[1]['method'])
            self.assertEquals('titi', requestmock.stack[1]['kwargs']['toto'])
Example #4
0
        def test_search(self):
            """
            Checks that we call the right elasticsearch endpoint for searching
            """
            from rubber import resource
            requestmock = RequestMock()
            resource.requests = requestmock

            q = {'query': {'term': {'user': '******'}}}
            self.Article.elasticsearch.search(q, toto='titi')

            self.assertEquals(1, len(requestmock.stack))
            self.assertEquals('http://example.com:9200/tests/article/_search', requestmock.stack[0]['url'])
            self.assertEquals('GET', requestmock.stack[0]['method'])
            self.assertEquals('titi', requestmock.stack[0]['kwargs']['toto'])
            from rubber.instanceutils import data_to_json
            self.assertEquals(data_to_json(q), requestmock.stack[0]['kwargs']['data'])

            self.Article.elasticsearch.mapping.put({'some': 'mapping'}, toto='titi')

            self.assertEquals(2, len(requestmock.stack))
            self.assertEquals('http://example.com:9200/tests/article/_mapping', requestmock.stack[1]['url'])
            self.assertEquals('PUT', requestmock.stack[1]['method'])
            self.assertEquals('titi', requestmock.stack[1]['kwargs']['toto'])