blob: 1dd0058c5e61f3d5c10d15ee5c2b6cacbec0fd41 [file] [log] [blame]
package testing
import (
"fmt"
"github.com/gophercloud/gophercloud/openstack/compute/v2/hypervisors"
"github.com/gophercloud/gophercloud/testhelper"
"github.com/gophercloud/gophercloud/testhelper/client"
"net/http"
"testing"
)
// The first hypervisor represents what the specification says (~Newton)
// The second is exactly the same, but what you can get off a real system (~Kilo)
const HypervisorListBody = `
{
"hypervisors": [
{
"cpu_info": {
"arch": "x86_64",
"model": "Nehalem",
"vendor": "Intel",
"features": [
"pge",
"clflush"
],
"topology": {
"cores": 1,
"threads": 1,
"sockets": 4
}
},
"current_workload": 0,
"status": "enabled",
"state": "up",
"disk_available_least": 0,
"host_ip": "1.1.1.1",
"free_disk_gb": 1028,
"free_ram_mb": 7680,
"hypervisor_hostname": "fake-mini",
"hypervisor_type": "fake",
"hypervisor_version": 2002000,
"id": 1,
"local_gb": 1028,
"local_gb_used": 0,
"memory_mb": 8192,
"memory_mb_used": 512,
"running_vms": 0,
"service": {
"host": "e6a37ee802d74863ab8b91ade8f12a67",
"id": 2,
"disabled_reason": null
},
"vcpus": 1,
"vcpus_used": 0
},
{
"cpu_info": "{\"arch\": \"x86_64\", \"model\": \"Nehalem\", \"vendor\": \"Intel\", \"features\": [\"pge\", \"clflush\"], \"topology\": {\"cores\": 1, \"threads\": 1, \"sockets\": 4}}",
"current_workload": 0,
"status": "enabled",
"state": "up",
"disk_available_least": 0,
"host_ip": "1.1.1.1",
"free_disk_gb": 1028,
"free_ram_mb": 7680,
"hypervisor_hostname": "fake-mini",
"hypervisor_type": "fake",
"hypervisor_version": 2.002e+06,
"id": 1,
"local_gb": 1028,
"local_gb_used": 0,
"memory_mb": 8192,
"memory_mb_used": 512,
"running_vms": 0,
"service": {
"host": "e6a37ee802d74863ab8b91ade8f12a67",
"id": 2,
"disabled_reason": null
},
"vcpus": 1,
"vcpus_used": 0
}
]
}`
var (
HypervisorFake = hypervisors.Hypervisor{
CPUInfo: hypervisors.CPUInfo{
Arch: "x86_64",
Model: "Nehalem",
Vendor: "Intel",
Features: []string{
"pge",
"clflush",
},
Topology: hypervisors.Topology{
Cores: 1,
Threads: 1,
Sockets: 4,
},
},
CurrentWorkload: 0,
Status: "enabled",
State: "up",
DiskAvailableLeast: 0,
HostIP: "1.1.1.1",
FreeDiskGB: 1028,
FreeRamMB: 7680,
HypervisorHostname: "fake-mini",
HypervisorType: "fake",
HypervisorVersion: 2002000,
ID: 1,
LocalGB: 1028,
LocalGBUsed: 0,
MemoryMB: 8192,
MemoryMBUsed: 512,
RunningVMs: 0,
Service: hypervisors.Service{
Host: "e6a37ee802d74863ab8b91ade8f12a67",
ID: 2,
DisabledReason: "",
},
VCPUs: 1,
VCPUsUsed: 0,
}
)
func HandleHypervisorListSuccessfully(t *testing.T) {
testhelper.Mux.HandleFunc("/os-hypervisors/detail", func(w http.ResponseWriter, r *http.Request) {
testhelper.TestMethod(t, r, "GET")
testhelper.TestHeader(t, r, "X-Auth-Token", client.TokenID)
w.Header().Add("Content-Type", "application/json")
fmt.Fprintf(w, HypervisorListBody)
})
}