openstacksdk/openstack/tests/unit/cloud/test_server_group.py

66 lines
2.3 KiB
Python

# 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 uuid
from openstack.tests.unit import base
from openstack.tests import fakes
class TestServerGroup(base.TestCase):
def setUp(self):
super(TestServerGroup, self).setUp()
self.group_id = uuid.uuid4().hex
self.group_name = self.getUniqueString('server-group')
self.policies = ['affinity']
self.fake_group = fakes.make_fake_server_group(
self.group_id, self.group_name, self.policies)
def test_create_server_group(self):
self.register_uris([
self.get_nova_discovery_mock_dict(),
dict(method='POST',
uri=self.get_mock_url(
'compute', 'public', append=['os-server-groups']),
json={'server_group': self.fake_group},
validate=dict(
json={'server_group': {
'name': self.group_name,
'policies': self.policies,
}})),
])
self.cloud.create_server_group(name=self.group_name,
policies=self.policies)
self.assert_calls()
def test_delete_server_group(self):
self.register_uris([
self.get_nova_discovery_mock_dict(),
dict(method='GET',
uri=self.get_mock_url(
'compute', 'public', append=['os-server-groups']),
json={'server_groups': [self.fake_group]}),
dict(method='DELETE',
uri=self.get_mock_url(
'compute', 'public',
append=['os-server-groups', self.group_id]),
json={'server_groups': [self.fake_group]}),
])
self.assertTrue(self.cloud.delete_server_group(self.group_name))
self.assert_calls()