class CommitingTestCase(unittest.TestCase): def setUp(self): self.client = SolrClient(SOLR_URL) @inlineCallbacks def testCommit(self): """L{SolrClient.commits} commits the changes to Solr.""" doc = {'id': _randomString(20)} yield self.client.add(doc) r = yield self.client.search('id:%s' % doc['id']) self.assertEqual(r.results.numFound, 0, 'Document addition was commited') yield self.client.commit() r = yield self.client.search('id:%s' % doc['id']) self.assertEqual(r.results.numFound, 1, 'Commit did not work') @inlineCallbacks def testRollback(self): """ L{SolrClient.rollback} withdraws all the changes since the last commit. """ doc = {'id': _randomString(20)} yield self.client.add(doc) yield self.client.rollback() yield self.client.commit() r = yield self.client.search('id:%s' % doc['id']) self.assertEqual(r.results.numFound, 0, 'Rollback did not work') @inlineCallbacks def testsOptimize(self): """L{SolrClient.optimize} commits and optimizes the index.""" doc = {'id': _randomString(20)} yield self.client.add(doc) r = yield self.client.search('id:%s' % doc['id']) self.assertEqual(r.results.numFound, 0, 'Document addition was commited') yield self.client.optimize() r = yield self.client.search('id:%s' % doc['id']) self.assertEqual(r.results.numFound, 1, 'Optimize did not work')