Add ServerDetail so list can include details
This change falls in line with how Flavor and Image did it, just adding support for the extended listing of the Server resource. Change-Id: Ib1675f51c0d7f97b2d5eeced9520142dde52e834
This commit is contained in:
		@@ -119,8 +119,9 @@ class Proxy(proxy.BaseProxy):
 | 
			
		||||
    def get_server(self, **data):
 | 
			
		||||
        return server.Server(data).get(self.session)
 | 
			
		||||
 | 
			
		||||
    def list_servers(self):
 | 
			
		||||
        return server.Server.list(self.session, paginated=True)
 | 
			
		||||
    def list_servers(self, details=True):
 | 
			
		||||
        srv = server.ServerDetail if details else server.Server
 | 
			
		||||
        return srv.list(self.session, paginated=True)
 | 
			
		||||
 | 
			
		||||
    def update_server(self, **data):
 | 
			
		||||
        return server.Server(data).update(self.session)
 | 
			
		||||
 
 | 
			
		||||
@@ -193,3 +193,14 @@ class Server(resource.Resource):
 | 
			
		||||
            if address['OS-EXT-IPS:type'] == 'floating':
 | 
			
		||||
                result.append(address['addr'])
 | 
			
		||||
        return result
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ServerDetail(Server):
 | 
			
		||||
    base_path = '/servers/detail'
 | 
			
		||||
 | 
			
		||||
    # capabilities
 | 
			
		||||
    allow_create = False
 | 
			
		||||
    allow_retrieve = False
 | 
			
		||||
    allow_update = False
 | 
			
		||||
    allow_delete = False
 | 
			
		||||
    allow_list = True
 | 
			
		||||
 
 | 
			
		||||
@@ -83,6 +83,18 @@ class TestServer(testtools.TestCase):
 | 
			
		||||
        self.assertEqual(EXAMPLE['updated'], sot.updated)
 | 
			
		||||
        self.assertEqual(EXAMPLE['user_id'], sot.user_id)
 | 
			
		||||
 | 
			
		||||
    def test_detail(self):
 | 
			
		||||
        sot = server.ServerDetail()
 | 
			
		||||
        self.assertEqual('server', sot.resource_key)
 | 
			
		||||
        self.assertEqual('servers', sot.resources_key)
 | 
			
		||||
        self.assertEqual('/servers/detail', sot.base_path)
 | 
			
		||||
        self.assertEqual('compute', sot.service.service_type)
 | 
			
		||||
        self.assertFalse(sot.allow_create)
 | 
			
		||||
        self.assertFalse(sot.allow_retrieve)
 | 
			
		||||
        self.assertFalse(sot.allow_update)
 | 
			
		||||
        self.assertFalse(sot.allow_delete)
 | 
			
		||||
        self.assertTrue(sot.allow_list)
 | 
			
		||||
 | 
			
		||||
    def test_change_passowrd(self):
 | 
			
		||||
        sot = server.Server(EXAMPLE)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user