def testDeprecateTestsMapper_UpdatesTest(self): trace_a, trace_b, suite = self._AddMockDataForDeprecatedTests() for operation in mr.DeprecateTestsMapper(trace_a): self._ExecOperation(operation) for operation in mr.DeprecateTestsMapper(trace_b): self._ExecOperation(operation) self.assertTrue(trace_a.deprecated) self.assertFalse(trace_b.deprecated) self.assertFalse(suite.deprecated)
def testDeprecateTestsMapper_RefBuild_NoStoppageAlert(self): test_key, row_key, ref_test_key, _, sheriff_key = ( self._AddTestRowSheriff(row_age_days=8, stoppage_alert_delay=6)) self.assertIsNone(stoppage_alert.StoppageAlert.query().get()) for operation in mr.DeprecateTestsMapper(test_key.get()): self._ExecOperation(operation) for operation in mr.DeprecateTestsMapper(ref_test_key.get()): self._ExecOperation(operation) alerts = stoppage_alert.StoppageAlert.query().fetch() self.assertEqual(1, len(alerts)) # Should not be 2, 2nd is ref. self.assertEqual(sheriff_key, alerts[0].sheriff) self.assertEqual(test_key, alerts[0].test) self.assertEqual(row_key.id(), alerts[0].revision)
def testDeprecateTestsMapper_NotOldEnough_NoNewStoppageAlert(self): test_key, _, _ = self._AddTestRowSheriff(row_age_days=4, stoppage_alert_delay=5) self.assertIsNone(stoppage_alert.StoppageAlert.query().get()) for operation in mr.DeprecateTestsMapper(test_key.get()): self._ExecOperation(operation) self.assertIsNone(stoppage_alert.StoppageAlert.query().get())
def testDeprecateTestsMapper_DeletesTest(self): trace_a, trace_b, suite = self._AddMockDataForDeletedTests() trace_a_key = trace_a.key trace_b_key = trace_b.key suite_key = suite.key for operation in mr.DeprecateTestsMapper(trace_a): self._ExecOperation(operation) for operation in mr.DeprecateTestsMapper(trace_b): self._ExecOperation(operation) self.ExecuteTaskQueueTasks( '/delete_test_data', mr._DELETE_TASK_QUEUE_NAME) self.assertIsNone(trace_a_key.get()) self.assertIsNotNone(trace_b_key.get()) self.assertIsNotNone(suite_key.get())
def testDeprecateTestsMapper_AllSubtestsDeprecated_UpdatesSuite(self): (trace_a, trace_b, suite) = self._AddMockDataForDeprecatedTests() last_b = graph_data.Row.query( graph_data.Row.parent_test == utils.OldStyleTestKey(trace_b.key), graph_data.Row.revision == 4).get() last_b.timestamp = datetime.datetime.now() - datetime.timedelta(days=20) last_b.put() for operation in mr.DeprecateTestsMapper(trace_a): self._ExecOperation(operation) for operation in mr.DeprecateTestsMapper(trace_b): self._ExecOperation(operation) self.assertTrue(trace_a.deprecated) self.assertTrue(trace_b.deprecated) self.assertTrue(suite.deprecated)
def testDeprecateTestsMapper_AlreadyHasAlert_NoNewStoppageAlert(self): test_key, row_key, _ = self._AddTestRowSheriff(row_age_days=8, stoppage_alert_delay=6) self.assertIsNone(stoppage_alert.StoppageAlert.query().get()) stoppage_alert.CreateStoppageAlert(test_key.get(), row_key.get()).put() self.assertEqual(1, len(stoppage_alert.StoppageAlert.query().fetch())) for operation in mr.DeprecateTestsMapper(test_key.get()): self._ExecOperation(operation) self.assertEqual(1, len(stoppage_alert.StoppageAlert.query().fetch()))
def testDeprecateTestsMapper_NoAlertYet_CreatesStoppageAlert(self): test_key, row_key, sheriff_key = self._AddTestRowSheriff( row_age_days=8, stoppage_alert_delay=6) self.assertIsNone(stoppage_alert.StoppageAlert.query().get()) for operation in mr.DeprecateTestsMapper(test_key.get()): self._ExecOperation(operation) alerts = stoppage_alert.StoppageAlert.query().fetch() self.assertEqual(1, len(alerts)) self.assertEqual(sheriff_key, alerts[0].sheriff) self.assertEqual(test_key, alerts[0].test) self.assertEqual(row_key.id(), alerts[0].revision)