Implementing test coverage for Glance v2

Registered by Sett

This is a blueprint for implementing test coverage for the glance v2 API.

API doc: https://github.com/openstack/image-api/blob/master/openstack-image-service-api/src/markdown/image-api-v2.0.md

Blueprints to be referred to:

In scope: smoke, functional, system integration, whitebox tests

Out of scope: performance, stress, scale

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Mberi Kimpolo
Direction:
Needs approval
Assignee:
None
Definition:
Drafting
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Currently fleshing out test cases. Each one should be added a work item.

Maintenance/Feature Backlog:
https://etherpad.openstack.org/p/xVHkmeYYMY

Gerrit topic: https://review.openstack.org/#q,topic:bp/glance-api-v2-tests,n,z

Addressed by: https://review.openstack.org/49133
    Get schema that represents an image(s) entity

Addressed by: https://review.openstack.org/49381
    Images API v2.0 GET images tests

Addressed by: https://review.openstack.org/50020
    Images API v2.0 GET image tests

Addressed by: https://review.openstack.org/50056
    Images API v2.0 DELETE image tests

Addressed by: https://review.openstack.org/50060
    Images API v2.0 GET image/file data tests

Addressed by: https://review.openstack.org/50064
    Images API v2.0 DELETE image/tags tests

Addressed by: https://review.openstack.org/50072
    POST v2.0/images

Addressed by: https://review.openstack.org/50086
    PATCH v2.0/images

Addressed by: https://review.openstack.org/50265
    PUT v2.0/images/{image_id}/file.

Addressed by: https://review.openstack.org/50275
    POST v2/images/{image_id}/tags/{tag}

Addressed by: https://review.openstack.org/50402
    Images API v2.0 DELETE image tests (cont.)

Addressed by: https://review.openstack.org/50972
    POST v2.0/images (cont...)

Addressed by: https://review.openstack.org/51574
    PATCH v2.0/images (cont...)

Addressed by: https://review.openstack.org/51612
    Images API v2.0 GET image tests (cont.)

Addressed by: https://review.openstack.org/53092
    PATCH v2.0/images (cont.).

Addressed by: https://review.openstack.org/53164
    Refactoring v2.0 image fixtures.

Addressed by: https://review.openstack.org/53573
    POST v2.0/images (cont...)

Addressed by: https://review.openstack.org/53849
    DELETE v2.0/images/{image_id} - Refactoring

Addressed by: https://review.openstack.org/53855
    DELETE v2.0/images/{image_id}/tags/{tag} - Refactoring

Addressed by: https://review.openstack.org/53856
    GET v2.0/images/{image_id} - Refactoring

Addressed by: https://review.openstack.org/53861
    GET v2.0/images/{image_id}/file - Refactoring

Addressed by: https://review.openstack.org/53863
    PATCH v2.0/images/{image_id} - Refactoring

Addressed by: https://review.openstack.org/53872
    POST v2.0/images/{image_id}/tags/{tag} - Refactoring

Addressed by: https://review.openstack.org/54924
    Images API v2.0 GET image tests (cont...).

Addressed by: https://review.openstack.org/54947
    Images API v2.0 PATCH image tests (cont...)

Addressed by: https://review.openstack.org/55139
    Images API v2.0 POST tags tests (cont...)

Addressed by: https://review.openstack.org/55253
    Images API v2.0 Image Life Cycle Test.

Addressed by: https://review.openstack.org/55261
    Images API v2.0 Image Tag Life Cycle Test.

Gerrit topic: https://review.openstack.org/#q,topic:glance-api-v2-tests,n,z

Addressed by: https://review.openstack.org/55681
    Update Images v2 fixture to allow Preprod setup

Addressed by: https://review.openstack.org/55825
    Update Images v2 fixtures

Addressed by: https://review.openstack.org/56048
    Updated and refactored images fixtures

Addressed by: https://review.openstack.org/58026
    Update images fixtures and remove test modules

Addressed by: https://review.openstack.org/58028
    Add delete image and get image images tests

Addressed by: https://review.openstack.org/58030
    Add get image members and get images tests

