diff options
author | Jenkins <jenkins@review.openstack.org> | 2013-02-16 07:38:30 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2013-02-16 07:38:30 +0000 |
commit | 29aea13f085ddf7730d4285ceb6e18e385b02f7b (patch) | |
tree | f38b9826cce8d579799d6c344f07af64f05c1827 | |
parent | 8bd111f9018cd23e16e66ee0cdfb0ad5748ce33d (diff) | |
parent | de56abd4b1ed1c797d20c486eeee8d2a5eba5482 (diff) | |
download | nova-29aea13f085ddf7730d4285ceb6e18e385b02f7b.tar.gz nova-29aea13f085ddf7730d4285ceb6e18e385b02f7b.tar.xz nova-29aea13f085ddf7730d4285ceb6e18e385b02f7b.zip |
Merge "Adds API Sample tests for FlavorAccess extension."
37 files changed, 561 insertions, 1 deletions
diff --git a/doc/api_samples/os-flavor-access/flavor-access-add-tenant-req.json b/doc/api_samples/os-flavor-access/flavor-access-add-tenant-req.json new file mode 100644 index 000000000..dd847d6bc --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-add-tenant-req.json @@ -0,0 +1,5 @@ +{ + "addTenantAccess": { + "tenant": "fake_tenant" + } +}
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-add-tenant-req.xml b/doc/api_samples/os-flavor-access/flavor-access-add-tenant-req.xml new file mode 100644 index 000000000..ab9ec8ba7 --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-add-tenant-req.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<addTenantAccess> + <tenant>fake_tenant</tenant> +</addTenantAccess>
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json b/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json new file mode 100644 index 000000000..b6c1bc77d --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json @@ -0,0 +1,8 @@ +{ + "flavor_access": [ + { + "flavor_id": "10", + "tenant_id": "fake_tenant" + } + ] +}
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml b/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml new file mode 100644 index 000000000..1e55ad2f9 --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml @@ -0,0 +1,4 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavor_access> + <access tenant_id="fake_tenant" flavor_id="10"/> +</flavor_access>
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-create-req.json b/doc/api_samples/os-flavor-access/flavor-access-create-req.json new file mode 100644 index 000000000..77c51d7e4 --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-create-req.json @@ -0,0 +1,10 @@ +{ + "flavor": { + "name": "test_flavor", + "ram": 1024, + "vcpus": 2, + "disk": 10, + "id": "10", + "os-flavor-access:is_public": false + } +}
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-create-req.xml b/doc/api_samples/os-flavor-access/flavor-access-create-req.xml new file mode 100644 index 000000000..81256cf25 --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-create-req.xml @@ -0,0 +1,10 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavor xmlns="http://docs.openstack.org/compute/api/v1.1" + xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v1.1" + name="test_flavor" + ram="1024" + vcpus="2" + disk="10" + id="10" + os-flavor-access:is_public="False" +/>
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-create-resp.json b/doc/api_samples/os-flavor-access/flavor-access-create-resp.json new file mode 100644 index 000000000..433c36b34 --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-create-resp.json @@ -0,0 +1,20 @@ +{ + "flavor": { + "disk": 10, + "id": "10", + "links": [ + { + "href": "http://openstack.example.com/v2/openstack/flavors/10", + "rel": "self" + }, + { + "href": "http://openstack.example.com/openstack/flavors/10", + "rel": "bookmark" + } + ], + "name": "test_flavor", + "os-flavor-access:is_public": false, + "ram": 1024, + "vcpus": 2 + } +}
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-create-resp.xml b/doc/api_samples/os-flavor-access/flavor-access-create-resp.xml new file mode 100644 index 000000000..5c40d3aea --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-create-resp.xml @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavor xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="10" vcpus="2" ram="1024" name="test_flavor" id="10" os-flavor-access:is_public="False"> + <atom:link href="http://openstack.example.com/v2/openstack/flavors/10" rel="self"/> + <atom:link href="http://openstack.example.com/openstack/flavors/10" rel="bookmark"/> +</flavor>
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-detail-resp.json b/doc/api_samples/os-flavor-access/flavor-access-detail-resp.json new file mode 100644 index 000000000..f5e8a7584 --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-detail-resp.json @@ -0,0 +1,94 @@ +{ + "flavors": [ + { + "disk": 0, + "id": "1", + "links": [ + { + "href": "http://openstack.example.com/v2/openstack/flavors/1", + "rel": "self" + }, + { + "href": "http://openstack.example.com/openstack/flavors/1", + "rel": "bookmark" + } + ], + "name": "m1.tiny", + "os-flavor-access:is_public": true, + "ram": 512, + "vcpus": 1 + }, + { + "disk": 20, + "id": "2", + "links": [ + { + "href": "http://openstack.example.com/v2/openstack/flavors/2", + "rel": "self" + }, + { + "href": "http://openstack.example.com/openstack/flavors/2", + "rel": "bookmark" + } + ], + "name": "m1.small", + "os-flavor-access:is_public": true, + "ram": 2048, + "vcpus": 1 + }, + { + "disk": 40, + "id": "3", + "links": [ + { + "href": "http://openstack.example.com/v2/openstack/flavors/3", + "rel": "self" + }, + { + "href": "http://openstack.example.com/openstack/flavors/3", + "rel": "bookmark" + } + ], + "name": "m1.medium", + "os-flavor-access:is_public": true, + "ram": 4096, + "vcpus": 2 + }, + { + "disk": 80, + "id": "4", + "links": [ + { + "href": "http://openstack.example.com/v2/openstack/flavors/4", + "rel": "self" + }, + { + "href": "http://openstack.example.com/openstack/flavors/4", + "rel": "bookmark" + } + ], + "name": "m1.large", + "os-flavor-access:is_public": true, + "ram": 8192, + "vcpus": 4 + }, + { + "disk": 160, + "id": "5", + "links": [ + { + "href": "http://openstack.example.com/v2/openstack/flavors/5", + "rel": "self" + }, + { + "href": "http://openstack.example.com/openstack/flavors/5", + "rel": "bookmark" + } + ], + "name": "m1.xlarge", + "os-flavor-access:is_public": true, + "ram": 16384, + "vcpus": 8 + } + ] +}
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-detail-resp.xml b/doc/api_samples/os-flavor-access/flavor-access-detail-resp.xml new file mode 100644 index 000000000..1cbe69c7d --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-detail-resp.xml @@ -0,0 +1,23 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavors xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1"> + <flavor disk="0" vcpus="1" ram="512" name="m1.tiny" id="1" os-flavor-access:is_public="True"> + <atom:link href="http://openstack.example.com/v2/openstack/flavors/1" rel="self"/> + <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/> + </flavor> + <flavor disk="20" vcpus="1" ram="2048" name="m1.small" id="2" os-flavor-access:is_public="True"> + <atom:link href="http://openstack.example.com/v2/openstack/flavors/2" rel="self"/> + <atom:link href="http://openstack.example.com/openstack/flavors/2" rel="bookmark"/> + </flavor> + <flavor disk="40" vcpus="2" ram="4096" name="m1.medium" id="3" os-flavor-access:is_public="True"> + <atom:link href="http://openstack.example.com/v2/openstack/flavors/3" rel="self"/> + <atom:link href="http://openstack.example.com/openstack/flavors/3" rel="bookmark"/> + </flavor> + <flavor disk="80" vcpus="4" ram="8192" name="m1.large" id="4" os-flavor-access:is_public="True"> + <atom:link href="http://openstack.example.com/v2/openstack/flavors/4" rel="self"/> + <atom:link href="http://openstack.example.com/openstack/flavors/4" rel="bookmark"/> + </flavor> + <flavor disk="160" vcpus="8" ram="16384" name="m1.xlarge" id="5" os-flavor-access:is_public="True"> + <atom:link href="http://openstack.example.com/v2/openstack/flavors/5" rel="self"/> + <atom:link href="http://openstack.example.com/openstack/flavors/5" rel="bookmark"/> + </flavor> +</flavors>
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-list-resp.json b/doc/api_samples/os-flavor-access/flavor-access-list-resp.json new file mode 100644 index 000000000..b6c1bc77d --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-list-resp.json @@ -0,0 +1,8 @@ +{ + "flavor_access": [ + { + "flavor_id": "10", + "tenant_id": "fake_tenant" + } + ] +}
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-list-resp.xml b/doc/api_samples/os-flavor-access/flavor-access-list-resp.xml new file mode 100644 index 000000000..1e55ad2f9 --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-list-resp.xml @@ -0,0 +1,4 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavor_access> + <access tenant_id="fake_tenant" flavor_id="10"/> +</flavor_access>
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-req.json b/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-req.json new file mode 100644 index 000000000..dff6d540a --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-req.json @@ -0,0 +1,5 @@ +{ + "removeTenantAccess": { + "tenant": "fake_tenant" + } +}
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-req.xml b/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-req.xml new file mode 100644 index 000000000..fc296c302 --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-req.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<removeTenantAccess> + <tenant>fake_tenant</tenant> +</removeTenantAccess>
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json b/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json new file mode 100644 index 000000000..5cab03334 --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json @@ -0,0 +1,3 @@ +{ + "flavor_access": [] +}
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml b/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml new file mode 100644 index 000000000..862e02872 --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavor_access/>
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-show-resp.json b/doc/api_samples/os-flavor-access/flavor-access-show-resp.json new file mode 100644 index 000000000..a60b8cc62 --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-show-resp.json @@ -0,0 +1,20 @@ +{ + "flavor": { + "disk": 0, + "id": "1", + "links": [ + { + "href": "http://openstack.example.com/v2/openstack/flavors/1", + "rel": "self" + }, + { + "href": "http://openstack.example.com/openstack/flavors/1", + "rel": "bookmark" + } + ], + "name": "m1.tiny", + "os-flavor-access:is_public": true, + "ram": 512, + "vcpus": 1 + } +}
\ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-show-resp.xml b/doc/api_samples/os-flavor-access/flavor-access-show-resp.xml new file mode 100644 index 000000000..ae699cb07 --- /dev/null +++ b/doc/api_samples/os-flavor-access/flavor-access-show-resp.xml @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavor xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="0" vcpus="1" ram="512" name="m1.tiny" id="1" os-flavor-access:is_public="True"> + <atom:link href="http://openstack.example.com/v2/openstack/flavors/1" rel="self"/> + <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/> +</flavor>
\ No newline at end of file diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-req.json.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-req.json.tpl new file mode 100644 index 000000000..94f5439e0 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-req.json.tpl @@ -0,0 +1,5 @@ +{ + "addTenantAccess": { + "tenant": "%(tenant_id)s" + } +} diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-req.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-req.xml.tpl new file mode 100644 index 000000000..312819dad --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-req.xml.tpl @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<addTenantAccess> + <tenant>%(tenant_id)s</tenant> +</addTenantAccess> diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json.tpl new file mode 100644 index 000000000..d79715579 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json.tpl @@ -0,0 +1,8 @@ +{ + "flavor_access": [ + { + "flavor_id": "%(flavor_id)s", + "tenant_id": "%(tenant_id)s" + } + ] +} diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml.tpl new file mode 100644 index 000000000..2223052aa --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml.tpl @@ -0,0 +1,4 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavor_access> + <access tenant_id="%(tenant_id)s" flavor_id="%(flavor_id)s"/> +</flavor_access> diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-create-req.json.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-create-req.json.tpl new file mode 100644 index 000000000..02ac4e695 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-create-req.json.tpl @@ -0,0 +1,10 @@ +{ + "flavor": { + "name": "%(flavor_name)s", + "ram": 1024, + "vcpus": 2, + "disk": 10, + "id": "%(flavor_id)s", + "os-flavor-access:is_public": false + } +} diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-create-req.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-create-req.xml.tpl new file mode 100644 index 000000000..5714fb9d0 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-create-req.xml.tpl @@ -0,0 +1,10 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavor xmlns="http://docs.openstack.org/compute/api/v1.1" + xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v1.1" + name="%(flavor_name)s" + ram="1024" + vcpus="2" + disk="10" + id="%(flavor_id)s" + os-flavor-access:is_public="False" +/> diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-create-resp.json.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-create-resp.json.tpl new file mode 100644 index 000000000..4110795ec --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-create-resp.json.tpl @@ -0,0 +1,20 @@ +{ + "flavor": { + "disk": 10, + "id": "%(flavor_id)s", + "links": [ + { + "href": "%(host)s/v2/openstack/flavors/%(flavor_id)s", + "rel": "self" + }, + { + "href": "%(host)s/openstack/flavors/%(flavor_id)s", + "rel": "bookmark" + } + ], + "name": "%(flavor_name)s", + "os-flavor-access:is_public": false, + "ram": 1024, + "vcpus": 2 + } +} diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-create-resp.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-create-resp.xml.tpl new file mode 100644 index 000000000..c3a899407 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-create-resp.xml.tpl @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavor xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="10" vcpus="2" ram="1024" name="%(flavor_name)s" id="%(flavor_id)s" os-flavor-access:is_public="False"> + <atom:link href="%(host)s/v2/openstack/flavors/%(flavor_id)s" rel="self"/> + <atom:link href="%(host)s/openstack/flavors/%(flavor_id)s" rel="bookmark"/> +</flavor> diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-detail-resp.json.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-detail-resp.json.tpl new file mode 100644 index 000000000..711207d2d --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-detail-resp.json.tpl @@ -0,0 +1,94 @@ +{ + "flavors": [ + { + "disk": 0, + "id": "1", + "links": [ + { + "href": "%(host)s/v2/openstack/flavors/1", + "rel": "self" + }, + { + "href": "%(host)s/openstack/flavors/1", + "rel": "bookmark" + } + ], + "name": "m1.tiny", + "os-flavor-access:is_public": true, + "ram": 512, + "vcpus": 1 + }, + { + "disk": 20, + "id": "2", + "links": [ + { + "href": "%(host)s/v2/openstack/flavors/2", + "rel": "self" + }, + { + "href": "%(host)s/openstack/flavors/2", + "rel": "bookmark" + } + ], + "name": "m1.small", + "os-flavor-access:is_public": true, + "ram": 2048, + "vcpus": 1 + }, + { + "disk": 40, + "id": "3", + "links": [ + { + "href": "%(host)s/v2/openstack/flavors/3", + "rel": "self" + }, + { + "href": "%(host)s/openstack/flavors/3", + "rel": "bookmark" + } + ], + "name": "m1.medium", + "os-flavor-access:is_public": true, + "ram": 4096, + "vcpus": 2 + }, + { + "disk": 80, + "id": "4", + "links": [ + { + "href": "%(host)s/v2/openstack/flavors/4", + "rel": "self" + }, + { + "href": "%(host)s/openstack/flavors/4", + "rel": "bookmark" + } + ], + "name": "m1.large", + "os-flavor-access:is_public": true, + "ram": 8192, + "vcpus": 4 + }, + { + "disk": 160, + "id": "5", + "links": [ + { + "href": "%(host)s/v2/openstack/flavors/5", + "rel": "self" + }, + { + "href": "%(host)s/openstack/flavors/5", + "rel": "bookmark" + } + ], + "name": "m1.xlarge", + "os-flavor-access:is_public": true, + "ram": 16384, + "vcpus": 8 + } + ] +} diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-detail-resp.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-detail-resp.xml.tpl new file mode 100644 index 000000000..cdef74cce --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-detail-resp.xml.tpl @@ -0,0 +1,23 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavors xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1"> + <flavor disk="0" vcpus="1" ram="512" name="m1.tiny" id="1" os-flavor-access:is_public="True"> + <atom:link href="%(host)s/v2/openstack/flavors/1" rel="self"/> + <atom:link href="%(host)s/openstack/flavors/1" rel="bookmark"/> + </flavor> + <flavor disk="20" vcpus="1" ram="2048" name="m1.small" id="2" os-flavor-access:is_public="True"> + <atom:link href="%(host)s/v2/openstack/flavors/2" rel="self"/> + <atom:link href="%(host)s/openstack/flavors/2" rel="bookmark"/> + </flavor> + <flavor disk="40" vcpus="2" ram="4096" name="m1.medium" id="3" os-flavor-access:is_public="True"> + <atom:link href="%(host)s/v2/openstack/flavors/3" rel="self"/> + <atom:link href="%(host)s/openstack/flavors/3" rel="bookmark"/> + </flavor> + <flavor disk="80" vcpus="4" ram="8192" name="m1.large" id="4" os-flavor-access:is_public="True"> + <atom:link href="%(host)s/v2/openstack/flavors/4" rel="self"/> + <atom:link href="%(host)s/openstack/flavors/4" rel="bookmark"/> + </flavor> + <flavor disk="160" vcpus="8" ram="16384" name="m1.xlarge" id="5" os-flavor-access:is_public="True"> + <atom:link href="%(host)s/v2/openstack/flavors/5" rel="self"/> + <atom:link href="%(host)s/openstack/flavors/5" rel="bookmark"/> + </flavor> +</flavors> diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.json.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.json.tpl new file mode 100644 index 000000000..a6b6dbdcd --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.json.tpl @@ -0,0 +1,8 @@ +{ + "flavor_access": [ + { + "flavor_id": "%(flavor_id)s", + "tenant_id": "fake_tenant" + } + ] +} diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.xml.tpl new file mode 100644 index 000000000..2223052aa --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.xml.tpl @@ -0,0 +1,4 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavor_access> + <access tenant_id="%(tenant_id)s" flavor_id="%(flavor_id)s"/> +</flavor_access> diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-req.json.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-req.json.tpl new file mode 100644 index 000000000..20711e02b --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-req.json.tpl @@ -0,0 +1,5 @@ +{ + "removeTenantAccess": { + "tenant": "%(tenant_id)s" + } +} diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-req.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-req.xml.tpl new file mode 100644 index 000000000..490de3e31 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-req.xml.tpl @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<removeTenantAccess> + <tenant>%(tenant_id)s</tenant> +</removeTenantAccess> diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json.tpl new file mode 100644 index 000000000..5cab03334 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json.tpl @@ -0,0 +1,3 @@ +{ + "flavor_access": [] +}
\ No newline at end of file diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml.tpl new file mode 100644 index 000000000..80d1ecc48 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml.tpl @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavor_access/> diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-show-resp.json.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-show-resp.json.tpl new file mode 100644 index 000000000..975f38661 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-show-resp.json.tpl @@ -0,0 +1,20 @@ +{ + "flavor": { + "disk": 0, + "id": "%(flavor_id)s", + "links": [ + { + "href": "%(host)s/v2/openstack/flavors/%(flavor_id)s", + "rel": "self" + }, + { + "href": "%(host)s/openstack/flavors/%(flavor_id)s", + "rel": "bookmark" + } + ], + "name": "m1.tiny", + "os-flavor-access:is_public": true, + "ram": 512, + "vcpus": 1 + } +} diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-show-resp.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-show-resp.xml.tpl new file mode 100644 index 000000000..f9a3ff178 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-show-resp.xml.tpl @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<flavor xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="0" vcpus="1" ram="512" name="m1.tiny" id="%(flavor_id)s" os-flavor-access:is_public="True"> + <atom:link href="%(host)s/v2/openstack/flavors/%(flavor_id)s" rel="self"/> + <atom:link href="%(host)s/openstack/flavors/%(flavor_id)s" rel="bookmark"/> +</flavor> diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py index 97e38fa0c..ae34765d9 100644 --- a/nova/tests/integrated/test_api_samples.py +++ b/nova/tests/integrated/test_api_samples.py @@ -383,7 +383,6 @@ class ApiSamplesTrap(ApiSampleTestBase): # removed) soon. do_not_approve_additions = [] do_not_approve_additions.append('os-create-server-ext') - do_not_approve_additions.append('os-flavor-access') do_not_approve_additions.append('os-hypervisors') do_not_approve_additions.append('os-volumes') @@ -3210,3 +3209,96 @@ class ConfigDriveSampleJsonTest(ServersSampleBase): class ConfigDriveSampleXmlTest(ConfigDriveSampleJsonTest): ctype = 'xml' + + +class FlavorAccessSampleJsonTests(ApiSampleTestBase): + extension_name = ("nova.api.openstack.compute.contrib.flavor_access." + "Flavor_access") + + def _get_flags(self): + f = super(FlavorAccessSampleJsonTests, self)._get_flags() + f['osapi_compute_extension'] = CONF.osapi_compute_extension[:] + # FlavorAccess extension also needs Flavormanage to be loaded. + f['osapi_compute_extension'].append( + 'nova.api.openstack.compute.contrib.flavormanage.Flavormanage') + return f + + def _add_tenant(self): + subs = { + 'tenant_id': 'fake_tenant', + 'flavor_id': 10 + } + response = self._do_post('flavors/10/action', + 'flavor-access-add-tenant-req', + subs) + self.assertEqual(response.status, 200) + return self._verify_response('flavor-access-add-tenant-resp', + subs, response) + + def _create_flavor(self): + subs = { + 'flavor_id': 10, + 'flavor_name': 'test_flavor' + } + response = self._do_post("flavors", + "flavor-access-create-req", + subs) + self.assertEqual(response.status, 200) + subs.update(self._get_regexes()) + return self._verify_response("flavor-access-create-resp", + subs, response) + + def test_flavor_access_create(self): + self._create_flavor() + + def test_flavor_access_detail(self): + response = self._do_get('flavors/detail') + self.assertEqual(response.status, 200) + subs = self._get_regexes() + return self._verify_response('flavor-access-detail-resp', + subs, response) + + def test_flavor_access_list(self): + self._create_flavor() + self._add_tenant() + flavor_id = 10 + response = self._do_get('flavors/%s/os-flavor-access' % flavor_id) + self.assertEqual(response.status, 200) + subs = { + 'flavor_id': flavor_id, + 'tenant_id': 'fake_tenant', + } + return self._verify_response('flavor-access-list-resp', + subs, response) + + def test_flavor_access_show(self): + flavor_id = 1 + response = self._do_get('flavors/%s' % flavor_id) + self.assertEqual(response.status, 200) + subs = { + 'flavor_id': flavor_id + } + subs.update(self._get_regexes()) + return self._verify_response('flavor-access-show-resp', + subs, response) + + def test_flavor_access_add_tenant(self): + self._create_flavor() + response = self._add_tenant() + + def test_flavor_access_remove_tenant(self): + self._create_flavor() + self._add_tenant() + subs = { + 'tenant_id': 'fake_tenant', + } + response = self._do_post('flavors/10/action', + "flavor-access-remove-tenant-req", + subs) + self.assertEqual(response.status, 200) + return self._verify_response('flavor-access-remove-tenant-resp', + {}, response) + + +class FlavorAccessSampleXmlTests(FlavorAccessSampleJsonTests): + ctype = "xml" |