Skip to content

Commit

Permalink
Add API Sample tests for Hypervisors extension.
Browse files Browse the repository at this point in the history
Partially implements blueprint nova-api-samples
Fixes bug 1091750

Change-Id: Ie8e6881ea3533cd43259548594d3debe377345a5
  • Loading branch information
Giampaolo Lauria authored and openstack-gerrit committed Feb 20, 2013
1 parent 96a4518 commit 605bf01
Show file tree
Hide file tree
Showing 29 changed files with 310 additions and 1 deletion.
26 changes: 26 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-detail-resp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"hypervisors": [
{
"cpu_info": "?",
"current_workload": 0,
"disk_available_least": null,
"free_disk_gb": 1028,
"free_ram_mb": 7680,
"hypervisor_hostname": "fake-mini",
"hypervisor_type": "fake",
"hypervisor_version": 1,
"id": 1,
"local_gb": 1028,
"local_gb_used": 0,
"memory_mb": 8192,
"memory_mb_used": 512,
"running_vms": 0,
"service": {
"host": "1e0d7892083548cfb347e782d3b20342",
"id": 2
},
"vcpus": 1,
"vcpus_used": 0
}
]
}
6 changes: 6 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-detail-resp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisors>
<hypervisor vcpus_used="0" hypervisor_type="fake" local_gb_used="0" hypervisor_hostname="fake-mini" memory_mb_used="512" memory_mb="8192" current_workload="0" vcpus="1" cpu_info="?" running_vms="0" free_disk_gb="1028" hypervisor_version="1" disk_available_least="None" local_gb="1028" free_ram_mb="7680" id="1">
<service host="4400f556a66d44ce95dfa61e75a23aaf" id="2"/>
</hypervisor>
</hypervisors>
8 changes: 8 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-list-resp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"hypervisors": [
{
"hypervisor_hostname": "fake-mini",
"id": 1
}
]
}
4 changes: 4 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-list-resp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisors>
<hypervisor id="1" hypervisor_hostname="fake-mini"/>
</hypervisors>
8 changes: 8 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-search-resp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"hypervisors": [
{
"hypervisor_hostname": "fake-mini",
"id": 1
}
]
}
4 changes: 4 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-search-resp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisors>
<hypervisor id="1" hypervisor_hostname="fake-mini"/>
</hypervisors>
8 changes: 8 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-servers-resp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"hypervisors": [
{
"hypervisor_hostname": "fake-mini",
"id": 1
}
]
}
6 changes: 6 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-servers-resp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisors>
<hypervisor id="1" hypervisor_hostname="fake-mini">
<servers/>
</hypervisor>
</hypervisors>
24 changes: 24 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-show-resp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"hypervisor": {
"cpu_info": "?",
"current_workload": 0,
"disk_available_least": null,
"free_disk_gb": 1028,
"free_ram_mb": 7680,
"hypervisor_hostname": "fake-mini",
"hypervisor_type": "fake",
"hypervisor_version": 1,
"id": 1,
"local_gb": 1028,
"local_gb_used": 0,
"memory_mb": 8192,
"memory_mb_used": 512,
"running_vms": 0,
"service": {
"host": "5641188ab2964f88a21042b493585ff8",
"id": 2
},
"vcpus": 1,
"vcpus_used": 0
}
}
4 changes: 4 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-show-resp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisor vcpus_used="0" hypervisor_type="fake" local_gb_used="0" hypervisor_hostname="fake-mini" memory_mb_used="512" memory_mb="8192" current_workload="0" vcpus="1" cpu_info="?" running_vms="0" free_disk_gb="1028" hypervisor_version="1" disk_available_least="None" local_gb="1028" free_ram_mb="7680" id="1">
<service host="807e1a43ceb740138eea32969c3e9fe5" id="2"/>
</hypervisor>
16 changes: 16 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-statistics-resp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"hypervisor_statistics": {
"count": 1,
"current_workload": 0,
"disk_available_least": 0,
"free_disk_gb": 1028,
"free_ram_mb": 7680,
"local_gb": 1028,
"local_gb_used": 0,
"memory_mb": 8192,
"memory_mb_used": 512,
"running_vms": 0,
"vcpus": 1,
"vcpus_used": 0
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisor_statistics count="1" vcpus_used="0" local_gb_used="0" memory_mb="8192" current_workload="0" vcpus="1" running_vms="0" free_disk_gb="1028" disk_available_least="0" local_gb="1028" free_ram_mb="7680" memory_mb_used="512"/>
7 changes: 7 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-uptime-resp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"hypervisor": {
"hypervisor_hostname": "fake-mini",
"id": 1,
"uptime": " 08:32:11 up 93 days, 18:25, 12 users, load average: 0.20, 0.12, 0.14"
}
}
2 changes: 2 additions & 0 deletions doc/api_samples/os-hypervisors/hypervisors-uptime-resp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisor uptime=" 08:32:11 up 93 days, 18:25, 12 users, load average: 0.20, 0.12, 0.14" id="1" hypervisor_hostname="fake-mini"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"hypervisors": [
{
"cpu_info": "?",
"current_workload": 0,
"disk_available_least": null,
"free_disk_gb": 1028,
"free_ram_mb": 7680,
"hypervisor_hostname": "fake-mini",
"hypervisor_type": "fake",
"hypervisor_version": 1,
"id": 1,
"local_gb": 1028,
"local_gb_used": 0,
"memory_mb": 8192,
"memory_mb_used": 512,
"running_vms": 0,
"service": {
"host": "%(host_name)s",
"id": 2
},
"vcpus": 1,
"vcpus_used": 0
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisors>
<hypervisor vcpus_used="0" hypervisor_type="fake" local_gb_used="0" hypervisor_hostname="fake-mini" memory_mb_used="512" memory_mb="8192" current_workload="0" vcpus="1" cpu_info="?" running_vms="0" free_disk_gb="1028" hypervisor_version="1" disk_available_least="None" local_gb="1028" free_ram_mb="7680" id="1">
<service host="%(host_name)s" id="2"/>
</hypervisor>
</hypervisors>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"hypervisors": [
{
"hypervisor_hostname": "fake-mini",
"id": 1
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisors>
<hypervisor id="1" hypervisor_hostname="fake-mini"/>
</hypervisors>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"hypervisors": [
{
"hypervisor_hostname": "fake-mini",
"id": 1
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisors>
<hypervisor id="1" hypervisor_hostname="fake-mini"/>
</hypervisors>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"hypervisors": [
{
"hypervisor_hostname": "fake-mini",
"id": 1
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisors>
<hypervisor id="1" hypervisor_hostname="fake-mini">
<servers/>
</hypervisor>
</hypervisors>
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"hypervisor": {
"cpu_info": "?",
"current_workload": 0,
"disk_available_least": null,
"free_disk_gb": 1028,
"free_ram_mb": 7680,
"hypervisor_hostname": "fake-mini",
"hypervisor_type": "fake",
"hypervisor_version": 1,
"id": %(hypervisor_id)s,
"local_gb": 1028,
"local_gb_used": 0,
"memory_mb": 8192,
"memory_mb_used": 512,
"running_vms": 0,
"service": {
"host": "%(host_name)s",
"id": 2
},
"vcpus": 1,
"vcpus_used": 0
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisor vcpus_used="0" hypervisor_type="fake" local_gb_used="0" hypervisor_hostname="fake-mini" memory_mb_used="512" memory_mb="8192" current_workload="0" vcpus="1" cpu_info="?" running_vms="0" free_disk_gb="1028" hypervisor_version="1" disk_available_least="None" local_gb="1028" free_ram_mb="7680" id="%(hypervisor_id)s">
<service host="%(host_name)s" id="2"/>
</hypervisor>
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"hypervisor_statistics": {
"count": 1,
"current_workload": 0,
"disk_available_least": 0,
"free_disk_gb": 1028,
"free_ram_mb": 7680,
"local_gb": 1028,
"local_gb_used": 0,
"memory_mb": 8192,
"memory_mb_used": 512,
"running_vms": 0,
"vcpus": 1,
"vcpus_used": 0
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisor_statistics count="1" vcpus_used="0" local_gb_used="0" memory_mb="8192" current_workload="0" vcpus="1" running_vms="0" free_disk_gb="1028" disk_available_least="0" local_gb="1028" free_ram_mb="7680" memory_mb_used="512"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"hypervisor": {
"hypervisor_hostname": "fake-mini",
"id": %(hypervisor_id)s,
"uptime": " 08:32:11 up 93 days, 18:25, 12 users, load average: 0.20, 0.12, 0.14"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<hypervisor uptime=" 08:32:11 up 93 days, 18:25, 12 users, load average: 0.20, 0.12, 0.14" id="%(hypervisor_id)s" hypervisor_hostname="fake-mini"/>
61 changes: 60 additions & 1 deletion nova/tests/integrated/test_api_samples.py
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,6 @@ def test_all_extensions_have_samples(self):
# removed) soon.
do_not_approve_additions = []
do_not_approve_additions.append('os-create-server-ext')
do_not_approve_additions.append('os-hypervisors')
do_not_approve_additions.append('os-volumes')

tests = self._get_extensions_tested()
Expand Down Expand Up @@ -3333,6 +3332,66 @@ def test_flavor_access_remove_tenant(self):


class FlavorAccessSampleXmlTests(FlavorAccessSampleJsonTests):
ctype = 'xml'


class HypervisorsSampleJsonTests(ApiSampleTestBase):
extension_name = ("nova.api.openstack.compute.contrib.hypervisors."
"Hypervisors")

def test_hypervisors_list(self):
response = self._do_get('os-hypervisors')
self.assertEqual(response.status, 200)
return self._verify_response('hypervisors-list-resp',
{}, response)

def test_hypervisors_search(self):
response = self._do_get('os-hypervisors/fake/search')
self.assertEqual(response.status, 200)
return self._verify_response('hypervisors-search-resp',
{}, response)

def test_hypervisors_servers(self):
response = self._do_get('os-hypervisors/fake/servers')
self.assertEqual(response.status, 200)
return self._verify_response('hypervisors-servers-resp',
{}, response)

def test_hypervisors_show(self):
hypervisor_id = 1
subs = {
'hypervisor_id': hypervisor_id
}
response = self._do_get('os-hypervisors/%s' % hypervisor_id)
self.assertEqual(response.status, 200)
subs.update(self._get_regexes())
return self._verify_response('hypervisors-show-resp',
subs, response)

def test_hypervisors_statistics(self):
response = self._do_get('os-hypervisors/statistics')
self.assertEqual(response.status, 200)
return self._verify_response('hypervisors-statistics-resp',
{}, response)

def test_hypervisors_uptime(self):
def fake_get_host_uptime(self, context, hyp):
return (" 08:32:11 up 93 days, 18:25, 12 users, load average:"
" 0.20, 0.12, 0.14")

self.stubs.Set(compute_api.HostAPI,
'get_host_uptime', fake_get_host_uptime)
hypervisor_id = 1
response = self._do_get('os-hypervisors/%s/uptime' % hypervisor_id)
self.assertEqual(response.status, 200)
subs = {
'hypervisor_id': hypervisor_id,
}
return self._verify_response('hypervisors-uptime-resp',
subs, response)


class HypervisorsSampleXmlTests(HypervisorsSampleJsonTests):
ctype = "xml"


Expand Down

0 comments on commit 605bf01

Please sign in to comment.