glance.tests.functional.glare package

Submodules

glance.tests.functional.glare.test_glare module

class glance.tests.functional.glare.test_glare.Artifact(**kwargs)[source]

Bases: glance.common.glare.definitions.ArtifactType

created_at = <glance.common.glare.definitions.DateTime object at 0x3ba8d90>
deleted_at = <glance.common.glare.definitions.DateTime object at 0x3ba8f90>
depends_on = <glance.common.glare.definitions.ArtifactReference object at 0xd540c10>
depends_on_list = []
description = <glance.common.glare.definitions.Text object at 0x3ba8950>
dict_prop = {}
dict_prop_strval = {}
id = <glance.common.glare.definitions.String object at 0x3ba8390>
metadata = <glance.common.glare.declarative.ArtifactTypeMetadata object at 0xd540150>
name = <glance.common.glare.definitions.String object at 0x3ba8750>
owner = <glance.common.glare.definitions.String object at 0x3ba8c90>
prop1 = <glance.common.glare.definitions.String object at 0xc204810>
prop2 = <glance.common.glare.definitions.Integer object at 0xc2042d0>
prop_list = []
published_at = <glance.common.glare.definitions.DateTime object at 0x3ba8f10>
state = <glance.common.glare.definitions.String object at 0x3ba8b50>
tags = []
tuple_prop = []
type_name = <glance.common.glare.definitions.String object at 0x3ba8510>
type_version = <glance.common.glare.definitions.SemVerString object at 0x3ba8610>
updated_at = <glance.common.glare.definitions.DateTime object at 0x3ba8e90>
version = <glance.common.glare.definitions.SemVerString object at 0x3ba8810>
visibility = <glance.common.glare.definitions.String object at 0x3ba8a90>
class glance.tests.functional.glare.test_glare.ArtifactNoProps(**kwargs)[source]

Bases: glance.common.glare.definitions.ArtifactType

created_at = <glance.common.glare.definitions.DateTime object at 0x3ba8d90>
deleted_at = <glance.common.glare.definitions.DateTime object at 0x3ba8f90>
description = <glance.common.glare.definitions.Text object at 0x3ba8950>
id = <glance.common.glare.definitions.String object at 0x3ba8390>
metadata = <glance.common.glare.declarative.ArtifactTypeMetadata object at 0xa903d10>
name = <glance.common.glare.definitions.String object at 0x3ba8750>
owner = <glance.common.glare.definitions.String object at 0x3ba8c90>
published_at = <glance.common.glare.definitions.DateTime object at 0x3ba8f10>
state = <glance.common.glare.definitions.String object at 0x3ba8b50>
tags = []
type_name = <glance.common.glare.definitions.String object at 0x3ba8510>
type_version = <glance.common.glare.definitions.SemVerString object at 0x3ba8610>
updated_at = <glance.common.glare.definitions.DateTime object at 0x3ba8e90>
version = <glance.common.glare.definitions.SemVerString object at 0x3ba8810>
visibility = <glance.common.glare.definitions.String object at 0x3ba8a90>
class glance.tests.functional.glare.test_glare.ArtifactNoProps1(**kwargs)[source]

Bases: glance.common.glare.definitions.ArtifactType

created_at = <glance.common.glare.definitions.DateTime object at 0x3ba8d90>
deleted_at = <glance.common.glare.definitions.DateTime object at 0x3ba8f90>
description = <glance.common.glare.definitions.Text object at 0x3ba8950>
id = <glance.common.glare.definitions.String object at 0x3ba8390>
metadata = <glance.common.glare.declarative.ArtifactTypeMetadata object at 0xc36e190>
name = <glance.common.glare.definitions.String object at 0x3ba8750>
owner = <glance.common.glare.definitions.String object at 0x3ba8c90>
published_at = <glance.common.glare.definitions.DateTime object at 0x3ba8f10>
state = <glance.common.glare.definitions.String object at 0x3ba8b50>
tags = []
type_name = <glance.common.glare.definitions.String object at 0x3ba8510>
type_version = <glance.common.glare.definitions.SemVerString object at 0x3ba8610>
updated_at = <glance.common.glare.definitions.DateTime object at 0x3ba8e90>
version = <glance.common.glare.definitions.SemVerString object at 0x3ba8810>
visibility = <glance.common.glare.definitions.String object at 0x3ba8a90>
class glance.tests.functional.glare.test_glare.ArtifactWithBlob(**kwargs)[source]

