def test_signal_based_update(self): """ Turning on signals will automatically update objects in the autocompleter """ signal_registry.register(Stock) aapl = Stock(symbol='AAPL', name='Apple', market_cap=50) aapl.save() autocomp = Autocompleter("stock") matches = autocomp.suggest('aapl') self.assertEqual(len(matches), 1) aapl.symbol = 'XYZ' aapl.name = 'XYZ & Co.' aapl.save() matches = autocomp.suggest('aapl') self.assertEqual(len(matches), 0) matches = autocomp.suggest('xyz') self.assertEqual(len(matches), 1) aapl.delete() keys = self.redis.keys('djac.stock*') self.assertEqual(len(keys), 0) signal_registry.unregister(Stock)
def test_signal_based_update(self): """ Turning on signals will automatically update objects in the autocompleter """ signal_registry.register(Stock) aapl = Stock(symbol='AAPL', name='Apple', market_cap=50) aapl.save() autocomp = Autocompleter("stock") matches = autocomp.suggest('aapl') self.assertEqual(len(matches), 1) aapl.symbol = 'XYZ' aapl.name = 'XYZ & Co.' aapl.save() matches = autocomp.suggest('aapl') self.assertEqual(len(matches), 0) matches = autocomp.suggest('xyz') self.assertEqual(len(matches), 1) aapl.delete() keys = self.redis.keys('djac.test.stock*') self.assertEqual(len(keys), 0) signal_registry.unregister(Stock)
def test_orphan_removal(self): """ test orphan removal """ signal_registry.register(Indicator) autocomp = Autocompleter("indicator") autocomp.store_all() unemployment = Indicator.objects.get(internal_name='unemployment_rate') unemployment.name = 'free parking' unemployment.save() self.assertTrue(autocomp.suggest('free parking')[0]['id'] == 1) self.assertTrue(len(autocomp.suggest('US Unemployment Rate')) == 0) autocomp.remove_all() signal_registry.unregister(Indicator)
def test_signal_based_add_and_remove(self): """ Turning on signals will automatically add and remove and object from the autocompleter """ aapl = Stock(symbol='AAPL', name='Apple', market_cap=50) aapl.save() keys = self.redis.keys('djac.stock*') self.assertEqual(len(keys), 0) signal_registry.register(Stock) aapl.save() keys = self.redis.keys('djac.stock*') self.assertNotEqual(len(keys), 0) aapl.delete() keys = self.redis.keys('djac.stock*') self.assertEqual(len(keys), 0) signal_registry.unregister(Stock)
def test_signal_based_add_and_remove(self): """ Turning on signals will automatically add and remove and object from the autocompleter """ aapl = Stock(symbol='AAPL', name='Apple', market_cap=50) aapl.save() keys = self.redis.keys('djac.test.stock*') self.assertEqual(len(keys), 0) signal_registry.register(Stock) aapl.save() keys = self.redis.keys('djac.test.stock*') self.assertNotEqual(len(keys), 0) aapl.delete() keys = self.redis.keys('djac.test.stock*') self.assertEqual(len(keys), 0) signal_registry.unregister(Stock)