Addressed by: https://review.openstack.org/58031
    Add get images schema and image life cycle tests

Addressed by: https://review.openstack.org/58033
    Add image member life cycle and image tag life cycle tests

Addressed by: https://review.openstack.org/58034
    Add add image member and add image tag tests

Addressed by: https://review.openstack.org/58036
    Add add image tag negative tests

Addressed by: https://review.openstack.org/58038
    Add create image and create image negative tests

Addressed by: https://review.openstack.org/58040
    Add delete image member and delete image negative tests

Addressed by: https://review.openstack.org/58041
    Add delete image tag and delete image tag negative tests

Addressed by: https://review.openstack.org/58046
    Add get image file and get image members negative tests

Addressed by: https://review.openstack.org/58047
    Add get image negative and get image schema tests

Addressed by: https://review.openstack.org/58049
    Add get images filter tests

Addressed by: https://review.openstack.org/58050
    Add get images sort tests

Addressed by: https://review.openstack.org/58052
    Add get images negative and store image file tests

Addressed by: https://review.openstack.org/58055
    Add update image tests

Addressed by: https://review.openstack.org/58057
    Add update image member and update image negative

Addressed by: https://review.openstack.org/58058
    Add images cleanup

Addressed by: https://review.openstack.org/58840
    Images API v2.0 Image Visibility Life Cycle Test

Addressed by: https://review.openstack.org/59772
    Add create image and create image negative tests

Addressed by: https://review.openstack.org/59773
    Update images fixtures

Addressed by: https://review.openstack.org/60246
    Images API V2.0 Update Image Tests

Addressed by: https://review.openstack.org/60316
    Updated images fixture

Addressed by: https://review.openstack.org/60827
    Images API v2.0 Upload Image File Tests

Addressed by: https://review.openstack.org/61886
    Added setUpClass() to create server and image

Addressed by: https://review.openstack.org/62030
    Added/Updated setUpClass() to create server,images

Addressed by: https://review.openstack.org/62750
    Removed test modules with outdated tests

Addressed by: https://review.openstack.org/62755
    Separated delete image positive tests from smoke

Addressed by: https://review.openstack.org/62761
    Separated update image positive tests from smoke

Addressed by: https://review.openstack.org/62774
    Added setUpClass() to create server and image

Addressed by: https://review.openstack.org/62780
    Separated get images positive tests from smoke

Addressed by: https://review.openstack.org/62783
    Updated the test tag

Addressed by: https://review.openstack.org/64529
    Images API v2.0 Get Image File Tests

Addressed by: https://review.openstack.org/64533
    Images API v2.0 Update Image Postive Test

Addressed by: https://review.openstack.org/64538
    Images API v2.0 Delete Image Postive Test

Addressed by: https://review.openstack.org/65219
    Images v2.0 API Ensure Active Image Location Cannot Be Updated

Addressed by: https://review.openstack.org/58944
    Images API v2.0 Image Discovery Of Available Images To User

(?)

Work Items