Bases: glance.common.glare.definitions.ArtifactType

blob1 = <glance.common.glare.definitions.BinaryObject object at 0xc36e350>
blob_list = []
created_at = <glance.common.glare.definitions.DateTime object at 0x3ba8d90>
deleted_at = <glance.common.glare.definitions.DateTime object at 0x3ba8f90>
description = <glance.common.glare.definitions.Text object at 0x3ba8950>
id = <glance.common.glare.definitions.String object at 0x3ba8390>
metadata = <glance.common.glare.declarative.ArtifactTypeMetadata object at 0xc36e650>
name = <glance.common.glare.definitions.String object at 0x3ba8750>
owner = <glance.common.glare.definitions.String object at 0x3ba8c90>
published_at = <glance.common.glare.definitions.DateTime object at 0x3ba8f10>
state = <glance.common.glare.definitions.String object at 0x3ba8b50>
tags = []
type_name = <glance.common.glare.definitions.String object at 0x3ba8510>
type_version = <glance.common.glare.definitions.SemVerString object at 0x3ba8610>
updated_at = <glance.common.glare.definitions.DateTime object at 0x3ba8e90>
version = <glance.common.glare.definitions.SemVerString object at 0x3ba8810>
visibility = <glance.common.glare.definitions.String object at 0x3ba8a90>
class glance.tests.functional.glare.test_glare.TestArtifacts(*args, **kwargs)[source]

Bases: glance.tests.functional.FunctionalTest

setUp()[source]
start_servers(**kwargs)[source]
tearDown()[source]
test_artifact_accessible_by_admin()[source]
test_artifact_inaccessible_by_different_user()[source]
test_bad_update_property()[source]
test_circular_dependency()[source]
test_create_artifact_bad_dependency_format()[source]

Invalid dependencies creation.

Dependencies should be passed: * as a list of ids if param is an ArtifactReferenceList * as an id if param is an ArtifactReference

test_create_artifact_dependency_list()[source]
test_create_artifact_empty_body()[source]
test_create_artifact_insufficient_arguments()[source]
test_create_artifact_invalid_properties()[source]

Any attempt to pass invalid properties should result in 400

test_create_artifact_no_properties()[source]

Create an artifact with minimum parameters

test_create_artifact_no_such_version()[source]

Creation impossible without specifying a correct version.

An attempt to create an artifact out of existing plugin but with a wrong version should result in 400 BadRequest ‘No such plugin has been loaded’

test_create_artifact_no_type_version_specified()[source]

Creation impossible without specifying a version.

It should not be possible to create an artifact out of existing plugin without specifying any version

test_create_artifact_not_all_properties()[source]

Create artifact with minimal properties.

Checks that it is possible to create an artifact by passing all required properties but omitting some not required

test_create_artifact_with_dependency()[source]
test_create_artifact_with_properties()[source]

Create an artifact (with two deployer-defined properties)

test_create_dependency_list_same_id()[source]
test_create_public_artifact()[source]

Create an artifact with visibility set to public

test_delete_artifact()[source]
test_delete_artifact_no_such_id()[source]
test_delete_artifact_with_blob()[source]
test_delete_artifact_with_dependency(*args, **kwargs)[source]
test_download_file()[source]
test_file_w_unknown_size()[source]
test_filter_by_bad_version()[source]
test_filter_by_dict_props()[source]
test_filter_by_ge_version()[source]
test_filter_by_gt_version()[source]
test_filter_by_latest_version()[source]
test_filter_by_le_version()[source]
test_filter_by_lt_version()[source]
test_filter_by_ne_version()[source]
test_filter_by_non_dict_props()[source]
test_filter_by_pre_release_version()[source]
test_filter_by_range_props()[source]
test_filter_by_tags()[source]
test_filter_by_version_only()[source]
test_get_artifact_basic_show_level()[source]
test_get_artifact_by_id()[source]
test_get_artifact_by_id_any_version()[source]
test_get_artifact_invalid_show_level()[source]
test_get_artifact_no_such_id()[source]
test_get_artifact_none_show_level()[source]

