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'))
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']))
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'))
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']))
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())
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())