def test_multi_index(self): """ Test that documents can be stored in multiple indexes. """ self.index.delete_instance() indexes = [Index.create(name='idx-%s' % i) for i in range(3)] document = Document.create(content='hueybear') for index in indexes: index.index( document.content, document) self.assertEqual(Document.select().count(), 1) self.assertEqual(Index.select().count(), 3) self.assertEqual(IndexDocument.select().count(), 3) query = (IndexDocument .select(Index.name, IndexDocument.document) .join(Index) .order_by(Index.name) .dicts()) idx_doc_data = [idx_doc for idx_doc in query] self.assertEqual(idx_doc_data, [ {'document': document.rowid, 'name': 'idx-0'}, {'document': document.rowid, 'name': 'idx-1'}, {'document': document.rowid, 'name': 'idx-2'}, ])
def test_multi_index(self): """ Test that documents can be stored in multiple indexes. """ self.index.delete_instance() indexes = [Index.create(name='idx-%s' % i) for i in range(3)] document = Document.create(content='hueybear') for index in indexes: index.index( document.content, document) self.assertEqual(Document.select().count(), 1) self.assertEqual(Index.select().count(), 3) self.assertEqual(IndexDocument.select().count(), 3) query = (IndexDocument .select(Index.name, IndexDocument.document) .join(Index) .order_by(Index.name) .dicts()) idx_doc_data = [idx_doc for idx_doc in query] self.assertEqual(idx_doc_data, [ {'document_id': document.get_id(), 'name': 'idx-0'}, {'document_id': document.get_id(), 'name': 'idx-1'}, {'document_id': document.get_id(), 'name': 'idx-2'}, ])
def test_index_update_delete(self): idx = Index.create(name='idx') alt_idx = Index.create(name='alt-idx') doc = idx.index(content='foo') alt_idx.index(doc.content, doc) idx.index('idx only') alt_idx.index('alt only') response = self.post_json('/idx/', {'name': 'idx-updated'}) self.assertEqual(response['id'], idx.id) self.assertEqual(response['name'], 'idx-updated') self.assertEqual([doc['content'] for doc in response['documents']], ['foo', 'idx only']) response = self.app.delete('/idx-updated/') data = json.loads(response.data) self.assertEqual(data, {'success': True}) self.assertEqual(Document.select().count(), 3) self.assertEqual(IndexDocument.select().count(), 2) self.assertEqual(Index.select().count(), 1)
def test_index_update_delete(self): idx = Index.create(name='idx') alt_idx = Index.create(name='alt-idx') doc = idx.index(content='foo') alt_idx.index(doc.content, doc) idx.index('idx only') alt_idx.index('alt only') response = self.post_json('/idx/', {'name': 'idx-updated'}) self.assertEqual(response['id'], idx.id) self.assertEqual(response['name'], 'idx-updated') self.assertEqual( [doc['content'] for doc in response['documents']], ['foo', 'idx only']) response = self.app.delete('/idx-updated/') data = json.loads(response.data) self.assertEqual(data, {'success': True}) self.assertEqual(Document.select().count(), 3) self.assertEqual(IndexDocument.select().count(), 2) self.assertEqual(Index.select().count(), 1)
def test_create_index(self): data = self.post_json('/', {'name': 'TestIndex'}) self.assertEqual(data['name'], 'TestIndex') self.assertEqual(data['documents'], []) self.assertEqual(Index.select().count(), 1)
def test_create_index(self): data = self.post_json('/', {'name': 'TestIndex'}) self.assertEqual(data['name'], 'TestIndex') self.assertEqual(data['documents'], []) self.assertEqual(Index.select().count(), 1)