Create an artifact (with two deployer-defined properties)

test_get_artifact_present_id_wrong_type()[source]
test_invalid_content_type()[source]
test_limit()[source]
test_list_any_artifacts()[source]

Returns information about all draft artifacts with given endpoint

test_list_artifact_no_such_version()[source]

Version filtering should be applied for existing plugins.

An attempt to retrieve an artifact out of existing plugin but with a wrong version should result in 400 BadRequest ‘No such plugin has been loaded’

test_list_artifact_types()[source]
test_list_artifacts_by_state()[source]

Returns last version of artifacts with given state

test_list_artifacts_with_pagination()[source]

List artifacts with pagination

test_list_artifacts_with_version()[source]

Supplying precise artifact version does not break anything

test_list_last_version()[source]

/artifacts/endpoint == /artifacts/endpoint/all-versions

test_no_mutable_change_in_published_state()[source]
test_operation_patch_with_blob()[source]
test_public_artifact_accessible_by_different_user()[source]
test_public_artifact_editable_by_admin()[source]
test_public_artifact_not_editable_by_different_user()[source]
test_publish_artifact()[source]
test_sort()[source]
test_transformation_versions()[source]
test_update_array_property_by_add_op()[source]
test_update_array_property_by_remove_op()[source]
test_update_array_property_by_replace_op()[source]
test_update_artifact()[source]
test_update_artifact_properties()[source]
test_update_artifact_remove_property()[source]
test_update_dependency()[source]
test_update_dependency_circular_reference()[source]
test_update_dict_property_by_add_op()[source]
test_update_dict_property_by_remove_op()[source]
test_update_dict_property_by_replace_op()[source]
test_update_dict_property_change_values(*args, **kwargs)[source]
test_update_different_depths_levels()[source]
test_update_empty_array_property_by_add_op()[source]

Test jsonpatch add.

According to RFC 6902: * if the array is empty, ‘/array/0’ is a valid path

test_update_empty_dict_property_by_remove_op()[source]
test_update_empty_dict_property_by_replace_op()[source]
test_update_multiple_properties()[source]
test_update_nonexistent_property_by_add_op()[source]
test_update_nonexistent_property_by_remove_op()[source]
test_update_nonexistent_property_by_replace_op()[source]
test_update_property()[source]
test_update_remove_non_existent_artifact_properties()[source]
test_update_replace_non_existent_artifact_properties()[source]
test_update_tuple_property_by_index()[source]
test_update_wrong_property_type()[source]
test_upload_file()[source]
test_upload_file_with_invalid_content_type()[source]
test_upload_list_files()[source]
users = {'admin': {'tenant_id': '53d4142d-a62c-47f9-906b-c6bc9c6cd23a', 'token': '65cf316c-e3a0-4d83-af7c-9ece4bb88e21', 'role': 'admin', 'id': '59a8e327-8d07-4b6a-b2ae-534f0f64f94f'}, 'user2': {'tenant_id': '51015bcc-3b01-4833-b3ee-c6f75009c758', 'token': '5be238d7-8f61-44af-b6e8-a932d066d7f3', 'role': 'member', 'id': '52035854-4ee1-4dd3-abd6-2b205e5b8793'}, 'user1': {'tenant_id': '5d71964b-a549-48ba-a139-bf72478c315e', 'token': 'c3a48c19-1fdc-4ed4-841c-39c5de2edf69', 'role': 'member', 'id': 'a7518f25-55bb-43d3-a665-37ff374fe781'}}
class glance.tests.functional.glare.test_glare.TestRouter(mapper)[source]

Bases: glance.api.glare.v0_1.router.API

Module contents