def test_process_usage_for_new_launch_rescue_start_when_launched_at_in_db( self): notification = self._create_mock_notification() raw = self.mox.CreateMockAnything() raw.event = 'compute.instance.rescue.start' orig_launched_at = utils.decimal_utc(DUMMY_TIME - datetime.timedelta(days=1)) usage = self.mox.CreateMockAnything() usage.launched_at = orig_launched_at views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1, request_id=REQUEST_ID_1) \ .AndReturn((usage, True)) views.STACKDB.save(usage) self.mox.ReplayAll() views._process_usage_for_new_launch(raw, notification) self.assertEqual(usage.launched_at, orig_launched_at) self.assertEqual(usage.tenant, TENANT_ID_1) self.assertEquals(usage.os_architecture, OS_ARCH_1) self.assertEquals(usage.os_version, OS_VERSION_1) self.assertEquals(usage.os_distro, OS_DISTRO_1) self.assertEquals(usage.rax_options, RAX_OPTIONS_1) self.mox.VerifyAll()
def test_process_usage_for_new_launch_resize_prep_start_when_no_launched_at_in_db(self): notification = self._create_mock_notification() raw = self.mox.CreateMockAnything() raw.event = 'compute.instance.resize.prep.start' usage = self.mox.CreateMockAnything() usage.launched_at = None views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1, request_id=REQUEST_ID_1) \ .AndReturn((usage, True)) views.STACKDB.save(usage) self.mox.ReplayAll() usage.launched_at = None views._process_usage_for_new_launch(raw, notification) self.assertEqual(usage.launched_at, utils.decimal_utc(DUMMY_TIME)) self.assertEquals(usage.tenant, TENANT_ID_1) self.assertEquals(usage.os_architecture, OS_ARCH_1) self.assertEquals(usage.os_version, OS_VERSION_1) self.assertEquals(usage.os_distro, OS_DISTRO_1) self.assertEquals(usage.rax_options, RAX_OPTIONS_1) self.mox.VerifyAll()
def test_process_usage_for_new_launch_create_start(self): notification = self._create_mock_notification() notification.instance_flavor_id = INSTANCE_FLAVOR_ID_1 raw = self.mox.CreateMockAnything() raw.event = 'compute.instance.create.start' usage = self.mox.CreateMockAnything() views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1, request_id=REQUEST_ID_1) \ .AndReturn((usage, True)) views.STACKDB.save(usage) self.mox.ReplayAll() views._process_usage_for_new_launch(raw, notification) self.assertEquals(usage.instance_type_id, INSTANCE_TYPE_ID_1) self.assertEquals(usage.tenant, TENANT_ID_1) self.assertEquals(usage.os_architecture, OS_ARCH_1) self.assertEquals(usage.os_version, OS_VERSION_1) self.assertEquals(usage.os_distro, OS_DISTRO_1) self.assertEquals(usage.rax_options, RAX_OPTIONS_1) self.assertEquals(usage.instance_flavor_id, INSTANCE_FLAVOR_ID_1) self.mox.VerifyAll()
def test_process_usage_for_new_launch_rescue_start_when_launched_at_in_db(self): notification = self.mox.CreateMockAnything() notification.launched_at = str(DUMMY_TIME) notification.tenant = TENANT_ID_1 notification.rax_options = RAX_OPTIONS_1 notification.os_architecture = OS_ARCH_1 notification.os_version = OS_VERSION_1 notification.os_distro = OS_DISTRO_1 notification.instance = INSTANCE_ID_1 notification.request_id = REQUEST_ID_1 notification.instance_type_id = INSTANCE_TYPE_ID_1 raw = self.mox.CreateMockAnything() raw.event = 'compute.instance.rescue.start' orig_launched_at = utils.decimal_utc(DUMMY_TIME - datetime.timedelta(days=1)) usage = self.mox.CreateMockAnything() usage.launched_at = orig_launched_at views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1, request_id=REQUEST_ID_1) \ .AndReturn((usage, True)) views.STACKDB.save(usage) self.mox.ReplayAll() views._process_usage_for_new_launch(raw, notification) self.assertEqual(usage.launched_at, orig_launched_at) self.assertEqual(usage.tenant, TENANT_ID_1) self.assertEquals(usage.os_architecture, OS_ARCH_1) self.assertEquals(usage.os_version, OS_VERSION_1) self.assertEquals(usage.os_distro, OS_DISTRO_1) self.assertEquals(usage.rax_options, RAX_OPTIONS_1) self.mox.VerifyAll()
def test_process_usage_for_new_launch_rebuild_start(self): kwargs = {'launched': str(DUMMY_TIME), 'tenant_id': TENANT_ID_1} notification = utils.create_nova_notif(request_id=REQUEST_ID_1, **kwargs) event = 'compute.instance.rebuild.start' raw, usage = self._setup_process_usage_mocks(event, notification) views._process_usage_for_new_launch(raw, notification[1]) self.assertEquals(usage.instance_type_id, '1') self.assertEquals(usage.tenant, TENANT_ID_1) self.mox.VerifyAll()
def test_process_usage_for_new_launch_resize_revert_start_when_no_launched_at_in_db(self): kwargs = {'launched': str(DUMMY_TIME), 'tenant_id': TENANT_ID_1} notification = utils.create_nova_notif(request_id=REQUEST_ID_1, **kwargs) event = 'compute.instance.resize.revert.start' raw, usage = self._setup_process_usage_mocks(event, notification) usage.launched_at = None views._process_usage_for_new_launch(raw, notification[1]) self.assertEquals(usage.tenant, TENANT_ID_1) self.assertEqual(usage.launched_at, utils.decimal_utc(DUMMY_TIME)) self.mox.VerifyAll()
def test_process_usage_for_new_launch(self): when = utils.decimal_utc() notif = utils.create_nova_notif(request_id=REQUEST_ID_1) json_str = json.dumps(notif) event = 'compute.instance.create.start' raw = utils.create_raw(self.mox, when, event=event, json_str=json_str) usage = self.mox.CreateMockAnything() views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1, request_id=REQUEST_ID_1)\ .AndReturn((usage, True)) views.STACKDB.save(usage) self.mox.ReplayAll() views._process_usage_for_new_launch(raw, notif[1]) self.assertEquals(usage.instance_type_id, '1') self.mox.VerifyAll()
def test_process_usage_for_new_launch_rebuild_start(self): kwargs = {'launched': str(DUMMY_TIME), 'tenant_id': TENANT_ID_1, 'rax_options': RAX_OPTIONS_1, 'os_architecture': OS_ARCH_1, 'os_version': OS_VERSION_1, 'os_distro': OS_DISTRO_1 } notification = utils.create_nova_notif(request_id=REQUEST_ID_1, **kwargs) event = 'compute.instance.rebuild.start' raw, usage = self._setup_process_usage_mocks(event, notification) views._process_usage_for_new_launch(raw, notification[1]) self.assertEquals(usage.instance_type_id, '1') self.assertEquals(usage.tenant, TENANT_ID_1) self.assertEquals(usage.os_architecture, OS_ARCH_1) self.assertEquals(usage.os_version, OS_VERSION_1) self.assertEquals(usage.os_distro, OS_DISTRO_1) self.assertEquals(usage.rax_options, RAX_OPTIONS_1) self.mox.VerifyAll()
def test_process_usage_for_new_launch_resize_no_launched_at_in_db(self): now = datetime.datetime.utcnow() when = utils.decimal_utc(now) notif = utils.create_nova_notif(request_id=REQUEST_ID_1, launched=str(now)) json_str = json.dumps(notif) event = 'compute.instance.resize.prep.start' raw = utils.create_raw(self.mox, when, event=event, json_str=json_str) usage = self.mox.CreateMockAnything() usage.launched_at = None views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1, request_id=REQUEST_ID_1) \ .AndReturn((usage, True)) views.STACKDB.save(usage) self.mox.ReplayAll() views._process_usage_for_new_launch(raw, notif[1]) self.assertEqual(usage.launched_at, when) self.mox.VerifyAll()
def test_process_usage_for_new_launch_resize_prep_start_when_no_launched_at_in_db(self): kwargs = {'launched': str(DUMMY_TIME), 'tenant_id': TENANT_ID_1, 'rax_options': RAX_OPTIONS_1, 'os_architecture': OS_ARCH_1, 'os_version': OS_VERSION_1, 'os_distro': OS_DISTRO_1 } notification = utils.create_nova_notif(request_id=REQUEST_ID_1, **kwargs) event = 'compute.instance.resize.prep.start' raw, usage = self._setup_process_usage_mocks(event, notification) usage.launched_at = None views._process_usage_for_new_launch(raw, notification[1]) self.assertEqual(usage.launched_at, utils.decimal_utc(DUMMY_TIME)) self.assertEquals(usage.tenant, TENANT_ID_1) self.assertEquals(usage.os_architecture, OS_ARCH_1) self.assertEquals(usage.os_version, OS_VERSION_1) self.assertEquals(usage.os_distro, OS_DISTRO_1) self.assertEquals(usage.rax_options, RAX_OPTIONS_1) self.mox.VerifyAll()