From a72096b3955289885353f8c094e6f13cc9b4b289 Mon Sep 17 00:00:00 2001 From: Terry Howe Date: Tue, 19 Aug 2014 16:18:12 -0600 Subject: [PATCH] orchestration version resource Change-Id: I763b7ec39e0c5eb2b9cd8b97e1c966510d865994 --- openstack/orchestration/version.py | 28 ++++++++++++ openstack/tests/orchestration/test_version.py | 43 +++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 openstack/orchestration/version.py create mode 100644 openstack/tests/orchestration/test_version.py diff --git a/openstack/orchestration/version.py b/openstack/orchestration/version.py new file mode 100644 index 000000000..37e46f290 --- /dev/null +++ b/openstack/orchestration/version.py @@ -0,0 +1,28 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from openstack.orchestration import orchestration_service +from openstack import resource + + +class Version(resource.Resource): + resource_key = 'version' + resources_key = 'versions' + base_path = '/' + service = orchestration_service.OrchestrationService() + + # capabilities + allow_list = True + + # Properties + links = resource.prop('links') + status = resource.prop('status') diff --git a/openstack/tests/orchestration/test_version.py b/openstack/tests/orchestration/test_version.py new file mode 100644 index 000000000..9943fece0 --- /dev/null +++ b/openstack/tests/orchestration/test_version.py @@ -0,0 +1,43 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import testtools + +from openstack.orchestration import version + +IDENTIFIER = 'IDENTIFIER' +EXAMPLE = { + 'id': IDENTIFIER, + 'links': '2', + 'status': '3', +} + + +class TestVersion(testtools.TestCase): + + def test_basic(self): + sot = version.Version() + self.assertEqual('version', sot.resource_key) + self.assertEqual('versions', sot.resources_key) + self.assertEqual('/', sot.base_path) + self.assertEqual('orchestration', sot.service.service_type) + self.assertFalse(sot.allow_create) + self.assertFalse(sot.allow_retrieve) + self.assertFalse(sot.allow_update) + self.assertFalse(sot.allow_delete) + self.assertTrue(sot.allow_list) + + def test_make_it(self): + sot = version.Version(EXAMPLE) + self.assertEqual(EXAMPLE['id'], sot.id) + self.assertEqual(EXAMPLE['links'], sot.links) + self.assertEqual(EXAMPLE['status'], sot.status)