Adds certificates support for Nova V3 API
Adds support and tests for the os-certificates extension for the Nova V3 API Partially implements blueprint v3-api Change-Id: I9a75bf04a7047af6c501af2df72de4b8ce3462b0
This commit is contained in:
parent
4c9cc001ba
commit
e0d7c49043
@ -16,17 +16,24 @@ from novaclient.tests.v1_1 import fakes
|
||||
from novaclient.v1_1 import certs
|
||||
|
||||
|
||||
cs = fakes.FakeClient()
|
||||
class CertsTest(utils.TestCase):
|
||||
def setUp(self):
|
||||
super(CertsTest, self).setUp()
|
||||
self.cs = self._get_fake_client()
|
||||
self.cert_type = self._get_cert_type()
|
||||
|
||||
def _get_fake_client(self):
|
||||
return fakes.FakeClient()
|
||||
|
||||
class FlavorsTest(utils.TestCase):
|
||||
def _get_cert_type(self):
|
||||
return certs.Certificate
|
||||
|
||||
def test_create_cert(self):
|
||||
cert = cs.certs.create()
|
||||
cs.assert_called('POST', '/os-certificates')
|
||||
cert = self.cs.certs.create()
|
||||
self.cs.assert_called('POST', '/os-certificates')
|
||||
self.assertTrue(isinstance(cert, certs.Certificate))
|
||||
|
||||
def test_get_root_cert(self):
|
||||
cert = cs.certs.get()
|
||||
cs.assert_called('GET', '/os-certificates/root')
|
||||
cert = self.cs.certs.get()
|
||||
self.cs.assert_called('GET', '/os-certificates/root')
|
||||
self.assertTrue(isinstance(cert, certs.Certificate))
|
||||
|
29
novaclient/tests/v3/test_certs.py
Normal file
29
novaclient/tests/v3/test_certs.py
Normal file
@ -0,0 +1,29 @@
|
||||
#
|
||||
# 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 novaclient.tests.v1_1 import fakes
|
||||
from novaclient.tests.v1_1 import test_certs
|
||||
from novaclient.v3 import certs
|
||||
|
||||
|
||||
class CertsTest(test_certs.CertsTest):
|
||||
def setUp(self):
|
||||
super(CertsTest, self).setUp()
|
||||
self.cs = self._get_fake_client()
|
||||
self.cert_type = self._get_cert_type()
|
||||
|
||||
def _get_fake_client(self):
|
||||
return fakes.FakeClient()
|
||||
|
||||
def _get_cert_type(self):
|
||||
return certs.Certificate
|
30
novaclient/v3/certs.py
Normal file
30
novaclient/v3/certs.py
Normal file
@ -0,0 +1,30 @@
|
||||
# Copyright 2010 Jacob Kaplan-Moss
|
||||
|
||||
# Copyright 2011 OpenStack Foundation
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# 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.
|
||||
|
||||
"""
|
||||
Certificate interface.
|
||||
"""
|
||||
|
||||
from novaclient.v1_1 import certs
|
||||
|
||||
|
||||
class Certificate(certs.Certificate):
|
||||
pass
|
||||
|
||||
|
||||
class CertificateManager(certs.CertificateManager):
|
||||
pass
|
@ -18,6 +18,7 @@ from novaclient import client
|
||||
from novaclient.v3 import agents
|
||||
from novaclient.v3 import aggregates
|
||||
from novaclient.v3 import availability_zones
|
||||
from novaclient.v3 import certs
|
||||
from novaclient.v3 import flavor_access
|
||||
from novaclient.v3 import flavors
|
||||
from novaclient.v3 import hosts
|
||||
@ -65,6 +66,7 @@ class Client(object):
|
||||
self.aggregates = aggregates.AggregateManager(self)
|
||||
self.availability_zones = \
|
||||
availability_zones.AvailabilityZoneManager(self)
|
||||
self.certs = certs.CertificateManager(self)
|
||||
self.hosts = hosts.HostManager(self)
|
||||
self.flavors = flavors.FlavorManager(self)
|
||||
self.flavor_access = flavor_access.FlavorAccessManager(self)
|
||||
|
Loading…
x
Reference in New Issue
Block a user