def test_sort_servers_fixed_ips(self): def generate_servers(fixed_ip): server = { "fixed_ips": [ { "addr": fixed_ip } ] } return server servers = [] fixed_ips = [u"10.120.40.40", u"10.120.41.40", u"10.120.42.80", u"10.120.42.78"] for fixed_ip in fixed_ips: servers.append(generate_servers(fixed_ip)) req = webob.Request.blank( '/sort?umbrella_sort_key=fixed_ip&umbrella_sort_dir=desc') result = list_sort.sort_servers(req, servers) expected = [generate_servers(fixed_ips[2]), generate_servers(fixed_ips[3]), generate_servers(fixed_ips[1]), generate_servers(fixed_ips[0])] self.assertEqual(result, expected)
def test_sort_servers_blank_IP(self): servers = copy.deepcopy(items) servers.append(item6) req = webob.Request.blank( '/sort?umbrella_sort_key=fixed_ip') result = list_sort.sort_servers(req, servers) self.assertEqual(result, [item6, item1, item3, item2])
def index(self, req, tenant_id): ''' list servers api support all_tenants=True param to list servers of all tenants support attribute filters like name=test ''' result, headers = self._nova_request(req) servers = [] try: for server in result['servers']: server = self._repack_server_data(server, req, tenant_id) if "links" in server: del server["links"] servers.append(server) except KeyError: LOG.exception(_("repack server data error.")) raise exc.HTTPFailedDependency(_("Nova method deprecated.")) servers = list_filter.filter_servers(req, servers) servers = list_sort.sort_servers(req, servers) return dict(servers=servers)
def test_sort_servers_by_tenant_name(self): req = webob.Request.blank( '/sort?umbrella_sort_key=tenant_name') result = list_sort.sort_servers(req, items) self.assertEqual(result, [item1, item3, item2])