Exemplo n.º 1
0
    def test_prep_server_detail(self, find_resource):
        # Setup mock method return value. utils.find_resource() will be called
        # three times in _prep_server_detail():
        # - The first time, return server info.
        # - The second time, return image info.
        # - The third time, return flavor info.
        _image = image_fakes.FakeImage.create_one_image()
        _flavor = compute_fakes.FakeFlavor.create_one_flavor()
        server_info = {
            'image': {
                u'id': _image.id
            },
            'flavor': {
                u'id': _flavor.id
            },
            'tenant_id': u'tenant-id-xxx',
            'networks': {
                u'public': [u'10.20.30.40', u'2001:db8::f']
            },
            'links': u'http://xxx.yyy.com',
        }
        _server = compute_fakes.FakeServer.create_one_server(attrs=server_info)
        find_resource.side_effect = [_server, _image, _flavor]

        # Prepare result data.
        info = {
            'id':
            _server.id,
            'name':
            _server.name,
            'addresses':
            u'public=10.20.30.40, 2001:db8::f',
            'flavor':
            u'%s (%s)' % (_flavor.name, _flavor.id),
            'image':
            u'%s (%s)' % (_image.name, _image.id),
            'project_id':
            u'tenant-id-xxx',
            'properties':
            '',
            'OS-EXT-STS:power_state':
            server._format_servers_list_power_state(
                getattr(_server, 'OS-EXT-STS:power_state')),
        }

        # Call _prep_server_detail().
        server_detail = server._prep_server_detail(
            self.app.client_manager.compute, _server)
        # 'networks' is used to create _server. Remove it.
        server_detail.pop('networks')

        # Check the results.
        self.assertDictEqual(info, server_detail)
    def test_prep_server_detail(self, find_resource):
        # Setup mock method return value. utils.find_resource() will be called
        # twice in _prep_server_detail():
        # - The first time, return image info.
        # - The second time, return flavor info.
        _image = image_fakes.FakeImage.create_one_image()
        _flavor = compute_fakes.FakeFlavor.create_one_flavor()
        find_resource.side_effect = [_image, _flavor]

        # compute_client.servers.get() will be called once, return server info.
        server_info = {
            'image': {u'id': _image.id},
            'flavor': {u'id': _flavor.id},
            'tenant_id': u'tenant-id-xxx',
            'networks': {u'public': [u'10.20.30.40', u'2001:db8::f']},
            'links': u'http://xxx.yyy.com',
        }
        _server = compute_fakes.FakeServer.create_one_server(attrs=server_info)
        self.servers_mock.get.return_value = _server

        # Prepare result data.
        info = {
            'id': _server.id,
            'name': _server.name,
            'addresses': u'public=10.20.30.40, 2001:db8::f',
            'flavor': u'%s (%s)' % (_flavor.name, _flavor.id),
            'image': u'%s (%s)' % (_image.name, _image.id),
            'project_id': u'tenant-id-xxx',
            'properties': '',
            'OS-EXT-STS:power_state': server._format_servers_list_power_state(
                getattr(_server, 'OS-EXT-STS:power_state')),
        }

        # Call _prep_server_detail().
        server_detail = server._prep_server_detail(
            self.app.client_manager.compute,
            _server
        )
        # 'networks' is used to create _server. Remove it.
        server_detail.pop('networks')

        # Check the results.
        self.assertDictEqual(info, server_detail)
    def test_prep_server_detail(self, find_resource):
        # Setup mock method return value. utils.find_resource() will be called
        # twice in _prep_server_detail():
        # - The first time, return image info.
        # - The second time, return flavor info.
        _image = image_fakes.FakeImage.create_one_image()
        _flavor = compute_fakes.FakeFlavor.create_one_flavor()
        find_resource.side_effect = [_image, _flavor]

        # compute_client.servers.get() will be called once, return server info.
        server_info = {
            "image": {u"id": _image.id},
            "flavor": {u"id": _flavor.id},
            "tenant_id": u"tenant-id-xxx",
            "networks": {u"public": [u"10.20.30.40", u"2001:db8::f"]},
            "links": u"http://xxx.yyy.com",
        }
        _server = compute_fakes.FakeServer.create_one_server(attrs=server_info)
        self.servers_mock.get.return_value = _server

        # Prepare result data.
        info = {
            "id": _server.id,
            "name": _server.name,
            "addresses": u"public=10.20.30.40, 2001:db8::f",
            "flavor": u"%s (%s)" % (_flavor.name, _flavor.id),
            "image": u"%s (%s)" % (_image.name, _image.id),
            "project_id": u"tenant-id-xxx",
            "properties": "",
        }

        # Call _prep_server_detail().
        server_detail = server._prep_server_detail(self.app.client_manager.compute, _server)
        # 'networks' is used to create _server. Remove it.
        server_detail.pop("networks")

        # Check the results.
        self.assertDictEqual(info, server_detail)