def testEmittedNonMetricSequence(self): key = "bogus-test-key" metric_utils.updateLastEmittedNonMetricSequence(key, 1) # Cleanup self.addCleanup( collectorsdb.engineFactory().execute, schema.emittedNonMetricTracker.delete().where( # pylint: disable=E1120 (schema.emittedNonMetricTracker.c.key == key))) lastEmittedSample = metric_utils.queryLastEmittedNonMetricSequence(key) self.assertEqual(1, lastEmittedSample)
def testUpdateLastEmittedNonMetricSequence(self, collectorsdbMock): # Test with 0 rows modified as result collectorsdbMock.engineFactory.return_value = Mock( spec_set=sqlalchemy.engine.Engine) collectorsdbMock.engineFactory.return_value.execute.side_effect = ( iter([Mock(rowcount=0), Mock()])) metric_utils.updateLastEmittedNonMetricSequence("twitter-tweets-volume", 0) # Assert that an update was called, followed by an insert args, _ = (collectorsdbMock .engineFactory .return_value .execute .call_args_list[0]) self.assertTrue(args) self.assertIsInstance(args[0], sqlalchemy.sql.dml.Update) args, _ = (collectorsdbMock .engineFactory .return_value .execute .call_args_list[1]) self.assertTrue(args) self.assertIsInstance(args[0], sqlalchemy.sql.dml.Insert) # Test again with 1 row modified as result collectorsdbMock.engineFactory.return_value.execute.reset_mock() collectorsdbMock.engineFactory.return_value.execute.side_effect = ( iter([Mock(rowcount=1), Mock()])) metric_utils.updateLastEmittedNonMetricSequence("twitter-tweets-volume", 0) # Assert that an update was called, not followed by an insert args, _ = (collectorsdbMock .engineFactory .return_value .execute .call_args_list[0]) self.assertTrue(args) self.assertIsInstance(args[0], sqlalchemy.sql.dml.Update) self.assertEqual( collectorsdbMock.engineFactory.return_value.execute.call_count, 1)
def testEmittedNonMetricSequence(self): key = "bogus-test-key" metric_utils.updateLastEmittedNonMetricSequence(key, 1) # Cleanup self.addCleanup( collectorsdb.engineFactory().execute, schema.emittedNonMetricTracker.delete().where( # pylint: disable=E1120 (schema.emittedNonMetricTracker.c.key == key) ) ) lastEmittedSample = metric_utils.queryLastEmittedNonMetricSequence(key) self.assertEqual(1, lastEmittedSample)
def testUpdateLastEmittedNonMetricSequence(self, collectorsdbMock): # Test with 0 rows modified as result collectorsdbMock.engineFactory.return_value = Mock( spec_set=sqlalchemy.engine.Engine) collectorsdbMock.engineFactory.return_value.execute.side_effect = ( iter([Mock(rowcount=0), Mock()])) metric_utils.updateLastEmittedNonMetricSequence( "twitter-tweets-volume", 0) # Assert that an update was called, followed by an insert args, _ = (collectorsdbMock.engineFactory.return_value.execute. call_args_list[0]) self.assertTrue(args) self.assertIsInstance(args[0], sqlalchemy.sql.dml.Update) args, _ = (collectorsdbMock.engineFactory.return_value.execute. call_args_list[1]) self.assertTrue(args) self.assertIsInstance(args[0], sqlalchemy.sql.dml.Insert) # Test again with 1 row modified as result collectorsdbMock.engineFactory.return_value.execute.reset_mock() collectorsdbMock.engineFactory.return_value.execute.side_effect = ( iter([Mock(rowcount=1), Mock()])) metric_utils.updateLastEmittedNonMetricSequence( "twitter-tweets-volume", 0) # Assert that an update was called, not followed by an insert args, _ = (collectorsdbMock.engineFactory.return_value.execute. call_args_list[0]) self.assertTrue(args) self.assertIsInstance(args[0], sqlalchemy.sql.dml.Update) self.assertEqual( collectorsdbMock.engineFactory.return_value.execute.call_count, 1)