def test_save_delete_should_persist_image_delete(self): raw = self.mox.CreateMockAnything() uuid = "2df2ccf6-bc1b-4853-aab0-25fda346b3bb" deleted_at = "2013-06-20 14:31:57.939614" body = { "event_type": "image.delete", "publisher_id": "glance-api01-r2961.global.preprod-ord.ohthree.com", "payload": { "id": "2df2ccf6-bc1b-4853-aab0-25fda346b3bb", "deleted_at": deleted_at } } deployment = "1" routing_key = "glance_monitor.info" json_body = json.dumps([routing_key, body]) self.mox.StubOutWithMock(db, 'create_image_delete') db.create_image_delete( raw=raw, uuid=uuid, deleted_at=utils.str_time_to_unix(deleted_at)).AndReturn(raw) self.mox.ReplayAll() notification = GlanceNotification(body, deployment, routing_key, json_body) notification.save_delete(raw) self.mox.VerifyAll()
def test_save_usage_should_persist_image_usage(self): raw = self.mox.CreateMockAnything() size = 123 uuid = "2df2ccf6-bc1b-4853-aab0-25fda346b3bb" body = { "event_type": "image.upload", "timestamp": "2013-06-20 18:31:57.939614", "publisher_id": "glance-api01-r2961.global.preprod-ord.ohthree.com", "payload": { "created_at": str(DUMMY_TIME), "size": size, "owner": TENANT_ID_1, "id": "2df2ccf6-bc1b-4853-aab0-25fda346b3bb", } } deployment = "1" routing_key = "glance_monitor.info" json_body = json.dumps([routing_key, body]) self.mox.StubOutWithMock(db, 'create_image_usage') db.create_image_usage(created_at=utils.str_time_to_unix( str(DUMMY_TIME)), owner=TENANT_ID_1, last_raw=raw, size=size, uuid=uuid).AndReturn(raw) self.mox.ReplayAll() notification = GlanceNotification(body, deployment, routing_key, json_body) notification.save_usage(raw) self.mox.VerifyAll()
def test_save_should_persist_glance_rawdata_erro_payload_to_database(self): body = { "event_type": "image.upload", "timestamp": "2013-06-20 17:31:57.939614", "publisher_id": "glance-api01-r2961.global.preprod-ord.ohthree.com", "payload": "error_message" } deployment = "1" routing_key = "glance_monitor.error" json_body = json.dumps([routing_key, body]) raw = self.mox.CreateMockAnything() self.mox.StubOutWithMock(db, 'create_glance_rawdata') db.create_glance_rawdata( deployment="1", owner=None, json=json_body, routing_key=routing_key, when=utils.str_time_to_unix("2013-06-20 17:31:57.939614"), publisher="glance-api01-r2961.global.preprod-ord.ohthree.com", event="image.upload", service="glance-api01-r2961", host="global.preprod-ord.ohthree.com", instance=None, request_id='', image_type=None, status=None, uuid=None).AndReturn(raw) self.mox.ReplayAll() notification = GlanceNotification(body, deployment, routing_key, json_body) self.assertEquals(notification.save(), raw) self.mox.VerifyAll()
def test_save_image_exists_without_created_at(self): raw = self.mox.CreateMockAnything() raw.id = 1 audit_period_beginning = "2013-05-20 17:31:57.939614" audit_period_ending = "2013-06-20 17:31:57.939614" size = 123 uuid = "2df2ccf6-bc1b-4853-aab0-25fda346b3bb" body = { "event_type": "image.exists", "timestamp": "2013-06-20 18:31:57.939614", "publisher_id": "glance-api01-r2961.global.preprod-ord.ohthree.com", "payload": { "audit_period_beginning": audit_period_beginning, "audit_period_ending": audit_period_ending, "owner": TENANT_ID_1, "images": [{ "created_at": None, "id": uuid, "size": size, "status": "saving", "properties": { "instance_uuid": INSTANCE_ID_1 }, "deleted_at": None, }, { "created_at": None, "id": uuid, "size": size, "status": "saving", "properties": { "instance_uuid": INSTANCE_ID_1 }, "deleted_at": None, }] } } deployment = "1" routing_key = "glance_monitor.info" json_body = json.dumps([routing_key, body]) self.mox.StubOutWithMock(stacklog, 'warn') stacklog.warn("Ignoring exists without created_at. GlanceRawData(1)") stacklog.warn("Ignoring exists without created_at. GlanceRawData(1)") self.mox.ReplayAll() notification = GlanceNotification(body, deployment, routing_key, json_body) notification.save_exists(raw) self.mox.VerifyAll()
def test_save_should_persist_glance_rawdata_to_database(self): body = { "event_type": "image.upload", "timestamp": "2013-06-20 17:31:57.939614", "publisher_id": "glance-api01-r2961.global.preprod-ord.ohthree.com", "payload": { "status": "saving", "properties": { "image_type": "snapshot", "instance_uuid": INSTANCE_ID_1, }, "owner": TENANT_ID_1, "id": "2df2ccf6-bc1b-4853-aab0-25fda346b3bb", } } deployment = "1" routing_key = "glance_monitor.info" json_body = json.dumps([routing_key, body]) raw = self.mox.CreateMockAnything() self.mox.StubOutWithMock(db, 'create_glance_rawdata') db.create_glance_rawdata( deployment="1", owner=TENANT_ID_1, json=json_body, routing_key=routing_key, when=utils.str_time_to_unix("2013-06-20 17:31:57.939614"), publisher="glance-api01-r2961.global.preprod-ord.ohthree.com", event="image.upload", service="glance-api01-r2961", host="global.preprod-ord.ohthree.com", instance=INSTANCE_ID_1, request_id='', image_type=0, status="saving", uuid="2df2ccf6-bc1b-4853-aab0-25fda346b3bb").AndReturn(raw) self.mox.ReplayAll() notification = GlanceNotification(body, deployment, routing_key, json_body) self.assertEquals(notification.save(), raw) self.mox.VerifyAll()
def test_save_exists_should_log_warning_when_payload_is_invalid(self): raw = self.mox.CreateMockAnything() raw.id = 1 body = { "event_type": "image.exists", "publisher_id": "glance-api01-r2961.global.preprod-ord.ohthree.com", "payload": [] } deployment = "1" routing_key = "glance_monitor.info" json_body = json.dumps([routing_key, body]) self.mox.StubOutWithMock(stacklog, 'warn') stacklog.warn("Received exists with invalid payload GlanceRawData(1)") self.mox.ReplayAll() notification = GlanceNotification(body, deployment, routing_key, json_body) notification.save_exists(raw) self.mox.VerifyAll()
def test_save_image_exists_with_created_at_and_deleted_at(self): raw = self.mox.CreateMockAnything() delete = self.mox.CreateMockAnything() audit_period_beginning = "2013-05-20 17:31:57.939614" audit_period_ending = "2013-06-20 17:31:57.939614" created_at = "2013-05-20 19:31:57.939614" deleted_at = "2013-05-20 21:31:57.939614" size = 123 uuid = "2df2ccf6-bc1b-4853-aab0-25fda346b3bb" body = { "event_type": "image.exists", "timestamp": "2013-06-20 18:31:57.939614", "publisher_id": "glance-api01-r2961.global.preprod-ord.ohthree.com", "message_id": "d14cfa51-6a0e-4cf8-9130-804738be96d2", "payload": { "audit_period_beginning": audit_period_beginning, "audit_period_ending": audit_period_ending, "owner": TENANT_ID_1, "images": [{ "created_at": created_at, "id": uuid, "size": size, "status": "saving", "properties": { "instance_uuid": INSTANCE_ID_1 }, "deleted_at": deleted_at, }, { "created_at": created_at, "id": uuid, "size": size, "status": "saving", "properties": { "instance_uuid": INSTANCE_ID_1 }, "deleted_at": deleted_at, }] } } deployment = "1" routing_key = "glance_monitor.info" json_body = json.dumps([routing_key, body]) self.mox.StubOutWithMock(db, 'create_image_exists') self.mox.StubOutWithMock(db, 'get_image_usage') self.mox.StubOutWithMock(db, 'get_image_delete') for i in range(0, 2): db.get_image_usage(uuid=uuid).AndReturn(None) db.get_image_delete(uuid=uuid).AndReturn(delete) db.create_image_exists( created_at=utils.str_time_to_unix(created_at), owner=TENANT_ID_1, raw=raw, audit_period_beginning=utils.str_time_to_unix( audit_period_beginning), audit_period_ending=utils.str_time_to_unix( audit_period_ending), size=size, uuid=uuid, usage=None, delete=delete, deleted_at=utils.str_time_to_unix(deleted_at), message_id="d14cfa51-6a0e-4cf8-9130-804738be96d2").AndReturn( raw) self.mox.ReplayAll() notification = GlanceNotification(body, deployment, routing_key, json_body) notification.save_exists(raw) self.mox.VerifyAll()
def test_save_glancerawdata(self): raw = self.mox.CreateMockAnything() audit_period_beginning = "2013-05-20 17:31:57.939614" audit_period_ending = "2013-06-20 17:31:57.939614" created_at = "2013-05-20 19:31:57.939614" size = 123 uuid = "2df2ccf6-bc1b-4853-aab0-25fda346b3bb" body = { "event_type": "image.exists", "timestamp": "2013-06-20 18:31:57.939614", "publisher_id": "glance-api01-r2961.global.preprod-ord.ohthree.com", "payload": { "audit_period_beginning": audit_period_beginning, "audit_period_ending": audit_period_ending, "owner": TENANT_ID_1, "images": [{ "created_at": created_at, "id": uuid, "size": size, "status": "saving", "properties": { "instance_uuid": INSTANCE_ID_1 }, "deleted_at": None, }, { "created_at": str(DUMMY_TIME), "id": uuid, "size": size, "status": "saving", "properties": { "instance_uuid": INSTANCE_ID_1 }, "deleted_at": None, }] } } deployment = "1" routing_key = "glance_monitor.info" json_body = json.dumps([routing_key, body]) self.mox.StubOutWithMock(db, 'create_glance_rawdata') db.create_glance_rawdata( deployment="1", owner="testtenantid1", json=json_body, routing_key=routing_key, when=utils.str_time_to_unix("2013-06-20 18:31:57.939614"), publisher="glance-api01-r2961.global.preprod-ord.ohthree.com", event="image.exists", service="glance-api01-r2961", host="global.preprod-ord.ohthree.com", instance=None, request_id='', image_type=0, status=None, uuid=None).AndReturn(raw) self.mox.ReplayAll() notification = GlanceNotification(body, deployment, routing_key, json_body) notification.save() self.mox.VerifyAll()