/usr/lib/python2.6/site-packages/openstack/tests/unit/compute/v2
NameSizeModeActions
test_availability_zone.py14990644editdlrm
test_availability_zone.pyc16570644editdlrm
test_extension.py19320644editdlrm
test_extension.pyc20580644editdlrm
test_flavor.py28230644editdlrm
test_flavor.pyc27680644editdlrm
test_hypervisor.py14400644editdlrm
test_hypervisor.pyc15960644editdlrm
test_image.py32870644editdlrm
test_image.pyc33650644editdlrm
test_keypair.py15400644editdlrm
test_keypair.pyc16240644editdlrm
test_limits.py57320644editdlrm
test_limits.pyc54550644editdlrm
test_metadata.py31240644editdlrm
test_metadata.pyc31370644editdlrm
test_proxy.py152130644editdlrm
test_proxy.pyc195210644editdlrm
test_server.py99380644editdlrm
test_server.pyc102020644editdlrm
test_server_group.py16960644editdlrm
test_server_group.pyc18400644editdlrm
test_server_interface.py20220644editdlrm
test_server_interface.pyc20740644editdlrm
test_server_ip.py40600644editdlrm
test_server_ip.pyc35980644editdlrm
__init__.py00644editdlrm
__init__.pyc1650644editdlrm
Edit: /usr/lib/python2.6/site-packages/openstack/tests/unit/compute/v2/test_metadata.py (3124B)
# 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 mock import testtools from openstack.compute.v2 import server IDENTIFIER = 'IDENTIFIER' # NOTE: The implementation for metadata is done via a mixin class that both # the server and image resources inherit from. Currently this test class # uses the Server resource to test it. Ideally it would be parameterized # to run with both Server and Image when the tooling for subtests starts # working. class TestMetadata(testtools.TestCase): def setUp(self): super(TestMetadata, self).setUp() self.metadata_result = {"metadata": {"go": "cubs", "boo": "sox"}} self.meta_result = {"meta": {"oh": "yeah"}} def test_get_all_metadata_Server(self): self._test_get_all_metadata(server.Server({"id": IDENTIFIER})) def test_get_all_metadata_ServerDetail(self): # This is tested explicitly so we know ServerDetail items are # properly having /detail stripped out of their base_path. self._test_get_all_metadata(server.ServerDetail({"id": IDENTIFIER})) def _test_get_all_metadata(self, sot): response = mock.Mock() response.json.return_value = self.metadata_result sess = mock.Mock() sess.get.return_value = response result = sot.get_metadata(sess) self.assertEqual(result, self.metadata_result["metadata"]) sess.get.assert_called_once_with("servers/IDENTIFIER/metadata", headers={}, endpoint_filter=sot.service) def test_set_metadata(self): response = mock.Mock() response.json.return_value = self.metadata_result sess = mock.Mock() sess.post.return_value = response sot = server.Server({"id": IDENTIFIER}) set_meta = {"lol": "rofl"} result = sot.set_metadata(sess, **set_meta) self.assertEqual(result, self.metadata_result["metadata"]) sess.post.assert_called_once_with("servers/IDENTIFIER/metadata", endpoint_filter=sot.service, headers={}, json={"metadata": set_meta}) def test_delete_metadata(self): sess = mock.Mock() sess.delete.return_value = None sot = server.Server({"id": IDENTIFIER}) key = "hey" sot.delete_metadata(sess, [key]) sess.delete.assert_called_once_with( "servers/IDENTIFIER/metadata/" + key, headers={"Accept": ""}, endpoint_filter=sot.service)