Esempio n. 1
0
 def test__build_query_filter(self):
     
     self.graph = TestGraph()
     self.graph.client = self.ogm.client
     self.metadata = BulbsMetadata(Website)
     
     # No metadata
     metadata = None
     repository = BulbsNodeRepository(Website, self.graph.client, graph=self.graph)
     repository.metadata=metadata
     self.assertEquals((
         u'g.v(eid)', 
         {'eid': 123}
     ), repository._build_query_filter(eid=123))
     self.assertEquals((
         u'g.V.has("name", name)', 
         {u'name': 'Foo'}
     ), repository._build_query_filter(name='Foo'))
     self.assertEquals((
         u'g.V.has("content", content).has("name", name)', 
         {u'content': 'Bar', u'name': 'Foo'}
     ), repository._build_query_filter(name='Foo', content='Bar'))
     
     # Empty metadata
     self.metadata.indices = []
     repository = BulbsNodeRepository(Website, self.graph.client, graph=self.graph)
     repository.metadata=self.metadata
     self.assertEquals((
         u'g.v(eid)',
         {'eid': 123}
     ), repository._build_query_filter(eid=123))
     self.assertEquals((
         u'g.V.has("name", name)', 
         {u'name': 'Foo'}
     ), repository._build_query_filter(name='Foo'))
     self.assertEquals((
         u'g.V.has("content", content).has("name", name)', 
         {u'content': 'Bar', u'name': 'Foo'}
     ), repository._build_query_filter(name='Foo', content='Bar'))
     
     # Metadata with an index
     self.metadata.indices = ['name']
     repository = BulbsNodeRepository(Website, self.graph.client, graph=self.graph)
     repository.metadata=self.metadata
     self.assertEquals((
         u'g.v(eid)', 
         {'eid': 123}
     ), repository._build_query_filter(eid=123))
     self.assertEquals((
         u'g.V("name", name)',
         {u'name': 'Foo'}
     ), repository._build_query_filter(name='Foo'))
     self.assertEquals((
         u'g.V("name", name).has("content", content)', 
         {u'content': 'Bar', u'name': 'Foo'}
     ), repository._build_query_filter(name='Foo', content='Bar'))
     self.assertEquals((
         u'g.v(eid).has("name", name)', 
         {'eid': 123, u'name': 'Foo'}
     ), repository._build_query_filter(eid=123, name='Foo'))
Esempio n. 2
0
 def test__get_index_among(self):
     
     self.graph = TestGraph()
     self.graph.client = self.ogm.client
     self.metadata = BulbsMetadata(Website)
     self.metadata.indices = Mock()
     
     repository = BulbsNodeRepository(Website, self.graph.client, graph=self.graph)
     repository.metadata=None
     self.assertIs(None, repository._get_index_among([]))
     
     self.metadata.indices = []
     repository = BulbsNodeRepository(Website, self.graph.client, graph=self.graph)
     repository.metadata=self.metadata
     self.assertIs(None, repository._get_index_among([]))
     
     self.metadata.indices = ['name']
     repository = BulbsNodeRepository(Website, self.graph.client, graph=self.graph)
     repository.metadata=self.metadata
     self.assertEquals(['name'], repository._get_index_among(['name', 'content']))
 
     self.metadata.indices = ['name']
     repository = BulbsNodeRepository(Website, self.graph.client, graph=self.graph)
     repository.metadata=self.metadata
     self.assertEquals(None, repository._get_index_among(['content', 'description']))
