def POST(self, image_id='', image_meta=None): """ This func registers a new VM image and creates an image_id for the image or updates the metadata for an image Args: name, image_format, container_format, etc... """ auth_token = web.ctx.get('environ').get('HTTP_X_AUTH_TOKEN', None) auth_tenant_id = web.ctx.get('environ').get('HTTP_X_AUTH_TENANT_ID', None) image_meta = {} """ Image parameters """ image_meta['id'] = web.ctx.env.get('HTTP_X_IMAGE_META_ID', image_id) image_meta['name'] = web.ctx.env.get('HTTP_X_IMAGE_META_NAME', None) image_meta['distro'] = web.ctx.env.get('HTTP_X_IMAGE_META_DISTRO', None) image_meta['status'] = web.ctx.env.get('HTTP_X_IMAGE_META_STATUS', None) image_meta['checksum'] = web.ctx.env.get('HTTP_X_IMAGE_META_CHECKSUM', None) image_meta['created_at'] = web.ctx.env.get('HTTP_X_IMAGE_META_CREATED_AT', None) image_meta['disk_format'] = web.ctx.env.get('HTTP_X_IMAGE_META_DISK_FORMAT', None) image_meta['updated_at'] = web.ctx.env.get('HTTP_X_IMAGE_META_UPDATED_AT', None) image_meta['owner'] = web.ctx.env.get('HTTP_X_IMAGE_META_OWNER', None) image_meta['min_ram'] = web.ctx.env.get('HTTP_X_IMAGE_META_MIN_RAM', None) image_meta['container_format'] = web.ctx.env.get('HTTP_X_IMAGE_META_CONTAINER_FORMAT', None) image_meta['min_disk'] = web.ctx.env.get('HTTP_X_IMAGE_META_MIN_DISK', None) image_meta['size'] = web.ctx.env.get('HTTP_X_IMAGE_META_SIZE', None) image_meta['properties'] = web.ctx.env.get('HTTP_X_IMAGE_META_PROPERTIES', None) """ The following are boolean parameters of the selected image """ image_meta['deleted'] = web.ctx.env.get('HTTP_X_IMAGE_META_DELETED', 'false') image_meta['protected'] = web.ctx.env.get('HTTP_X_IMAGE_META_PROTECTED', 'false') image_meta['is_public'] = web.ctx.env.get('HTTP_X_IMAGE_META_IS_PUBLIC', 'false') image.update_image_meta(auth_token, image_id, image_meta, image_data=None, features=None) return json.dumps(image_meta, indent = 4)
def test_3update_image(self): data = image.update_image_meta(token, image_id, image_meta={'name': 'revised_test_name'}) self.assertIsNone(data, 'This should not return any data')
def test_4revise_updated_image(self): data = image.update_image_meta(token, image_id, image_meta={'name': 'API_Test_IMG'}) self.assertIsNone(data, 'This should not return any data')
def test_2update_new_image(self): data = image.update_image_meta(token, image_id=random_image_id, image_meta={'name': 'New Test Image - Changed'}) self.assertIsNone(data, 'This should not return any data')