def setUpClass(cls): super(ImagesV2Fixture, cls).setUpClass() cls.config = ImagesConfig() cls.resources = ResourcePool() access_data = AuthProvider.get_access_data() cls.images_endpoint = '{base_url}/v2'.format( base_url=cls.config.base_url) cls.api_client = ImagesV2Client(cls.images_endpoint, access_data.token.id_, 'json', 'json')
def setUpClass(cls): super(ImagesFixture, cls).setUpClass() cls.images_config = ImagesConfig() cls.marshalling = MarshallingConfig() cls.endpoint_config = UserAuthConfig() cls.user_config = UserConfig() cls.alt_user_config = AltUserConfig() cls.third_user_config = ThirdUserConfig() cls.resources = ResourcePool() cls.serialize_format = cls.marshalling.serializer cls.deserialize_format = cls.marshalling.deserializer cls.user_list = cls.generate_user_list(cls.images_config.account_list) cls.access_data = cls.user_list['user'][cls.ACCESS_DATA] cls.images_client = cls.user_list['user'][cls.CLIENT] cls.images_behavior = cls.user_list['user'][cls.BEHAVIOR] cls.tenant_id = cls.access_data.token.tenant.id_ cls.addClassCleanup(cls.images_behavior.resources.release) if cls.user_list.get('alt_user'): cls.alt_access_data = cls.user_list['alt_user'][cls.ACCESS_DATA] cls.alt_images_client = cls.user_list['alt_user'][cls.CLIENT] cls.alt_images_behavior = cls.user_list['alt_user'][cls.BEHAVIOR] cls.alt_tenant_id = cls.alt_access_data.token.tenant.id_ cls.addClassCleanup(cls.alt_images_behavior.resources.release) if cls.user_list.get('third_user'): cls.third_access_data = ( cls.user_list['third_user'][cls.ACCESS_DATA]) cls.third_images_client = cls.user_list['third_user'][cls.CLIENT] cls.third_images_behavior = ( cls.user_list['third_user'][cls.BEHAVIOR]) cls.third_tenant_id = cls.third_access_data.token.tenant.id_ cls.addClassCleanup(cls.third_images_behavior.resources.release) cls.error_msg = Messages.ERROR_MSG cls.id_regex = re.compile(ImageProperties.ID_REGEX) cls.import_from = cls.images_config.import_from cls.import_from_bootable = cls.images_config.import_from_bootable cls.import_from_format = cls.images_config.import_from_format cls.export_to = cls.images_config.export_to cls.max_created_at_delta = cls.images_config.max_created_at_delta cls.max_expires_at_delta = cls.images_config.max_expires_at_delta cls.max_updated_at_delta = cls.images_config.max_updated_at_delta cls.test_file = cls.read_data_file(cls.images_config.test_file) cls.addClassCleanup(cls.resources.release) cls.exception_handler = ExceptionHandler() cls.images_client.add_exception_handler(cls.exception_handler)
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ import unittest2 as unittest from cafe.drivers.unittest.decorators import tags from cloudcafe.common.tools.datagen import rand_name from cloudcafe.images.common.types import ImageContainerFormat, ImageDiskFormat from cloudcafe.images.config import ImagesConfig from cloudroast.images.fixtures import ImagesFixture images_config = ImagesConfig() allow_post_images = images_config.allow_post_images class TestUpdateImagePositive(ImagesFixture): @tags(type='positive', regression='true') def test_update_image_add_additional_property(self): """ @summary: Update image add additional property 1) Create image 2) Update image adding a new property 3) Verify that the response code is 200 4) Verify that the new property is in the response 5) Verify that the new property's value is correct """
def setUpClass(cls): super(ImagesFixture, cls).setUpClass() cls.config = ImagesConfig() cls.resources = ResourcePool()
def setUpClass(cls): super(ImagesFixture, cls).setUpClass() cls.images_config = ImagesConfig() cls.marshalling = MarshallingConfig() cls.endpoint_config = UserAuthConfig() cls.user_config = UserConfig() cls.alt_user_config = AltUserConfig() cls.third_user_config = ThirdUserConfig() cls.resources = ResourcePool() cls.serialize_format = cls.marshalling.serializer cls.deserialize_format = cls.marshalling.deserializer cls.access_data = AuthProvider.get_access_data(cls.endpoint_config, cls.user_config) # If authentication fails, fail immediately if cls.access_data is None: cls.assertClassSetupFailure('Authentication failed') cls.alt_access_data = AuthProvider.get_access_data( cls.endpoint_config, cls.alt_user_config) # If authentication fails, fail immediately if cls.alt_access_data is None: cls.assertClassSetupFailure('Authentication failed') cls.third_access_data = AuthProvider.get_access_data( cls.endpoint_config, cls.third_user_config) # If authentication fails, fail immediately if cls.third_access_data is None: cls.assertClassSetupFailure('Authentication failed') images_service = cls.access_data.get_service( cls.images_config.endpoint_name) images_url_check = images_service.get_endpoint( cls.images_config.region) # If endpoint validation fails, fail immediately if images_url_check is None: cls.assertClassSetupFailure('Endpoint validation failed') cls.url = (images_service.get_endpoint( cls.images_config.region).public_url) # If a url override was provided, use it instead if cls.images_config.override_url: cls.url = cls.images_config.override_url cls.images_client = cls.generate_images_client(cls.access_data) cls.alt_images_client = cls.generate_images_client(cls.alt_access_data) cls.third_images_client = cls.generate_images_client( cls.third_access_data) cls.images_behavior = ImagesBehaviors(images_client=cls.images_client, images_config=cls.images_config) cls.alt_images_behavior = ImagesBehaviors( images_client=cls.alt_images_client, images_config=cls.images_config) cls.third_images_behavior = ImagesBehaviors( images_client=cls.third_images_client, images_config=cls.images_config) cls.alt_tenant_id = cls.alt_access_data.token.tenant.id_ cls.error_msg = Messages.ERROR_MSG cls.export_to = cls.images_config.export_to cls.id_regex = re.compile(ImageProperties.ID_REGEX) cls.import_from = cls.images_config.import_from cls.import_from_bootable = cls.images_config.import_from_bootable cls.import_from_format = cls.images_config.import_from_format cls.max_created_at_delta = cls.images_config.max_created_at_delta cls.max_expires_at_delta = cls.images_config.max_expires_at_delta cls.max_updated_at_delta = cls.images_config.max_updated_at_delta cls.tenant_id = cls.access_data.token.tenant.id_ cls.third_tenant_id = cls.third_access_data.token.tenant.id_ cls.test_file = cls.read_data_file(cls.images_config.test_file) cls.image_schema_json = cls.read_data_file( cls.images_config.image_schema_json) cls.images_schema_json = cls.read_data_file( cls.images_config.images_schema_json) cls.image_member_schema_json = cls.read_data_file( cls.images_config.image_member_schema_json) cls.image_members_schema_json = cls.read_data_file( cls.images_config.image_members_schema_json) cls.task_schema_json = cls.read_data_file( cls.images_config.task_schema_json) cls.tasks_schema_json = cls.read_data_file( cls.images_config.tasks_schema_json) cls.addClassCleanup(cls.resources.release) cls.addClassCleanup(cls.images_behavior.resources.release) cls.addClassCleanup(cls.alt_images_behavior.resources.release) cls.addClassCleanup(cls.third_images_behavior.resources.release)