Esempio n. 3
0
    def test__build_query_filter(self):

        self.graph = TestGraph()
        self.graph.client = self.ogm.client
        self.metadata = BulbsMetadata(Website)

        # No metadata
        metadata = None
        repository = BulbsNodeRepository(Website,
                                         self.graph.client,
                                         graph=self.graph)
        repository.metadata = metadata
        self.assertEquals((u'g.v(eid)', {
            'eid': 123
        }), repository._build_query_filter(eid=123))
        self.assertEquals((u'g.V.has("name", name)', {
            u'name': 'Foo'
        }), repository._build_query_filter(name='Foo'))
        self.assertEquals((u'g.V.has("content", content).has("name", name)', {
            u'content': 'Bar',
            u'name': 'Foo'
        }), repository._build_query_filter(name='Foo', content='Bar'))

        # Empty metadata
        self.metadata.indices = []
        repository = BulbsNodeRepository(Website,
                                         self.graph.client,
                                         graph=self.graph)
        repository.metadata = self.metadata
        self.assertEquals((u'g.v(eid)', {
            'eid': 123
        }), repository._build_query_filter(eid=123))
        self.assertEquals((u'g.V.has("name", name)', {
            u'name': 'Foo'
        }), repository._build_query_filter(name='Foo'))
        self.assertEquals((u'g.V.has("content", content).has("name", name)', {
            u'content': 'Bar',
            u'name': 'Foo'
        }), repository._build_query_filter(name='Foo', content='Bar'))

        # Metadata with an index
        self.metadata.indices = ['name']
        repository = BulbsNodeRepository(Website,
                                         self.graph.client,
                                         graph=self.graph)
        repository.metadata = self.metadata
        self.assertEquals((u'g.v(eid)', {
            'eid': 123
        }), repository._build_query_filter(eid=123))
        self.assertEquals((u'g.V("name", name)', {
            u'name': 'Foo'
        }), repository._build_query_filter(name='Foo'))
        self.assertEquals((u'g.V("name", name).has("content", content)', {
            u'content': 'Bar',
            u'name': 'Foo'
        }), repository._build_query_filter(name='Foo', content='Bar'))
        self.assertEquals((u'g.v(eid).has("name", name)', {
            'eid': 123,
            u'name': 'Foo'
        }), repository._build_query_filter(eid=123, name='Foo'))
Esempio n. 4
0
    def test__get_index_among(self):

        self.graph = TestGraph()
        self.graph.client = self.ogm.client
        self.metadata = BulbsMetadata(Website)
        self.metadata.indices = Mock()

        repository = BulbsNodeRepository(Website,
                                         self.graph.client,
                                         graph=self.graph)
        repository.metadata = None
        self.assertIs(None, repository._get_index_among([]))

        self.metadata.indices = []
        repository = BulbsNodeRepository(Website,
                                         self.graph.client,
                                         graph=self.graph)
        repository.metadata = self.metadata
        self.assertIs(None, repository._get_index_among([]))

        self.metadata.indices = ['name']
        repository = BulbsNodeRepository(Website,
                                         self.graph.client,
                                         graph=self.graph)
        repository.metadata = self.metadata
        self.assertEquals(['name'],
                          repository._get_index_among(['name', 'content']))

        self.metadata.indices = ['name']
        repository = BulbsNodeRepository(Website,
                                         self.graph.client,
                                         graph=self.graph)
        repository.metadata = self.metadata
        self.assertEquals(
            None, repository._get_index_among(['content', 'description']))
Esempio n. 5
0
    def test__get_index(self):

        self.graph = TestGraph()
        self.graph.client = self.ogm.client
        self.metadata = BulbsMetadata(Website)

        repository = BulbsNodeRepository(Website,
                                         self.graph.client,
                                         graph=self.graph)
        repository.metadata = None
        self.assertIs(None, repository._get_index())

        self.metadata.indices = []
        repository = BulbsNodeRepository(Website,
                                         self.graph.client,
                                         graph=self.graph)
        repository.metadata = self.metadata
        self.assertEquals([], repository._get_index())

        self.metadata.indices = ['name']
        repository = BulbsNodeRepository(Website,
                                         self.graph.client,
                                         graph=self.graph)
        repository.metadata = self.metadata
        self.assertEquals(['name'], repository._get_index())
Esempio n. 6
0
 def test__get_index(self):
     
     self.graph = TestGraph()
     self.graph.client = self.ogm.client
     self.metadata = BulbsMetadata(Website)
     
     repository = BulbsNodeRepository(Website, self.graph.client, graph=self.graph)
     repository.metadata=None
     self.assertIs(None, repository._get_index())
     
     self.metadata.indices = []
     repository = BulbsNodeRepository(Website, self.graph.client, graph=self.graph)
     repository.metadata=self.metadata
     self.assertEquals([], repository._get_index())
     
     self.metadata.indices = ['name']
     repository = BulbsNodeRepository(Website, self.graph.client, graph=self.graph)
     repository.metadata=self.metadata
     self.assertEquals(['name'], repository._get_index())