/
opt
/
imh-python
/
lib
/
python3.9
/
site-packages
/
openstack
/
tests
/
functional
/
cloud
/
/opt/imh-python/lib/python3.9/site-packages/openstack/tests/functional/cloud
mkdir
upload
Name
Size
Mode
Actions
hooks/
-
0755
rm
__pycache__/
-
0755
rm
test_aggregate.py
2091
0644
edit
dl
rm
test_clustering.py
49762
0644
edit
dl
rm
test_cluster_templates.py
4186
0644
edit
dl
rm
test_coe_clusters.py
1013
0644
edit
dl
rm
test_compute.py
22058
0644
edit
dl
rm
test_devstack.py
1892
0644
edit
dl
rm
test_domain.py
5101
0644
edit
dl
rm
test_endpoints.py
7841
0644
edit
dl
rm
test_flavor.py
6683
0644
edit
dl
rm
test_floating_ip.py
11651
0644
edit
dl
rm
test_floating_ip_pool.py
1792
0644
edit
dl
rm
test_groups.py
4017
0644
edit
dl
rm
test_identity.py
10600
0644
edit
dl
rm
test_image.py
6827
0644
edit
dl
rm
test_inventory.py
3783
0644
edit
dl
rm
test_keypairs.py
2424
0644
edit
dl
rm
test_limits.py
1840
0644
edit
dl
rm
test_magnum_services.py
1451
0644
edit
dl
rm
test_network.py
5327
0644
edit
dl
rm
test_object.py
7450
0644
edit
dl
rm
test_port.py
5865
0644
edit
dl
rm
test_project.py
4796
0644
edit
dl
rm
test_project_cleanup.py
3991
0644
edit
dl
rm
test_qos_bandwidth_limit_rule.py
4110
0644
edit
dl
rm
test_qos_dscp_marking_rule.py
2775
0644
edit
dl
rm
test_qos_minimum_bandwidth_rule.py
2808
0644
edit
dl
rm
test_qos_policy.py
3997
0644
edit
dl
rm
test_quotas.py
3242
0644
edit
dl
rm
test_range_search.py
6120
0644
edit
dl
rm
test_recordset.py
6629
0644
edit
dl
rm
test_router.py
13924
0644
edit
dl
rm
test_security_groups.py
2536
0644
edit
dl
rm
test_server_group.py
1449
0644
edit
dl
rm
test_services.py
5332
0644
edit
dl
rm
test_stack.py
5737
0644
edit
dl
rm
test_users.py
6634
0644
edit
dl
rm
test_volume.py
6805
0644
edit
dl
rm
test_volume_backup.py
5081
0644
edit
dl
rm
test_volume_type.py
4567
0644
edit
dl
rm
test_zone.py
3079
0644
edit
dl
rm
util.py
1358
0644
edit
dl
rm
__init__.py
0
0644
edit
dl
rm
Edit:
/opt/imh-python/lib/python3.9/site-packages/openstack/tests/functional/cloud/test_stack.py
(5737B)
# 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. """ test_stack ---------------------------------- Functional tests for `shade` stack methods. """ import tempfile from openstack.cloud import exc from openstack.tests import fakes from openstack.tests.functional import base simple_template = '''heat_template_version: 2014-10-16 parameters: length: type: number default: 10 resources: my_rand: type: OS::Heat::RandomString properties: length: {get_param: length} outputs: rand: value: get_attr: [my_rand, value] ''' root_template = '''heat_template_version: 2014-10-16 parameters: length: type: number default: 10 count: type: number default: 5 resources: my_rands: type: OS::Heat::ResourceGroup properties: count: {get_param: count} resource_def: type: My::Simple::Template properties: length: {get_param: length} outputs: rands: value: get_attr: [my_rands, attributes, rand] ''' environment = ''' resource_registry: My::Simple::Template: %s ''' validate_template = '''heat_template_version: asdf-no-such-version ''' class TestStack(base.BaseFunctionalTest): def setUp(self): super(TestStack, self).setUp() if not self.user_cloud.has_service('orchestration'): self.skipTest('Orchestration service not supported by cloud') def _cleanup_stack(self): self.user_cloud.delete_stack(self.stack_name, wait=True) self.assertIsNone(self.user_cloud.get_stack(self.stack_name)) def test_stack_validation(self): test_template = tempfile.NamedTemporaryFile(delete=False) test_template.write(validate_template.encode('utf-8')) test_template.close() stack_name = self.getUniqueString('validate_template') self.assertRaises(exc.OpenStackCloudException, self.user_cloud.create_stack, name=stack_name, template_file=test_template.name) def test_stack_simple(self): test_template = tempfile.NamedTemporaryFile(delete=False) test_template.write(fakes.FAKE_TEMPLATE.encode('utf-8')) test_template.close() self.stack_name = self.getUniqueString('simple_stack') self.addCleanup(self._cleanup_stack) stack = self.user_cloud.create_stack( name=self.stack_name, template_file=test_template.name, wait=True) # assert expected values in stack self.assertEqual('CREATE_COMPLETE', stack['stack_status']) rand = stack['outputs'][0]['output_value'] self.assertEqual(10, len(rand)) # assert get_stack matches returned create_stack stack = self.user_cloud.get_stack(self.stack_name) self.assertEqual('CREATE_COMPLETE', stack['stack_status']) self.assertEqual(rand, stack['outputs'][0]['output_value']) # assert stack is in list_stacks stacks = self.user_cloud.list_stacks() stack_ids = [s['id'] for s in stacks] self.assertIn(stack['id'], stack_ids) # update with no changes stack = self.user_cloud.update_stack( self.stack_name, template_file=test_template.name, wait=True) # assert no change in updated stack self.assertEqual('UPDATE_COMPLETE', stack['stack_status']) rand = stack['outputs'][0]['output_value'] self.assertEqual(rand, stack['outputs'][0]['output_value']) # update with changes stack = self.user_cloud.update_stack( self.stack_name, template_file=test_template.name, wait=True, length=12) # assert changed output in updated stack stack = self.user_cloud.get_stack(self.stack_name) self.assertEqual('UPDATE_COMPLETE', stack['stack_status']) new_rand = stack['outputs'][0]['output_value'] self.assertNotEqual(rand, new_rand) self.assertEqual(12, len(new_rand)) def test_stack_nested(self): test_template = tempfile.NamedTemporaryFile( suffix='.yaml', delete=False) test_template.write(root_template.encode('utf-8')) test_template.close() simple_tmpl = tempfile.NamedTemporaryFile(suffix='.yaml', delete=False) simple_tmpl.write(fakes.FAKE_TEMPLATE.encode('utf-8')) simple_tmpl.close() env = tempfile.NamedTemporaryFile(suffix='.yaml', delete=False) expanded_env = environment % simple_tmpl.name env.write(expanded_env.encode('utf-8')) env.close() self.stack_name = self.getUniqueString('nested_stack') self.addCleanup(self._cleanup_stack) stack = self.user_cloud.create_stack( name=self.stack_name, template_file=test_template.name, environment_files=[env.name], wait=True) # assert expected values in stack self.assertEqual('CREATE_COMPLETE', stack['stack_status']) rands = stack['outputs'][0]['output_value'] self.assertEqual(['0', '1', '2', '3', '4'], sorted(rands.keys())) for rand in rands.values(): self.assertEqual(10, len(rand))
Save
cmd:
run