def test_oswl_is_sent_restored_on_changes(self): cluster_id = 1 vm_info = { "id": 1, "power_state": 1, } oswl_statistics_save(cluster_id, consts.OSWL_RESOURCE_TYPES.vm, [vm_info]) last = OpenStackWorkloadStats.get_last_by( cluster_id, consts.OSWL_RESOURCE_TYPES.vm) # Setting is_sent to True OpenStackWorkloadStats.update(last, {'is_sent': True}) self.assertEqual(True, last.is_sent) # Checking is_sent is not changed if data is not changed oswl_statistics_save(cluster_id, consts.OSWL_RESOURCE_TYPES.vm, [vm_info]) last_no_change = OpenStackWorkloadStats.get_last_by( cluster_id, consts.OSWL_RESOURCE_TYPES.vm) self.assertEqual(True, last_no_change.is_sent) # Checking is_sent is changed if data is changed vm_info["power_state"] += 1 oswl_statistics_save(cluster_id, consts.OSWL_RESOURCE_TYPES.vm, [vm_info]) last_changed = OpenStackWorkloadStats.get_last_by( cluster_id, consts.OSWL_RESOURCE_TYPES.vm) self.assertEqual(False, last_changed.is_sent)
def test_oswl_is_sent_restored_on_changes(self): cluster_id = 1 vm_info = { "id": 1, "power_state": 1, } oswl_statistics_save(cluster_id, consts.OSWL_RESOURCE_TYPES.vm, [vm_info]) last = OpenStackWorkloadStats.get_last_by( cluster_id, consts.OSWL_RESOURCE_TYPES.vm) # Setting is_sent to True OpenStackWorkloadStats.update(last, {'is_sent': True}) self.assertEqual(True, last.is_sent) # Checking is_sent is not changed if data is not changed oswl_statistics_save(cluster_id, consts.OSWL_RESOURCE_TYPES.vm, [vm_info]) last_no_change = OpenStackWorkloadStats.get_last_by( cluster_id, consts.OSWL_RESOURCE_TYPES.vm) self.assertEqual(True, last_no_change.is_sent) # Checking is_sent is changed if data is changed vm_info["power_state"] += 1 oswl_statistics_save(cluster_id, consts.OSWL_RESOURCE_TYPES.vm, [vm_info]) last_changed = OpenStackWorkloadStats.get_last_by( cluster_id, consts.OSWL_RESOURCE_TYPES.vm) self.assertEqual(False, last_changed.is_sent)
def test_add_row_per_day(self): # VM is added last = self.save_data_and_check_record([self.vms_info]) date_cur = last.created_date time_update = last.updated_time date_1st_rec = date_cur - datetime.timedelta(days=1) # make existing record one day older OpenStackWorkloadStats.update(last, {'created_date': date_1st_rec}) # pass the same data # no new record was created and existing one remains unchanged self.assertEqual(last, self.save_data_and_check_record([self.vms_info])) # VM is removed oswl_statistics_save(1, consts.OSWL_RESOURCE_TYPES.vm, []) saved = self.check_overall_rec_count(2) last = OpenStackWorkloadStats.get_last_by( 1, consts.OSWL_RESOURCE_TYPES.vm) self.assertEqual(last.created_date, date_cur) for rec in saved: if rec.created_date == date_cur: self.assertEqual(rec, last) # last record contains 'removed' and empty 'added' data = self.empty_data removed = dict(self.vms_info) removed['time'] = last.updated_time.isoformat() data['resource_data']['removed'] = [removed] self.check_data_vs_rec(data, rec) elif rec.created_date == date_1st_rec: # first record contains 'added' and empty 'removed' data = self.data_w_default_vm_info(time_update) data['created_date'] = date_1st_rec self.check_data_vs_rec(data, rec)
def test_add_row_per_day(self): # VM is added last = self.save_data_and_check_record([self.vms_info]) date_cur = last.created_date time_update = last.updated_time date_1st_rec = date_cur - datetime.timedelta(days=1) # make existing record one day older OpenStackWorkloadStats.update(last, {'created_date': date_1st_rec}) # pass the same data # no new record was created and existing one remains unchanged self.assertEqual(last, self.save_data_and_check_record([self.vms_info])) # VM is removed oswl_statistics_save(1, consts.OSWL_RESOURCE_TYPES.vm, []) saved = self.check_overall_rec_count(2) last = OpenStackWorkloadStats.get_last_by( 1, consts.OSWL_RESOURCE_TYPES.vm) self.assertEqual(last.created_date, date_cur) for rec in saved: if rec.created_date == date_cur: self.assertEqual(rec, last) # last record contains 'removed' and empty 'added' data = self.empty_data removed = dict(self.vms_info) removed['time'] = last.updated_time.isoformat() data['resource_data']['removed'] = [removed] self.check_data_vs_rec(data, rec) elif rec.created_date == date_1st_rec: # first record contains 'added' and empty 'removed' data = self.data_w_default_vm_info(time_update) data['created_date'] = date_1st_rec self.check_data_vs_rec(data, rec)