/opt/imh-python/lib/python3.9/site-packages/openstack/tests/unit
NameSizeModeActions
accelerator/-0755rm
baremetal/-0755rm
baremetal_introspection/-0755rm
block_storage/-0755rm
cloud/-0755rm
clustering/-0755rm
compute/-0755rm
config/-0755rm
database/-0755rm
dns/-0755rm
fake/-0755rm
fixtures/-0755rm
identity/-0755rm
image/-0755rm
instance_ha/-0755rm
key_manager/-0755rm
load_balancer/-0755rm
message/-0755rm
network/-0755rm
object_store/-0755rm
orchestration/-0755rm
workflow/-0755rm
__pycache__/-0755rm
base.py329540644editdlrm
fakes.py12730644editdlrm
test_connection.py174500644editdlrm
test_exceptions.py78850644editdlrm
test_format.py17680644editdlrm
test_hacking.py27290644editdlrm
test_microversions.py37550644editdlrm
test_missing_version.py15570644editdlrm
test_placement_rest.py37180644editdlrm
test_proxy.py229800644editdlrm
test_proxy_base.py119820644editdlrm
test_proxy_base2.py108830644editdlrm
test_resource.py1079680644editdlrm
test_stats.py92480644editdlrm
test_utils.py84640644editdlrm
__init__.py00644editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/openstack/tests/unit/test_placement_rest.py (3718B)
# Copyright (c) 2018 Red Hat, Inc. # 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 ddt from keystoneauth1 import exceptions from openstack.tests.unit import base @ddt.ddt class TestPlacementRest(base.TestCase): def setUp(self): super(TestPlacementRest, self).setUp() self.use_placement() def _register_uris(self, status_code=None): uri = dict( method='GET', uri=self.get_mock_url( 'placement', 'public', append=['allocation_candidates']), json={}) if status_code is not None: uri['status_code'] = status_code self.register_uris([uri]) def _validate_resp(self, resp, status_code): self.assertEqual(status_code, resp.status_code) self.assertEqual( 'https://placement.example.com/allocation_candidates', resp.url) self.assert_calls() @ddt.data({}, {'raise_exc': False}, {'raise_exc': True}) def test_discovery(self, get_kwargs): self._register_uris() # Regardless of raise_exc, a <400 response doesn't raise rs = self.cloud.placement.get('/allocation_candidates', **get_kwargs) self._validate_resp(rs, 200) @ddt.data({}, {'raise_exc': False}) def test_discovery_err(self, get_kwargs): self._register_uris(status_code=500) # >=400 doesn't raise by default or with explicit raise_exc=False rs = self.cloud.placement.get('/allocation_candidates', **get_kwargs) self._validate_resp(rs, 500) def test_discovery_exc(self): self._register_uris(status_code=500) # raise_exc=True raises a ksa exception appropriate to the status code ex = self.assertRaises( exceptions.InternalServerError, self.cloud.placement.get, '/allocation_candidates', raise_exc=True) self._validate_resp(ex.response, 500) def test_microversion_discovery(self): self.assertEqual( (1, 17), self.cloud.placement.get_endpoint_data().max_microversion) self.assert_calls() class TestBadPlacementRest(base.TestCase): def setUp(self): super(TestBadPlacementRest, self).setUp() # The bad-placement.json is for older placement that was # missing the status field from its discovery doc. This # lets us show that we can talk to such a placement. self.use_placement(discovery_fixture='bad-placement.json') def _register_uris(self, status_code=None): uri = dict( method='GET', uri=self.get_mock_url( 'placement', 'public', append=['allocation_candidates']), json={}) if status_code is not None: uri['status_code'] = status_code self.register_uris([uri]) def _validate_resp(self, resp, status_code): self.assertEqual(status_code, resp.status_code) self.assertEqual( 'https://placement.example.com/allocation_candidates', resp.url) self.assert_calls() def test_discovery(self): self._register_uris() rs = self.cloud.placement.get('/allocation_candidates') self._validate_resp(rs, 200)