def testTotalRelativeDifferenceAlert(self): compute_engine_alert = main.Alert() compute_engine_alert.range = main.AlertRange.ONE_DAY compute_engine_alert.trigger = main.AlertTrigger.RELATIVE_CHANGE compute_engine_alert.target_value = 'Total' compute_engine_alert.trigger_value = 1.1 v = compute_engine_alert.isAlertTriggered('google-platform-demo', date(2014, 02, 01)) assert v
def testNegativetSKURelativeDifferenceAlert(self): compute_engine_alert = main.Alert() compute_engine_alert.range = main.AlertRange.ONE_WEEK compute_engine_alert.trigger = main.AlertTrigger.RELATIVE_CHANGE compute_engine_alert.target_value = 'Cloud/compute-engine' compute_engine_alert.trigger_value = -300 v = compute_engine_alert.isAlertTriggered('google-platform-demo', date(2014, 02, 01)) assert not v
def testTotalDifferenceAlert(self): # data_table = main.GetAllBillingDataTable('google-platform-demo') compute_engine_alert = main.Alert() compute_engine_alert.range = main.AlertRange.ONE_DAY compute_engine_alert.target_value = 'Total' compute_engine_alert.trigger = main.AlertTrigger.TOTAL_CHANGE compute_engine_alert.trigger_value = 10.00 v = compute_engine_alert.isAlertTriggered('google-platform-demo', date(2014, 02, 04)) self.assertTrue(v)
def testAlertSummaryObjectChangeNotification(self): data_dir = 'test/data/notifications' file_name = 'google-platform-demo-2014-02-04.json' project_date = main.MatchProjectDate(file_name) compute_engine_alert = main.Alert(parent=main.Alert.entity_group) compute_engine_alert.name = 'Test Compute Engine Alert Alert' compute_engine_alert.range = main.AlertRange.ONE_DAY compute_engine_alert.target_value = 'Total' compute_engine_alert.trigger = main.AlertTrigger.TOTAL_CHANGE compute_engine_alert.trigger_value = 10.00 compute_engine_alert.project = project_date[0] compute_engine_alert.put() subscription = main.Subscription.getInstance(project_date[0]) subscription.daily_summary = False local_notification = open(os.sep.join([data_dir, file_name])).read() notification_dict = json.loads(local_notification) project_date = main.MatchProjectDate(file_name) subscription = main.Subscription.getInstance(project_date[0]) subscription.daily_summary = True response = self.testapp.post_json('/objectChangeNotification', notification_dict) logging.debug(repr(response)) self.assertEqual(response.status_int, 200)