def test_get_all_server_metadata(self): self._verify2("ecl.compute.v2.server.Server.get_metadata", self.proxy.get_server_metadata, method_args=["value"], method_result=server.Server(id="value", metadata={}), expected_args=[self.session], expected_result={})
def test_rebuild_minimal(self): sot = server.Server(**EXAMPLE) # Let the translate pass through, that portion is tested elsewhere sot._translate_response = lambda arg: arg result = sot.rebuild(self.sess, name='nootoo', admin_password='******', image='http://image/2') self.assertIsInstance(result, server.Server) url = 'servers/IDENTIFIER/action' body = { "rebuild": { "name": "nootoo", "imageRef": "http://image/2", "adminPass": "******", "preserve_ephemeral": False } } headers = {'Accept': ''} self.sess.post.assert_called_with(url, endpoint_filter=sot.service, json=body, headers=headers)
def test_remove_security_group(self): sot = server.Server(**EXAMPLE) self.assertIsNone(sot.remove_security_group(self.sess, "group")) url = 'servers/IDENTIFIER/action' body = {"removeSecurityGroup": {"name": "group"}} headers = {'Accept': ''} self.sess.post.assert_called_with(url, endpoint_filter=sot.service, json=body, headers=headers)
def test_revert_resize(self): sot = server.Server(**EXAMPLE) self.assertIsNone(sot.revert_resize(self.sess)) url = 'servers/IDENTIFIER/action' body = {"revertResize": None} headers = {'Accept': ''} self.sess.post.assert_called_with(url, endpoint_filter=sot.service, json=body, headers=headers)
def test_resize(self): sot = server.Server(**EXAMPLE) self.assertIsNone(sot.resize(self.sess, '2')) url = 'servers/IDENTIFIER/action' body = {"resize": {"flavorRef": "2", "OS-DCF:diskConfig": "AUTO"}} headers = {'Accept': ''} self.sess.post.assert_called_with(url, endpoint_filter=sot.service, json=body, headers=headers)
def test_reboot(self): sot = server.Server(**EXAMPLE) self.assertIsNone(sot.reboot(self.sess, 'HARD')) url = 'servers/IDENTIFIER/action' body = {"reboot": {"type": "HARD"}} headers = {'Accept': ''} self.sess.post.assert_called_with(url, endpoint_filter=sot.service, json=body, headers=headers)
def test_change_passowrd(self): sot = server.Server(**EXAMPLE) self.assertIsNone(sot.change_password(self.sess, 'a')) url = 'servers/IDENTIFIER/action' body = {"changePassword": {"adminPass": "******"}} headers = {'Accept': ''} self.sess.post.assert_called_with(url, endpoint_filter=sot.service, json=body, headers=headers)
def test_create_image_minimal(self): sot = server.Server(**EXAMPLE) name = 'noo' self.assertIsNone(self.resp.body, sot.create_image(self.sess, name)) url = 'servers/IDENTIFIER/action' body = {"createImage": {'name': name}} headers = {'Accept': ''} self.sess.post.assert_called_with(url, endpoint_filter=dict(sot.service), json=body, headers=headers)
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)
def test_create_image(self): sot = server.Server(**EXAMPLE) name = 'noo' metadata = {'nu': 'image', 'created': 'today'} self.assertIsNotNone(sot.create_image(self.sess, name, metadata)) url = 'servers/IDENTIFIER/action' body = {"createImage": {'name': name, 'metadata': metadata}} headers = {'Accept': ''} self.sess.post.assert_called_with(url, endpoint_filter=sot.service, json=body, headers=headers)
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_rebuild(self): sot = server.Server(**EXAMPLE) # Let the translate pass through, that portion is tested elsewhere sot._translate_response = lambda arg: arg result = sot.rebuild(self.sess, name='noo', admin_password='******', image='http://image/1', access_ipv4="12.34.56.78", access_ipv6="fe80::100", metadata={"meta var": "meta val"}, personality=[{ "path": "/etc/motd", "contents": "foo" }]) self.assertIsInstance(result, server.Server) url = 'servers/IDENTIFIER/action' body = { "rebuild": { "name": "noo", "imageRef": "http://image/1", "adminPass": "******", "accessIPv4": "12.34.56.78", "accessIPv6": "fe80::100", "metadata": { "meta var": "meta val" }, "personality": [{ "path": "/etc/motd", "contents": "foo" }], "preserve_ephemeral": False } } headers = {'Accept': ''} self.sess.post.assert_called_with(url, endpoint_filter=sot.service, json=body, headers=headers)
def test_basic(self): sot = server.Server() self.assertEqual('server', sot.resource_key) self.assertEqual('servers', sot.resources_key) self.assertEqual('/servers', sot.base_path) self.assertEqual('compute', sot.service.service_type) self.assertTrue(sot.allow_create) self.assertTrue(sot.allow_get) self.assertTrue(sot.allow_update) self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list) self.assertDictEqual( { "image": "image", "flavor": "flavor", "name": "name", "status": "status", "host": "host", "changes_since": "changes-since" }, sot._query_mapping._mapping)
def test_make_it(self): sot = server.Server(**EXAMPLE) self.assertEqual(EXAMPLE['accessIPv4'], sot.access_ipv4) self.assertEqual(EXAMPLE['accessIPv6'], sot.access_ipv6) self.assertEqual(EXAMPLE['addresses'], sot.addresses) self.assertEqual(EXAMPLE['created'], sot.created_at) self.assertEqual(EXAMPLE['flavorRef'], sot.flavor_id) self.assertEqual(EXAMPLE['flavor'], sot.flavor) self.assertEqual(EXAMPLE['hostId'], sot.host_id) self.assertEqual(EXAMPLE['id'], sot.id) self.assertEqual(EXAMPLE['imageRef'], sot.image_id) self.assertEqual(EXAMPLE['image'], sot.image) self.assertEqual(EXAMPLE['links'], sot.links) self.assertEqual(EXAMPLE['metadata'], sot.metadata) self.assertEqual(EXAMPLE['name'], sot.name) self.assertEqual(EXAMPLE['progress'], sot.progress) self.assertEqual(EXAMPLE['tenant_id'], sot.project_id) self.assertEqual(EXAMPLE['status'], sot.status) self.assertEqual(EXAMPLE['updated'], sot.updated_at) self.assertEqual(EXAMPLE['user_id'], sot.user_id) self.assertEqual(EXAMPLE['key_name'], sot.key_name) self.assertEqual(EXAMPLE['OS-DCF:diskConfig'], sot.disk_config) self.assertEqual(EXAMPLE['OS-EXT-AZ:availability_zone'], sot.availability_zone) self.assertEqual(EXAMPLE['OS-EXT-STS:power_state'], sot.power_state) self.assertEqual(EXAMPLE['OS-EXT-STS:task_state'], sot.task_state) self.assertEqual(EXAMPLE['OS-EXT-STS:vm_state'], sot.vm_state) self.assertEqual(EXAMPLE['os-extended-volumes:volumes_attached'], sot.attached_volumes) self.assertEqual(EXAMPLE['OS-SRV-USG:launched_at'], sot.launched_at) self.assertEqual(EXAMPLE['OS-SRV-USG:terminated_at'], sot.terminated_at) self.assertEqual(EXAMPLE['security_groups'], sot.security_groups) self.assertEqual(EXAMPLE['adminPass'], sot.admin_pass) self.assertEqual(EXAMPLE['adminPass'], sot.adminPass) self.assertEqual(EXAMPLE['personality'], sot.personality) self.assertEqual(EXAMPLE['block_device_mapping_v2'], sot.block_device_mapping_v2) self.assertEqual(EXAMPLE['os:scheduler_hints'], sot.scheduler_hints) self.assertEqual(EXAMPLE['user_data'], sot.user_data)
def test_server_wait_for(self): value = server.Server(id='1234') self.verify_wait_for_status( self.proxy.wait_for_server, method_args=[value], expected_args=[value, 'ACTIVE', ['ERROR'], 2, 120])
def test_get_all_metadata_Server(self): self._test_get_all_metadata(server.Server(id=IDENTIFIER))