From 6172d2a9a0ad6cb35e2218ee6c2f57588ac97981 Mon Sep 17 00:00:00 2001 From: Toheeb Date: Fri, 23 Jun 2023 13:33:37 +0100 Subject: [PATCH] Automate generation of backups api-ref samples This patch adds the following tests: 1) List backup with details 2) Show backup 3) Update backup Partially-Implements: blueprint generating-sample-files Change-Id: I9bbfab93fb138932243d880e440c9524b5f08217 --- api-ref/source/v3/ext-backups.inc | 8 +-- .../v3/samples/backup-show-response.json | 35 ---------- .../v3/samples/backup-update-request.json | 9 --- .../v3/samples/backup-update-response.json | 18 ----- .../backups-list-detailed-response.json | 65 ------------------- .../samples/backups/backup-show-response.json | 30 +++++++++ .../backups-list-detailed-response.json | 32 +++++++++ .../backups/v3.18/backup-create-response.json | 16 +++++ .../backups/v3.18/backup-show-response.json | 31 +++++++++ .../v3.18/backups-list-detailed-response.json | 33 ++++++++++ .../backups/v3.18/backups-list-response.json | 18 +++++ .../backups/v3.43/backup-create-response.json | 16 +++++ .../backups/v3.43/backup-show-response.json | 32 +++++++++ .../v3.43/backups-list-detailed-response.json | 34 ++++++++++ .../backups/v3.43/backups-list-response.json | 18 +++++ .../backups/v3.45/backup-create-response.json | 16 +++++ .../backups/v3.45/backup-show-response.json | 32 +++++++++ .../v3.45/backups-list-detailed-response.json | 35 ++++++++++ .../backups/v3.45/backups-list-response.json | 19 ++++++ .../backups/v3.56/backup-create-response.json | 16 +++++ .../backups/v3.56/backup-show-response.json | 33 ++++++++++ .../v3.56/backups-list-detailed-response.json | 36 ++++++++++ .../backups/v3.56/backups-list-response.json | 19 ++++++ .../backups/v3.9/backup-create-response.json | 16 +++++ .../backups/v3.9/backup-show-response.json | 30 +++++++++ .../backups/v3.9/backup-update-request.json | 6 ++ .../backups/v3.9/backup-update-response.json | 16 +++++ .../v3.9/backups-list-detailed-response.json | 32 +++++++++ .../backups/v3.9/backups-list-response.json | 18 +++++ .../backups/backup-show-response.json.tpl | 30 +++++++++ .../backups/backup-update-request.json.tpl | 6 ++ .../backups-list-detailed-response.json.tpl | 32 +++++++++ .../v3.18/backup-create-response.json.tpl | 16 +++++ .../v3.18/backup-show-response.json.tpl | 31 +++++++++ .../backups-list-detailed-response.json.tpl | 33 ++++++++++ .../v3.18/backups-list-response.json.tpl | 15 +++++ .../v3.43/backup-create-response.json.tpl | 16 +++++ .../v3.43/backup-show-response.json.tpl | 32 +++++++++ .../backups-list-detailed-response.json.tpl | 34 ++++++++++ .../v3.43/backups-list-response.json.tpl | 15 +++++ .../v3.45/backup-create-response.json.tpl | 16 +++++ .../v3.45/backup-show-response.json.tpl | 32 +++++++++ .../backups-list-detailed-response.json.tpl | 35 ++++++++++ .../v3.45/backups-list-response.json.tpl | 16 +++++ .../v3.47/backup-restore-request.json.tpl | 7 ++ .../v3.47/backup-restore-response.json.tpl | 7 ++ .../v3.56/backup-create-response.json.tpl | 16 +++++ .../v3.56/backup-show-response.json.tpl | 33 ++++++++++ .../backups-list-detailed-response.json.tpl | 36 ++++++++++ .../v3.56/backups-list-response.json.tpl | 16 +++++ .../v3.9/backup-create-response.json.tpl | 16 +++++ .../v3.9/backup-show-response.json.tpl | 30 +++++++++ .../v3.9/backup-update-request.json.tpl | 6 ++ .../v3.9/backup-update-response.json.tpl | 15 +++++ .../backups-list-detailed-response.json.tpl | 32 +++++++++ .../v3.9/backups-list-response.json.tpl | 15 +++++ .../api_sample_tests/test_backups.py | 41 ++++++++++++ 57 files changed, 1217 insertions(+), 131 deletions(-) delete mode 100644 api-ref/source/v3/samples/backup-show-response.json delete mode 100644 api-ref/source/v3/samples/backup-update-request.json delete mode 100644 api-ref/source/v3/samples/backup-update-response.json delete mode 100644 api-ref/source/v3/samples/backups-list-detailed-response.json create mode 100644 api-ref/source/v3/samples/backups/backup-show-response.json create mode 100644 api-ref/source/v3/samples/backups/backups-list-detailed-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.18/backup-create-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.18/backup-show-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.18/backups-list-detailed-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.18/backups-list-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.43/backup-create-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.43/backup-show-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.43/backups-list-detailed-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.43/backups-list-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.45/backup-create-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.45/backup-show-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.45/backups-list-detailed-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.45/backups-list-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.56/backup-create-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.56/backup-show-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.56/backups-list-detailed-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.56/backups-list-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.9/backup-create-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.9/backup-show-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.9/backup-update-request.json create mode 100644 api-ref/source/v3/samples/backups/v3.9/backup-update-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.9/backups-list-detailed-response.json create mode 100644 api-ref/source/v3/samples/backups/v3.9/backups-list-response.json create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/backup-show-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/backup-update-request.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/backups-list-detailed-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backup-create-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backup-show-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backups-list-detailed-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backups-list-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backup-create-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backup-show-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backups-list-detailed-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backups-list-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backup-create-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backup-show-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backups-list-detailed-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backups-list-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.47/backup-restore-request.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.47/backup-restore-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backup-create-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backup-show-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backups-list-detailed-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backups-list-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-create-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-show-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-update-request.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-update-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backups-list-detailed-response.json.tpl create mode 100644 cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backups-list-response.json.tpl diff --git a/api-ref/source/v3/ext-backups.inc b/api-ref/source/v3/ext-backups.inc index b5d69d7c0bb..74a56af14f8 100644 --- a/api-ref/source/v3/ext-backups.inc +++ b/api-ref/source/v3/ext-backups.inc @@ -104,7 +104,7 @@ Response Parameters Response Example ---------------- -.. literalinclude:: ./samples/backups-list-detailed-response.json +.. literalinclude:: ./samples/backups/backups-list-detailed-response.json :language: javascript @@ -164,7 +164,7 @@ Response Parameters Response Example ---------------- -.. literalinclude:: ./samples/backup-show-response.json +.. literalinclude:: ./samples/backups/backup-show-response.json :language: javascript @@ -356,7 +356,7 @@ Request Request Example --------------- -.. literalinclude:: ./samples/backup-update-request.json +.. literalinclude:: ./samples/backups/v3.9/backup-update-request.json :language: javascript Response Parameters @@ -373,7 +373,7 @@ Response Parameters Response Example ---------------- -.. literalinclude:: ./samples/backup-update-response.json +.. literalinclude:: ./samples/backups/v3.9/backup-update-response.json :language: javascript diff --git a/api-ref/source/v3/samples/backup-show-response.json b/api-ref/source/v3/samples/backup-show-response.json deleted file mode 100644 index e400ada9b9c..00000000000 --- a/api-ref/source/v3/samples/backup-show-response.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "backup": { - "availability_zone": "az1", - "container": "volumebackups", - "created_at": "2013-04-02T10:35:27.000000", - "description": null, - "fail_reason": null, - "id": "2ef47aee-8844-490c-804d-2a8efe561c65", - "links": [ - { - "href": "http://localhost:8776/v3/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65", - "rel": "self" - }, - { - "href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65", - "rel": "bookmark" - } - ], - "name": "backup001", - "object_count": 22, - "os-backup-project-attr:project_id": "2c67a14be9314c5dae2ee6c4ec90cf0b", - "user_id": "515ba0dd59f84f25a6a084a45d8d93b2", - "size": 1, - "updated_at": "2013-04-20T05:30:19.000000", - "data_timestamp": "2013-04-20T05:30:19.000000", - "snapshot_id": null, - "status": "available", - "volume_id": "e5185058-943a-4cb4-96d9-72c184c337d6", - "is_incremental": true, - "has_dependent_backups": false, - "metadata": { - "key": "value" - } - } -} diff --git a/api-ref/source/v3/samples/backup-update-request.json b/api-ref/source/v3/samples/backup-update-request.json deleted file mode 100644 index 6cd40f4938b..00000000000 --- a/api-ref/source/v3/samples/backup-update-request.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "backup":{ - "name":"test", - "metadata": { - "key": "value" - }, - "description": "this is a backup" - } -} diff --git a/api-ref/source/v3/samples/backup-update-response.json b/api-ref/source/v3/samples/backup-update-response.json deleted file mode 100644 index bbd62fd79d8..00000000000 --- a/api-ref/source/v3/samples/backup-update-response.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "backup": { - "id": "fad41a83-203d-4998-9d3b-444fd5da5aba", - "links": [ - { - "href": "http://10.3.150.25:8776/v3/a7090a26bc554d93aa845a4d41808251/backups/fad41a83-203d-4998-9d3b-444fd5da5aba", - "rel": "self" - }, { - "href": "http://10.3.150.25:8776/a7090a26bc554d93aa845a4d41808251/backups/fad41a83-203d-4998-9d3b-444fd5da5aba", - "rel": "bookmark" - } - ], - "name": "test", - "metadata": { - "key": "value" - } - } -} diff --git a/api-ref/source/v3/samples/backups-list-detailed-response.json b/api-ref/source/v3/samples/backups-list-detailed-response.json deleted file mode 100644 index 16acc8d8329..00000000000 --- a/api-ref/source/v3/samples/backups-list-detailed-response.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "backups": [ - { - "availability_zone": "az1", - "container": "volumebackups", - "created_at": "2013-04-02T10:35:27.000000", - "description": null, - "fail_reason": null, - "id": "2ef47aee-8844-490c-804d-2a8efe561c65", - "links": [ - { - "href": "http://localhost:8776/v3/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65", - "rel": "self" - }, - { - "href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65", - "rel": "bookmark" - } - ], - "name": "backup001", - "object_count": 22, - "os-backup-project-attr:project_id": "2c67a14be9314c5dae2ee6c4ec90cf0b", - "user_id": "515ba0dd59f84f25a6a084a45d8d93b2", - "size": 1, - "status": "available", - "updated_at": "2013-04-02T10:35:27.000000", - "volume_id": "e5185058-943a-4cb4-96d9-72c184c337d6", - "is_incremental": true, - "has_dependent_backups": false, - "metadata": { - "key": "value"} - }, - { - "availability_zone": "az1", - "container": "volumebackups", - "created_at": "2013-04-02T10:21:48.000000", - "description": null, - "fail_reason": null, - "id": "4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8", - "links": [ - { - "href": "http://localhost:8776/v3/c95fc3e4afe248a49a28828f286a7b38/backups/4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8", - "rel": "self" - }, - { - "href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8", - "rel": "bookmark" - } - ], - "name": "backup002", - "object_count": 22, - "os-backup-project-attr:project_id": "2c67a14be9314c5dae2ee6c4ec90cf0b", - "user_id": "515ba0dd59f84f25a6a084a45d8d93b2", - "size": 1, - "status": "available", - "updated_at": "2013-04-02T10:21:48.000000", - "volume_id": "e5185058-943a-4cb4-96d9-72c184c337d6", - "is_incremental": true, - "has_dependent_backups": false, - "metadata": { - "key": "value"} - } - ], - "count": 10 -} diff --git a/api-ref/source/v3/samples/backups/backup-show-response.json b/api-ref/source/v3/samples/backups/backup-show-response.json new file mode 100644 index 00000000000..b966c9a2e59 --- /dev/null +++ b/api-ref/source/v3/samples/backups/backup-show-response.json @@ -0,0 +1,30 @@ +{ + "backup": { + "availability_zone": null, + "container": null, + "created_at": "2023-06-23T11:56:02.509831", + "data_timestamp": "2023-06-23T11:56:02.509831", + "description": "Test backup", + "fail_reason": null, + "has_dependent_backups": false, + "id": "6a122f4b-d2f6-448f-aeb5-68bae5ff8358", + "is_incremental": false, + "links": [ + { + "href": "http://127.0.0.1:46627/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/6a122f4b-d2f6-448f-aeb5-68bae5ff8358", + "rel": "self" + }, + { + "href": "http://127.0.0.1:46627/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/6a122f4b-d2f6-448f-aeb5-68bae5ff8358", + "rel": "bookmark" + } + ], + "name": "backup001", + "object_count": 0, + "size": 10, + "snapshot_id": null, + "status": "creating", + "updated_at": "2023-06-23T11:56:02.512426", + "volume_id": "49a784cf-b759-4594-acdf-5238ee50976b" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/backups-list-detailed-response.json b/api-ref/source/v3/samples/backups/backups-list-detailed-response.json new file mode 100644 index 00000000000..63516a793b4 --- /dev/null +++ b/api-ref/source/v3/samples/backups/backups-list-detailed-response.json @@ -0,0 +1,32 @@ +{ + "backups": [ + { + "availability_zone": null, + "container": null, + "created_at": "2023-07-10T13:23:21.178739", + "data_timestamp": "2023-07-10T13:23:21.178739", + "description": "Test backup", + "fail_reason": null, + "has_dependent_backups": false, + "id": "7ab823f7-1174-4447-9a76-863ae2dcf372", + "is_incremental": false, + "links": [ + { + "href": "http://127.0.0.1:44197/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/7ab823f7-1174-4447-9a76-863ae2dcf372", + "rel": "self" + }, + { + "href": "http://127.0.0.1:44197/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/7ab823f7-1174-4447-9a76-863ae2dcf372", + "rel": "bookmark" + } + ], + "name": "backup001", + "object_count": 0, + "size": 10, + "snapshot_id": null, + "status": "creating", + "updated_at": "2023-07-10T13:23:21.189552", + "volume_id": "9fc31617-303d-4b52-826e-b598cca40419" + } + ] +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.18/backup-create-response.json b/api-ref/source/v3/samples/backups/v3.18/backup-create-response.json new file mode 100644 index 00000000000..a4e5cbef56d --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.18/backup-create-response.json @@ -0,0 +1,16 @@ +{ + "backup": { + "id": "73c2b8d8-e658-4396-a804-e1960b9330f9", + "links": [ + { + "href": "http://127.0.0.1:34439/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/73c2b8d8-e658-4396-a804-e1960b9330f9", + "rel": "self" + }, + { + "href": "http://127.0.0.1:34439/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/73c2b8d8-e658-4396-a804-e1960b9330f9", + "rel": "bookmark" + } + ], + "name": "backup001" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.18/backup-show-response.json b/api-ref/source/v3/samples/backups/v3.18/backup-show-response.json new file mode 100644 index 00000000000..a4d95b185b0 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.18/backup-show-response.json @@ -0,0 +1,31 @@ +{ + "backup": { + "availability_zone": null, + "container": null, + "created_at": "2023-06-23T11:56:06.577029", + "data_timestamp": "2023-06-23T11:56:06.577029", + "description": "Test backup", + "fail_reason": null, + "has_dependent_backups": false, + "id": "606b1a40-65c3-40aa-aa35-bbaddf3b0cdc", + "is_incremental": false, + "links": [ + { + "href": "http://127.0.0.1:40731/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/606b1a40-65c3-40aa-aa35-bbaddf3b0cdc", + "rel": "self" + }, + { + "href": "http://127.0.0.1:40731/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/606b1a40-65c3-40aa-aa35-bbaddf3b0cdc", + "rel": "bookmark" + } + ], + "name": "backup001", + "object_count": 0, + "os-backup-project-attr:project_id": "89afd400-b646-4bbc-b12b-c0a4d63e5bd3", + "size": 10, + "snapshot_id": null, + "status": "creating", + "updated_at": "2023-06-23T11:56:06.579796", + "volume_id": "5c4f87bc-031c-455b-b936-bfedb85a1d24" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.18/backups-list-detailed-response.json b/api-ref/source/v3/samples/backups/v3.18/backups-list-detailed-response.json new file mode 100644 index 00000000000..efdb3733737 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.18/backups-list-detailed-response.json @@ -0,0 +1,33 @@ +{ + "backups": [ + { + "availability_zone": null, + "container": null, + "created_at": "2023-06-23T11:55:59.754975", + "data_timestamp": "2023-06-23T11:55:59.754975", + "description": "Test backup", + "fail_reason": null, + "has_dependent_backups": false, + "id": "89881aac-2ce3-476b-bb0f-23c440a5e141", + "is_incremental": false, + "links": [ + { + "href": "http://127.0.0.1:37207/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/89881aac-2ce3-476b-bb0f-23c440a5e141", + "rel": "self" + }, + { + "href": "http://127.0.0.1:37207/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/89881aac-2ce3-476b-bb0f-23c440a5e141", + "rel": "bookmark" + } + ], + "name": "backup001", + "object_count": 0, + "os-backup-project-attr:project_id": "89afd400-b646-4bbc-b12b-c0a4d63e5bd3", + "size": 10, + "snapshot_id": null, + "status": "creating", + "updated_at": "2023-06-23T11:55:59.759269", + "volume_id": "66eda5bf-7163-4316-a0b5-afb14c43625b" + } + ] +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.18/backups-list-response.json b/api-ref/source/v3/samples/backups/v3.18/backups-list-response.json new file mode 100644 index 00000000000..08af0c43ab7 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.18/backups-list-response.json @@ -0,0 +1,18 @@ +{ + "backups": [ + { + "id": "782c1178-79b7-4caf-845b-c226cf288ca0", + "links": [ + { + "href": "http://127.0.0.1:36723/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/782c1178-79b7-4caf-845b-c226cf288ca0", + "rel": "self" + }, + { + "href": "http://127.0.0.1:36723/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/782c1178-79b7-4caf-845b-c226cf288ca0", + "rel": "bookmark" + } + ], + "name": "backup001" + } + ] +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.43/backup-create-response.json b/api-ref/source/v3/samples/backups/v3.43/backup-create-response.json new file mode 100644 index 00000000000..4ee80cfb337 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.43/backup-create-response.json @@ -0,0 +1,16 @@ +{ + "backup": { + "id": "992835c9-4ea4-4433-aa1d-c8725c041af2", + "links": [ + { + "href": "http://127.0.0.1:38909/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/992835c9-4ea4-4433-aa1d-c8725c041af2", + "rel": "self" + }, + { + "href": "http://127.0.0.1:38909/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/992835c9-4ea4-4433-aa1d-c8725c041af2", + "rel": "bookmark" + } + ], + "name": "backup001" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.43/backup-show-response.json b/api-ref/source/v3/samples/backups/v3.43/backup-show-response.json new file mode 100644 index 00000000000..3ef12ba17de --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.43/backup-show-response.json @@ -0,0 +1,32 @@ +{ + "backup": { + "availability_zone": null, + "container": null, + "created_at": "2023-06-23T11:56:04.957710", + "data_timestamp": "2023-06-23T11:56:04.957710", + "description": "Test backup", + "fail_reason": null, + "has_dependent_backups": false, + "id": "bb512d13-a64c-4793-b153-939b8c9b638f", + "is_incremental": false, + "links": [ + { + "href": "http://127.0.0.1:45785/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/bb512d13-a64c-4793-b153-939b8c9b638f", + "rel": "self" + }, + { + "href": "http://127.0.0.1:45785/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/bb512d13-a64c-4793-b153-939b8c9b638f", + "rel": "bookmark" + } + ], + "metadata": {}, + "name": "backup001", + "object_count": 0, + "os-backup-project-attr:project_id": "89afd400-b646-4bbc-b12b-c0a4d63e5bd3", + "size": 10, + "snapshot_id": null, + "status": "creating", + "updated_at": "2023-06-23T11:56:04.960494", + "volume_id": "f9f36c56-29a0-46a1-88c1-9bcf45fb271b" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.43/backups-list-detailed-response.json b/api-ref/source/v3/samples/backups/v3.43/backups-list-detailed-response.json new file mode 100644 index 00000000000..b3ded98170c --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.43/backups-list-detailed-response.json @@ -0,0 +1,34 @@ +{ + "backups": [ + { + "availability_zone": null, + "container": null, + "created_at": "2023-06-23T11:55:56.808833", + "data_timestamp": "2023-06-23T11:55:56.808833", + "description": "Test backup", + "fail_reason": null, + "has_dependent_backups": false, + "id": "cafabbef-cf1d-45a4-95c0-7395f30fd334", + "is_incremental": false, + "links": [ + { + "href": "http://127.0.0.1:34215/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/cafabbef-cf1d-45a4-95c0-7395f30fd334", + "rel": "self" + }, + { + "href": "http://127.0.0.1:34215/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/cafabbef-cf1d-45a4-95c0-7395f30fd334", + "rel": "bookmark" + } + ], + "metadata": {}, + "name": "backup001", + "object_count": 0, + "os-backup-project-attr:project_id": "89afd400-b646-4bbc-b12b-c0a4d63e5bd3", + "size": 10, + "snapshot_id": null, + "status": "creating", + "updated_at": "2023-06-23T11:55:56.811458", + "volume_id": "aa4f5314-143f-4ad9-8677-17d52032f943" + } + ] +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.43/backups-list-response.json b/api-ref/source/v3/samples/backups/v3.43/backups-list-response.json new file mode 100644 index 00000000000..84575addd89 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.43/backups-list-response.json @@ -0,0 +1,18 @@ +{ + "backups": [ + { + "id": "6fea7c87-7c93-4670-b74d-97319d71f95a", + "links": [ + { + "href": "http://127.0.0.1:46541/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/6fea7c87-7c93-4670-b74d-97319d71f95a", + "rel": "self" + }, + { + "href": "http://127.0.0.1:46541/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/6fea7c87-7c93-4670-b74d-97319d71f95a", + "rel": "bookmark" + } + ], + "name": "backup001" + } + ] +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.45/backup-create-response.json b/api-ref/source/v3/samples/backups/v3.45/backup-create-response.json new file mode 100644 index 00000000000..269292e4843 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.45/backup-create-response.json @@ -0,0 +1,16 @@ +{ + "backup": { + "id": "ca97fe1d-8d8c-4b97-8439-f8bcfe5fe048", + "links": [ + { + "href": "http://127.0.0.1:40345/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/ca97fe1d-8d8c-4b97-8439-f8bcfe5fe048", + "rel": "self" + }, + { + "href": "http://127.0.0.1:40345/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/ca97fe1d-8d8c-4b97-8439-f8bcfe5fe048", + "rel": "bookmark" + } + ], + "name": "backup001" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.45/backup-show-response.json b/api-ref/source/v3/samples/backups/v3.45/backup-show-response.json new file mode 100644 index 00000000000..c514fdb71b1 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.45/backup-show-response.json @@ -0,0 +1,32 @@ +{ + "backup": { + "availability_zone": null, + "container": null, + "created_at": "2023-06-23T11:56:07.334265", + "data_timestamp": "2023-06-23T11:56:07.334265", + "description": "Test backup", + "fail_reason": null, + "has_dependent_backups": false, + "id": "5edd3373-8fae-4ae5-a63f-7282df75b2f8", + "is_incremental": false, + "links": [ + { + "href": "http://127.0.0.1:33005/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/5edd3373-8fae-4ae5-a63f-7282df75b2f8", + "rel": "self" + }, + { + "href": "http://127.0.0.1:33005/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/5edd3373-8fae-4ae5-a63f-7282df75b2f8", + "rel": "bookmark" + } + ], + "metadata": {}, + "name": "backup001", + "object_count": 0, + "os-backup-project-attr:project_id": "89afd400-b646-4bbc-b12b-c0a4d63e5bd3", + "size": 10, + "snapshot_id": null, + "status": "creating", + "updated_at": "2023-06-23T11:56:07.350705", + "volume_id": "164476de-38ba-44a3-b00c-78624a5256ff" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.45/backups-list-detailed-response.json b/api-ref/source/v3/samples/backups/v3.45/backups-list-detailed-response.json new file mode 100644 index 00000000000..38d793b318b --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.45/backups-list-detailed-response.json @@ -0,0 +1,35 @@ +{ + "backups": [ + { + "availability_zone": null, + "container": null, + "created_at": "2023-06-23T11:55:59.217859", + "data_timestamp": "2023-06-23T11:55:59.217859", + "description": "Test backup", + "fail_reason": null, + "has_dependent_backups": false, + "id": "3287d2a2-38fb-4a62-b9c4-d0faf601650c", + "is_incremental": false, + "links": [ + { + "href": "http://127.0.0.1:46657/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/3287d2a2-38fb-4a62-b9c4-d0faf601650c", + "rel": "self" + }, + { + "href": "http://127.0.0.1:46657/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/3287d2a2-38fb-4a62-b9c4-d0faf601650c", + "rel": "bookmark" + } + ], + "metadata": {}, + "name": "backup001", + "object_count": 0, + "os-backup-project-attr:project_id": "89afd400-b646-4bbc-b12b-c0a4d63e5bd3", + "size": 10, + "snapshot_id": null, + "status": "creating", + "updated_at": "2023-06-23T11:55:59.221858", + "volume_id": "cc41abad-350c-45c2-a39b-82f3f891a954" + } + ], + "count": 1 +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.45/backups-list-response.json b/api-ref/source/v3/samples/backups/v3.45/backups-list-response.json new file mode 100644 index 00000000000..c2e718b6339 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.45/backups-list-response.json @@ -0,0 +1,19 @@ +{ + "backups": [ + { + "id": "0bc2fd0c-2727-440f-945e-97f653bf3cad", + "links": [ + { + "href": "http://127.0.0.1:46279/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/0bc2fd0c-2727-440f-945e-97f653bf3cad", + "rel": "self" + }, + { + "href": "http://127.0.0.1:46279/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/0bc2fd0c-2727-440f-945e-97f653bf3cad", + "rel": "bookmark" + } + ], + "name": "backup001" + } + ], + "count": 1 +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.56/backup-create-response.json b/api-ref/source/v3/samples/backups/v3.56/backup-create-response.json new file mode 100644 index 00000000000..99d28a99011 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.56/backup-create-response.json @@ -0,0 +1,16 @@ +{ + "backup": { + "id": "15b73866-f643-407d-9c53-377d9eb3e3fc", + "links": [ + { + "href": "http://127.0.0.1:38593/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/15b73866-f643-407d-9c53-377d9eb3e3fc", + "rel": "self" + }, + { + "href": "http://127.0.0.1:38593/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/15b73866-f643-407d-9c53-377d9eb3e3fc", + "rel": "bookmark" + } + ], + "name": "backup001" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.56/backup-show-response.json b/api-ref/source/v3/samples/backups/v3.56/backup-show-response.json new file mode 100644 index 00000000000..9ea66a8dd87 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.56/backup-show-response.json @@ -0,0 +1,33 @@ +{ + "backup": { + "availability_zone": null, + "container": null, + "created_at": "2023-06-23T11:56:08.691468", + "data_timestamp": "2023-06-23T11:56:08.691468", + "description": "Test backup", + "fail_reason": null, + "has_dependent_backups": false, + "id": "3052c307-119e-4f78-960e-972078aa15a8", + "is_incremental": false, + "links": [ + { + "href": "http://127.0.0.1:38135/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/3052c307-119e-4f78-960e-972078aa15a8", + "rel": "self" + }, + { + "href": "http://127.0.0.1:38135/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/3052c307-119e-4f78-960e-972078aa15a8", + "rel": "bookmark" + } + ], + "metadata": {}, + "name": "backup001", + "object_count": 0, + "os-backup-project-attr:project_id": "89afd400-b646-4bbc-b12b-c0a4d63e5bd3", + "size": 10, + "snapshot_id": null, + "status": "creating", + "updated_at": "2023-06-23T11:56:08.693488", + "user_id": "c853ca26-e8ea-4797-8a52-ee124a013d0e", + "volume_id": "e763a78b-edc5-48fb-bbb3-fddc1062e27a" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.56/backups-list-detailed-response.json b/api-ref/source/v3/samples/backups/v3.56/backups-list-detailed-response.json new file mode 100644 index 00000000000..29813e72f0d --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.56/backups-list-detailed-response.json @@ -0,0 +1,36 @@ +{ + "backups": [ + { + "availability_zone": null, + "container": null, + "created_at": "2023-06-23T11:56:02.012007", + "data_timestamp": "2023-06-23T11:56:02.012007", + "description": "Test backup", + "fail_reason": null, + "has_dependent_backups": false, + "id": "72915888-cfcb-4f41-a416-bab824f3e8ba", + "is_incremental": false, + "links": [ + { + "href": "http://127.0.0.1:34501/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/72915888-cfcb-4f41-a416-bab824f3e8ba", + "rel": "self" + }, + { + "href": "http://127.0.0.1:34501/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/72915888-cfcb-4f41-a416-bab824f3e8ba", + "rel": "bookmark" + } + ], + "metadata": {}, + "name": "backup001", + "object_count": 0, + "os-backup-project-attr:project_id": "89afd400-b646-4bbc-b12b-c0a4d63e5bd3", + "size": 10, + "snapshot_id": null, + "status": "creating", + "updated_at": "2023-06-23T11:56:02.014872", + "user_id": "c853ca26-e8ea-4797-8a52-ee124a013d0e", + "volume_id": "9de8bbf6-015e-4ccd-a484-1c93acc85f60" + } + ], + "count": 1 +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.56/backups-list-response.json b/api-ref/source/v3/samples/backups/v3.56/backups-list-response.json new file mode 100644 index 00000000000..51a198890ff --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.56/backups-list-response.json @@ -0,0 +1,19 @@ +{ + "backups": [ + { + "id": "eb129a85-fba3-4164-9a5e-9c3394b97810", + "links": [ + { + "href": "http://127.0.0.1:40523/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/eb129a85-fba3-4164-9a5e-9c3394b97810", + "rel": "self" + }, + { + "href": "http://127.0.0.1:40523/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/eb129a85-fba3-4164-9a5e-9c3394b97810", + "rel": "bookmark" + } + ], + "name": "backup001" + } + ], + "count": 1 +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.9/backup-create-response.json b/api-ref/source/v3/samples/backups/v3.9/backup-create-response.json new file mode 100644 index 00000000000..52a42636e97 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.9/backup-create-response.json @@ -0,0 +1,16 @@ +{ + "backup": { + "id": "41f7183c-a53d-4690-a7a9-b46f5bb1acbd", + "links": [ + { + "href": "http://127.0.0.1:34865/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/41f7183c-a53d-4690-a7a9-b46f5bb1acbd", + "rel": "self" + }, + { + "href": "http://127.0.0.1:34865/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/41f7183c-a53d-4690-a7a9-b46f5bb1acbd", + "rel": "bookmark" + } + ], + "name": "backup001" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.9/backup-show-response.json b/api-ref/source/v3/samples/backups/v3.9/backup-show-response.json new file mode 100644 index 00000000000..3463e57d48b --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.9/backup-show-response.json @@ -0,0 +1,30 @@ +{ + "backup": { + "availability_zone": null, + "container": null, + "created_at": "2023-06-23T11:56:09.563928", + "data_timestamp": "2023-06-23T11:56:09.563928", + "description": "Test backup", + "fail_reason": null, + "has_dependent_backups": false, + "id": "3a6b5767-358c-4185-bcda-95b401fa3893", + "is_incremental": false, + "links": [ + { + "href": "http://127.0.0.1:36513/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/3a6b5767-358c-4185-bcda-95b401fa3893", + "rel": "self" + }, + { + "href": "http://127.0.0.1:36513/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/3a6b5767-358c-4185-bcda-95b401fa3893", + "rel": "bookmark" + } + ], + "name": "backup001", + "object_count": 0, + "size": 10, + "snapshot_id": null, + "status": "creating", + "updated_at": "2023-06-23T11:56:09.567593", + "volume_id": "9cfc0bc4-cf52-45c2-b461-502ae375e2a7" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.9/backup-update-request.json b/api-ref/source/v3/samples/backups/v3.9/backup-update-request.json new file mode 100644 index 00000000000..b8823937237 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.9/backup-update-request.json @@ -0,0 +1,6 @@ +{ + "backup":{ + "name":"backup001", + "description": "this is a backup" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.9/backup-update-response.json b/api-ref/source/v3/samples/backups/v3.9/backup-update-response.json new file mode 100644 index 00000000000..1275fd217ff --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.9/backup-update-response.json @@ -0,0 +1,16 @@ +{ + "backup": { + "id": "06d5db4f-1f80-4a71-99a6-99368cfb8f8e", + "links": [ + { + "href": "http://127.0.0.1:45187/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/06d5db4f-1f80-4a71-99a6-99368cfb8f8e", + "rel": "self" + }, + { + "href": "http://127.0.0.1:45187/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/06d5db4f-1f80-4a71-99a6-99368cfb8f8e", + "rel": "bookmark" + } + ], + "name": "backup001" + } +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.9/backups-list-detailed-response.json b/api-ref/source/v3/samples/backups/v3.9/backups-list-detailed-response.json new file mode 100644 index 00000000000..25d378ce521 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.9/backups-list-detailed-response.json @@ -0,0 +1,32 @@ +{ + "backups": [ + { + "availability_zone": null, + "container": null, + "created_at": "2023-06-23T11:56:04.395991", + "data_timestamp": "2023-06-23T11:56:04.395991", + "description": "Test backup", + "fail_reason": null, + "has_dependent_backups": false, + "id": "a3469ffa-acb3-427d-b31f-1c93c96b009f", + "is_incremental": false, + "links": [ + { + "href": "http://127.0.0.1:43581/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/a3469ffa-acb3-427d-b31f-1c93c96b009f", + "rel": "self" + }, + { + "href": "http://127.0.0.1:43581/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/a3469ffa-acb3-427d-b31f-1c93c96b009f", + "rel": "bookmark" + } + ], + "name": "backup001", + "object_count": 0, + "size": 10, + "snapshot_id": null, + "status": "creating", + "updated_at": "2023-06-23T11:56:04.398251", + "volume_id": "b894eba0-506d-4019-b7b2-8508605017ba" + } + ] +} \ No newline at end of file diff --git a/api-ref/source/v3/samples/backups/v3.9/backups-list-response.json b/api-ref/source/v3/samples/backups/v3.9/backups-list-response.json new file mode 100644 index 00000000000..a2dcacca8f4 --- /dev/null +++ b/api-ref/source/v3/samples/backups/v3.9/backups-list-response.json @@ -0,0 +1,18 @@ +{ + "backups": [ + { + "id": "f08aaa97-3644-4e46-9e0b-7cddce86db9c", + "links": [ + { + "href": "http://127.0.0.1:33071/v3/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/f08aaa97-3644-4e46-9e0b-7cddce86db9c", + "rel": "self" + }, + { + "href": "http://127.0.0.1:33071/89afd400-b646-4bbc-b12b-c0a4d63e5bd3/backups/f08aaa97-3644-4e46-9e0b-7cddce86db9c", + "rel": "bookmark" + } + ], + "name": "backup001" + } + ] +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/backup-show-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/backup-show-response.json.tpl new file mode 100644 index 00000000000..51b74dd1b76 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/backup-show-response.json.tpl @@ -0,0 +1,30 @@ +{ + "backup": { + "availability_zone": null, + "container": null, + "created_at": "%(strtime)s", + "data_timestamp": "%(strtime)s", + "description": "Test backup", + "fail_reason": null, + "snapshot_id": null, + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "name": "backup001", + "object_count": %(int)s, + "size": %(int)s, + "status": "creating", + "updated_at": "%(strtime)s", + "volume_id": "%(uuid)s", + "is_incremental": false, + "has_dependent_backups": false + } +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/backup-update-request.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/backup-update-request.json.tpl new file mode 100644 index 00000000000..b8823937237 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/backup-update-request.json.tpl @@ -0,0 +1,6 @@ +{ + "backup":{ + "name":"backup001", + "description": "this is a backup" + } +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/backups-list-detailed-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/backups-list-detailed-response.json.tpl new file mode 100644 index 00000000000..21dc57a5bfb --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/backups-list-detailed-response.json.tpl @@ -0,0 +1,32 @@ +{ + "backups": [ + { + "availability_zone": null, + "container": null, + "created_at": "%(strtime)s", + "data_timestamp": "%(strtime)s", + "description": "Test backup", + "fail_reason": null, + "snapshot_id": null, + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "name": "backup001", + "object_count": %(int)s, + "size": %(int)s, + "status": "creating", + "updated_at": "%(strtime)s", + "volume_id": "%(uuid)s", + "is_incremental": false, + "has_dependent_backups": false + } + ] +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backup-create-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backup-create-response.json.tpl new file mode 100644 index 00000000000..c205db63186 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backup-create-response.json.tpl @@ -0,0 +1,16 @@ +{ + "backup": { + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "name": "backup001" + } +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backup-show-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backup-show-response.json.tpl new file mode 100644 index 00000000000..2f57c66d73e --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backup-show-response.json.tpl @@ -0,0 +1,31 @@ +{ + "backup": { + "availability_zone": null, + "container": null, + "created_at": "%(strtime)s", + "data_timestamp": "%(strtime)s", + "description": "Test backup", + "fail_reason": null, + "snapshot_id": null, + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "name": "backup001", + "object_count": %(int)s, + "os-backup-project-attr:project_id": "%(uuid)s", + "size": %(int)s, + "status": "creating", + "updated_at": "%(strtime)s", + "volume_id": "%(uuid)s", + "is_incremental": false, + "has_dependent_backups": false + } +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backups-list-detailed-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backups-list-detailed-response.json.tpl new file mode 100644 index 00000000000..64c6154c7a1 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backups-list-detailed-response.json.tpl @@ -0,0 +1,33 @@ +{ + "backups": [ + { + "availability_zone": null, + "container": null, + "created_at": "%(strtime)s", + "data_timestamp": "%(strtime)s", + "description": "Test backup", + "fail_reason": null, + "snapshot_id": null, + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "name": "backup001", + "object_count": %(int)s, + "os-backup-project-attr:project_id": "%(uuid)s", + "size": 10, + "status": "creating", + "updated_at": "%(strtime)s", + "volume_id": "%(uuid)s", + "is_incremental": false, + "has_dependent_backups": false + } + ] +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backups-list-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backups-list-response.json.tpl new file mode 100644 index 00000000000..711266c45dc --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.18/backups-list-response.json.tpl @@ -0,0 +1,15 @@ +{ + "backups": [ + { + "id": "%(uuid)s", + "links": [{ + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + }], + "name": "backup001" + } + ] +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backup-create-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backup-create-response.json.tpl new file mode 100644 index 00000000000..c205db63186 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backup-create-response.json.tpl @@ -0,0 +1,16 @@ +{ + "backup": { + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "name": "backup001" + } +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backup-show-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backup-show-response.json.tpl new file mode 100644 index 00000000000..7c4d69a5c06 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backup-show-response.json.tpl @@ -0,0 +1,32 @@ +{ + "backup": { + "availability_zone": null, + "container": null, + "created_at": "%(strtime)s", + "data_timestamp": "%(strtime)s", + "description": "Test backup", + "fail_reason": null, + "snapshot_id": null, + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "metadata": {}, + "name": "backup001", + "object_count": %(int)s, + "os-backup-project-attr:project_id": "%(uuid)s", + "size": %(int)s, + "status": "creating", + "updated_at": "%(strtime)s", + "volume_id": "%(uuid)s", + "is_incremental": false, + "has_dependent_backups": false + } +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backups-list-detailed-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backups-list-detailed-response.json.tpl new file mode 100644 index 00000000000..b7e0c97a732 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backups-list-detailed-response.json.tpl @@ -0,0 +1,34 @@ +{ + "backups": [ + { + "availability_zone": null, + "container": null, + "created_at": "%(strtime)s", + "data_timestamp": "%(strtime)s", + "description": "Test backup", + "fail_reason": null, + "snapshot_id": null, + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "metadata": {}, + "name": "backup001", + "object_count": %(int)s, + "os-backup-project-attr:project_id": "%(uuid)s", + "size": 10, + "status": "creating", + "updated_at": "%(strtime)s", + "volume_id": "%(uuid)s", + "is_incremental": false, + "has_dependent_backups": false + } + ] +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backups-list-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backups-list-response.json.tpl new file mode 100644 index 00000000000..711266c45dc --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.43/backups-list-response.json.tpl @@ -0,0 +1,15 @@ +{ + "backups": [ + { + "id": "%(uuid)s", + "links": [{ + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + }], + "name": "backup001" + } + ] +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backup-create-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backup-create-response.json.tpl new file mode 100644 index 00000000000..166a72a5b8c --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backup-create-response.json.tpl @@ -0,0 +1,16 @@ +{ + "backup": { + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "name": "backup001" + } +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backup-show-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backup-show-response.json.tpl new file mode 100644 index 00000000000..7c4d69a5c06 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backup-show-response.json.tpl @@ -0,0 +1,32 @@ +{ + "backup": { + "availability_zone": null, + "container": null, + "created_at": "%(strtime)s", + "data_timestamp": "%(strtime)s", + "description": "Test backup", + "fail_reason": null, + "snapshot_id": null, + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "metadata": {}, + "name": "backup001", + "object_count": %(int)s, + "os-backup-project-attr:project_id": "%(uuid)s", + "size": %(int)s, + "status": "creating", + "updated_at": "%(strtime)s", + "volume_id": "%(uuid)s", + "is_incremental": false, + "has_dependent_backups": false + } +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backups-list-detailed-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backups-list-detailed-response.json.tpl new file mode 100644 index 00000000000..b3fdf061ef6 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backups-list-detailed-response.json.tpl @@ -0,0 +1,35 @@ +{ + "backups": [ + { + "availability_zone": null, + "container": null, + "created_at": "%(strtime)s", + "data_timestamp": "%(strtime)s", + "description": "Test backup", + "fail_reason": null, + "snapshot_id": null, + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "metadata": {}, + "name": "backup001", + "object_count": %(int)s, + "os-backup-project-attr:project_id": "%(uuid)s", + "size": %(int)s, + "status": "creating", + "updated_at": "%(strtime)s", + "volume_id": "%(uuid)s", + "is_incremental": false, + "has_dependent_backups": false + } + ], + "count": %(int)s +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backups-list-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backups-list-response.json.tpl new file mode 100644 index 00000000000..13170e6027c --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.45/backups-list-response.json.tpl @@ -0,0 +1,16 @@ +{ + "backups": [ + { + "id": "%(uuid)s", + "links": [{ + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + }], + "name": "backup001" + } + ], + "count": %(int)s +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.47/backup-restore-request.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.47/backup-restore-request.json.tpl new file mode 100644 index 00000000000..3e28d0595c1 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.47/backup-restore-request.json.tpl @@ -0,0 +1,7 @@ +{ + "restore": { + "name": "volume01", + "volume_id": "%(uuid)s" + "backup_id": "%(uuid)s", + } +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.47/backup-restore-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.47/backup-restore-response.json.tpl new file mode 100644 index 00000000000..12785350360 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.47/backup-restore-response.json.tpl @@ -0,0 +1,7 @@ +{ + "restore": { + "backup_id": "%(uuid)s", + "volume_id": "%(uuid)s", + "volume_name": "volume01" + } +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backup-create-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backup-create-response.json.tpl new file mode 100644 index 00000000000..166a72a5b8c --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backup-create-response.json.tpl @@ -0,0 +1,16 @@ +{ + "backup": { + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "name": "backup001" + } +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backup-show-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backup-show-response.json.tpl new file mode 100644 index 00000000000..6e043a23d87 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backup-show-response.json.tpl @@ -0,0 +1,33 @@ +{ + "backup": { + "availability_zone": null, + "container": null, + "created_at": "%(strtime)s", + "data_timestamp": "%(strtime)s", + "description": "Test backup", + "fail_reason": null, + "snapshot_id": null, + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "metadata": {}, + "name": "backup001", + "object_count": %(int)s, + "os-backup-project-attr:project_id": "%(uuid)s", + "size": %(int)s, + "status": "creating", + "updated_at": "%(strtime)s", + "volume_id": "%(uuid)s", + "is_incremental": false, + "has_dependent_backups": false, + "user_id": "%(uuid)s" + } +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backups-list-detailed-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backups-list-detailed-response.json.tpl new file mode 100644 index 00000000000..8cf8eee1c2d --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backups-list-detailed-response.json.tpl @@ -0,0 +1,36 @@ +{ + "backups": [ + { + "availability_zone": null, + "container": null, + "created_at": "%(strtime)s", + "data_timestamp": "%(strtime)s", + "description": "Test backup", + "fail_reason": null, + "snapshot_id": null, + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "metadata": {}, + "name": "backup001", + "object_count": %(int)s, + "os-backup-project-attr:project_id": "%(uuid)s", + "size": %(int)s, + "status": "creating", + "updated_at": "%(strtime)s", + "volume_id": "%(uuid)s", + "is_incremental": false, + "has_dependent_backups": false, + "user_id": "%(uuid)s" + } + ], + "count": %(int)s +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backups-list-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backups-list-response.json.tpl new file mode 100644 index 00000000000..13170e6027c --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.56/backups-list-response.json.tpl @@ -0,0 +1,16 @@ +{ + "backups": [ + { + "id": "%(uuid)s", + "links": [{ + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + }], + "name": "backup001" + } + ], + "count": %(int)s +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-create-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-create-response.json.tpl new file mode 100644 index 00000000000..7d830a2ed88 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-create-response.json.tpl @@ -0,0 +1,16 @@ +{ + "backup": { + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "name": "backup001" + } +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-show-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-show-response.json.tpl new file mode 100644 index 00000000000..51b74dd1b76 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-show-response.json.tpl @@ -0,0 +1,30 @@ +{ + "backup": { + "availability_zone": null, + "container": null, + "created_at": "%(strtime)s", + "data_timestamp": "%(strtime)s", + "description": "Test backup", + "fail_reason": null, + "snapshot_id": null, + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "name": "backup001", + "object_count": %(int)s, + "size": %(int)s, + "status": "creating", + "updated_at": "%(strtime)s", + "volume_id": "%(uuid)s", + "is_incremental": false, + "has_dependent_backups": false + } +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-update-request.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-update-request.json.tpl new file mode 100644 index 00000000000..b8823937237 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-update-request.json.tpl @@ -0,0 +1,6 @@ +{ + "backup":{ + "name":"backup001", + "description": "this is a backup" + } +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-update-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-update-response.json.tpl new file mode 100644 index 00000000000..b1e476763d5 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backup-update-response.json.tpl @@ -0,0 +1,15 @@ +{ + "backup": { + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(uuid)s/backups/%(uuid)s", + "rel": "self" + }, { + "href": "%(host)s/%(uuid)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "name": "%(name)s" + } +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backups-list-detailed-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backups-list-detailed-response.json.tpl new file mode 100644 index 00000000000..2efaf2d42a8 --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backups-list-detailed-response.json.tpl @@ -0,0 +1,32 @@ +{ + "backups": [ + { + "availability_zone": null, + "container": null, + "created_at": "%(strtime)s", + "data_timestamp": "%(strtime)s", + "description": "Test backup", + "fail_reason": null, + "snapshot_id": null, + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + } + ], + "name": "backup001", + "object_count": %(int)s, + "size": 10, + "status": "creating", + "updated_at": "%(strtime)s", + "volume_id": "%(uuid)s", + "is_incremental": false, + "has_dependent_backups": false + } + ] +} diff --git a/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backups-list-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backups-list-response.json.tpl new file mode 100644 index 00000000000..711266c45dc --- /dev/null +++ b/cinder/tests/functional/api_sample_tests/samples/backups/v3.9/backups-list-response.json.tpl @@ -0,0 +1,15 @@ +{ + "backups": [ + { + "id": "%(uuid)s", + "links": [{ + "href": "%(host)s/v3/%(id)s/backups/%(uuid)s", + "rel": "self" + }, { + "href": "%(host)s/%(id)s/backups/%(uuid)s", + "rel": "bookmark" + }], + "name": "backup001" + } + ] +} \ No newline at end of file diff --git a/cinder/tests/functional/api_sample_tests/test_backups.py b/cinder/tests/functional/api_sample_tests/test_backups.py index 0eae564651c..7beeb9fa185 100644 --- a/cinder/tests/functional/api_sample_tests/test_backups.py +++ b/cinder/tests/functional/api_sample_tests/test_backups.py @@ -12,9 +12,17 @@ from oslo_serialization import jsonutils +from cinder.api import microversions as mv from cinder.tests.functional import api_samples_test_base as test_base +@test_base.VolumesSampleBase.use_versions( + mv.BASE_VERSION, # 3.0 + mv.BACKUP_UPDATE, # 3.9 + mv.BACKUP_PROJECT, # 3.18 + mv.BACKUP_METADATA, # 3.43 + mv.SUPPORT_COUNT_INFO, # 3.45 + mv.BACKUP_PROJECT_USER_ID) # 3.56 class BackupClassesSampleJsonTest(test_base.VolumesSampleBase): sample_dir = "backups" @@ -35,7 +43,40 @@ class BackupClassesSampleJsonTest(test_base.VolumesSampleBase): self._verify_response('backup-create-response', {}, self.response, 202) + @test_base.VolumesSampleBase.override_mv(mv.BASE_VERSION) # 3.0 def test_backup_list(self): response = self._do_get('backups') self._verify_response('backups-list-response', {}, response, 200) + + @test_base.VolumesSampleBase.override_mv(mv.SUPPORT_COUNT_INFO) # 3.45 + def test_backup_list_with_count(self): + response = self._do_get('backups?with_count=True') + self._verify_response('backups-list-response', + {}, response, 200) + + @test_base.VolumesSampleBase.override_mv(mv.BACKUP_UPDATE) # 3.9 + def test_backup_update(self): + res = jsonutils.loads(self.response.content)['backup'] + response = self._do_put('backups/%s' % res['id'], + 'backup-update-request') + self._verify_response('backup-update-response', + {}, response, 200) + + def test_backup_show(self): + res = jsonutils.loads(self.response.content)['backup'] + response = self._do_get('backups/%s' % res['id']) + self._verify_response('backup-show-response', + {}, response, 200) + + @test_base.VolumesSampleBase.override_mv(mv.BASE_VERSION) # 3.0 + def test_backup_list_detail(self): + response = self._do_get('backups/detail') + self._verify_response('backups-list-detailed-response', + {}, response, 200) + + @test_base.VolumesSampleBase.override_mv(mv.SUPPORT_COUNT_INFO) # 3.45 + def test_backup_list_detail_with_count(self): + response = self._do_get('backups/detail?with_count=True') + self._verify_response('backups-list-detailed-response', + {}, response, 200)