Work items:
[y-charles] Essential - Get json schema document for images: https://review.openstack.org/49133: DONE
[luke-wollney] High - Get json schema document for images and verify its response details: DUPLICATE: POSTPONED
[y-charles] Normal - Get json schema document for image: https://review.openstack.org/49133: DONE
[luke-wollney] High - Get json schema document for image and verify its response details: DUPLICATE: POSTPONED
[sett-wai] Essential - Get all images: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using name filter: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using container_format filter: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using disk_format filter: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using status filter: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using visibility filter: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using size_min filter: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using size_max filter: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using min_ram filter: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using min_disk filter: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using multiple filter: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using filter on tags or links: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using name sort key: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using status sort key: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using container_format sort key: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using disk_format sort key: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using size sort key: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using id sort key: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using created_at sort key: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using updated_at sort key: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using sort direction 'asc': https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using sort direction 'desc': https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using marker param/pagination: https://review.openstack.org/49381: DONE
[sett-wai] Normal - Get images using limit param: https://review.openstack.org/49381: DONE
[y-charles] Essential - Register VM image: https://review.openstack.org/50072: DONE
[y-charles] High - Register VM image including optional parameters id, visibility and tags: https://review.openstack.org/50972: DONE
[y-charles] Normal - Register VM image that is already registered: https://review.openstack.org/50972: DONE
[y-charles] Normal - Register VM image without all mandatory parameters: POSTPONED
[y-charles] Normal - Register VM image using special characters for name: POSTPONED
[y-charles] Normal - Register VM image using non-acceptable disk_format: https://review.openstack.org/50972: DONE
[y-charles] Normal - Register VM image using non-acceptable container_format: https://review.openstack.org/50972: DONE
[y-charles] High - Register VM image including optional user metadata*: https://review.openstack.org/#/c/53573/: DONE
[sett-wai] Essential - Get image: https://review.openstack.org/50020: DONE
[musa-baloyi707] Normal - Get image using incorrect url of '/imagess': POSTPONED
[musa-baloyi707] Normal - Get image using method mismatch: POSTPONED
[y-charles] Normal - Get image using blank id: https://review.openstack.org/54924: DONE
[musa-baloyi707] Normal - Get image with a request body: POSTPONED
[y-charles] Essential - Update a specified image (name, disk_format and container_format): https://review.openstack.org/50086: DONE
[y-charles] Essential - Add additional image property: https://review.openstack.org/51574: DONE
[y-charles] Essential - Replace value of an additional image property: https://review.openstack.org/51574: DONE
[y-charles] Normal - Update a specified image with optional parameters ( visibility and tags): https://review.openstack.org/51574: DONE
[y-charles] Normal - Update image with invalid image property: https://review.openstack.org/#/c/54947/: DONE
[y-charles] High - Add core image property: https://review.openstack.org/#/c/53092/: DONE
[y-charles] High - Remove core image property: https://review.openstack.org/#/c/53092/: DONE
[y-charles] Essential - Remove additional image property: https://review.openstack.org/#/c/53092/: DONE
[y-charles] High - Replace value of core image property: https://review.openstack.org/#/c/53092/: DONE
[y-charles] Normal - Update image using method mismatch of 'PUT': POSTPONED
[y-charles] Normal - Update image using larger size (Invalid??): TODO
[y-charles] Normal - Update image using blank image id: https://review.openstack.org/#/c/54947/: DONE
[y-charles] Normal - Update image with invalid image id: https://review.openstack.org/#/c/54947/: DONE
[y-charles] Normal - Update image using incorrect request body: POSTPONED
[y-charles] Normal - Update image without passing size: POSTPONED
[y-charles] Normal - Update image with data for which data already exists: https://review.openstack.org/#/c/64533/: INPROGRESS
[y-charles] Normal - Ensure you cannot update location of active image: DONE
[y-charles] Normal - Update image end-to-end tests (Test Steps??): TODO
[sett-wai] Normal - Delete image: https://review.openstack.org/50056: DONE
[sett-wai] Normal - Delete image using invalid image id: https://review.openstack.org/50056: DONE
[sett-wai] Normal - Delete image that was already deleted: https://review.openstack.org/50056: DONE
[musa-baloyi707] Normal - Delete image using only registered image id (Test Steps??): TODO
[sett-wai] Normal - Delete image that is protected: https://review.openstack.org/50056: DONE
[sett-wai] Normal - Delete image that is shared as non-admin: https://review.openstack.org/50056: DONE
[musa-baloyi707] Normal - Delete image using incorrect url: POSTPONED
[musa-baloyi707] Normal - Delete image using method mismatch*: POSTPONED
[sett-wai] Normal - Delete image with blank image id: https://review.openstack.org/50056: DONE
[musa-baloyi707] Normal - Delete image with incorrect format image id: https://review.openstack.org/#/c/58040/: DONE
[sett-wai] Normal - Delete image that is public as non-admin: https://review.openstack.org/50056: DONE
[musa-baloyi707] Normal - Delete image that is shared so that members cannot view it anymore: https://review.openstack.org/#/c/58028/: DONE
[y-charles] Essential - Upload image with image file (content-type: 'application/octet-stream'): DONE
[y-charles] Normal - Upload image with image file not with content-type: 'application/octet-stream': https://review.openstack.org/#/c/60827/: INPROGRESS
[y-charles] Normal - Upload image with mismatched image file and file format (Test Steps??): TODO
[y-charles] Normal - Upload image using incorrect url of '/images/{image_id}s': POSTPONED
[y-charles] Normal - Upload image using method mismatch of 'POST': POSTPONED
[y-charles] Normal - Upload image using larger size:https://review.openstack.org/#/c/60827/ : INPROGRESS
[y-charles] Normal - Update image using different is_public (Test Steps??): TODO
[y-charles] Normal - Upload image using blank image id: https://review.openstack.org/#/c/60827/: INPROGRESS
[y-charles] Normal - Upload image with an invalid image id: https://review.openstack.org/#/c/60827/: INPROGRESS
[y-charles] Normal - Upload image without passing size (Test Steps??): TODO
[y-charles] Normal - Upload duplicate image data: https://review.openstack.org/#/c/60827/: INPROGRESS
[y-charles] Normal - Ensure you cannot upload location of an active image: POSTPONED
[y-charles] Normal - Upload image end-to-end tests (Test Steps??): TODO
[sett-wai] Essential - Download binary image data: https://review.openstack.org/50060: DONE
[musa-baloyi707] Normal - Download image data with incorrect content-type: POSTPONED
[musa-baloyi707] Normal - Download image data using incorrect: POSTPONED
[musa-baloyi707] Normal - Download image data using blank id: https://review.openstack.org/#/c/64529/: INPROGRESS
[musa-baloyi707] Normal - Download image data that doesn't exist yet: https://review.openstack.org/#/c/64529/: INPROGRESS
[musa-baloyi707] Normal - Download image using request body: POSTPONED
[musa-baloyi707] Normal - Download image end-to-end test (Test Steps??): TODO
[y-charles] Essential - Add a valid tag to a valid image: DONE
[y-charles] Normal - Add more than one tag to valid image: https://review.openstack.org/#/c/55139/ : DONE
[y-charles] Normal - Add a tag to valid image which was already added: https://review.openstack.org/#/c/55139/: DONE
[y-charles] Normal - Add a tag to invalid image: https://review.openstack.org/#/c/55139/: DONE
[y-charles] Normal - Add a tag to blank image: https://review.openstack.org/#/c/55139/: DONE
[y-charles] Normal - Add empty tag to valid image: https://review.openstack.org/#/c/55139/: DONE
[y-charles] Normal - Add invalid tag(with special chars) to valid image: https://review.openstack.org/#/c/55139/: DONE
[y-charles] Normal - Add tag using incorrect url of '/images/{image_id}/tag': POSTPONED
[y-charles] Normal - Add tag using method mismatch of 'PUT': POSTPONED
[y-charles] Normal - Add tag using request body: POSTPONED
[sett-wai] Essential - Delete valid tag from valid image: https://review.openstack.org/50064: DONE
[musa-baloyi707] Normal - Delete tag from image using invalid id: https://review.openstack.org/#/c/55137/: DONE
[musa-baloyi707] Normal - Delete tag from image using blank id: https://review.openstack.org/#/c/55137/: DONE
[musa-baloyi707] Normal - Delete empty tag from valid image: https://review.openstack.org/#/c/55137/: DONE
[musa-baloyi707] Normal - Delete non-existent tag from valid image: https://review.openstack.org/#/c/55137/: DONE
[musa-baloyi707] Normal - Delete invalid tag from valid image: https://review.openstack.org/#/c/55137/: DONE
[musa-baloyi707] Normal - Delete tag using incorrect url: POSTPONED
[musa-baloyi707] Normal - Delete tag using method mismatch: POSTPONED
[musa-baloyi707] Normal - Delete tag usign request body: POSTPONED
[y-charles] - Essential - Image Lifecycle CRUD: https://review.openstack.org/#/c/55253/: DONE
[y-charles] - Essential - Image Tag Lifecycle CRUD: https://review.openstack.org/#/c/55261/: DONE

This blueprint contains Public information 
Everyone can see this information.