1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/rackspace/requests/monitoring/get_cpus_info.rb
2013-12-23 14:59:36 -06:00

63 lines
2.2 KiB
Ruby

module Fog
module Rackspace
class Monitoring
class Real
def get_cpus_info(agent_id)
request(
:expects => [200, 203],
:method => 'GET',
:path => "agents/#{agent_id}/host_info/cpus"
)
end
end
class Mock
def get_cpus_info(agent_id)
if agent_id == -1
raise Fog::Rackspace::Monitoring::BadRequest
end
response = Excon::Response.new
response.status = 200
response.body = {
"info" => [
{
"name" => "cpu.0",
"vendor" => "AMD",
"model" => "Opteron",
"mhz" => Fog::Mock.random_numbers(4).to_i,
"idle" => Fog::Mock.random_numbers(10).to_i,
"irq" => Fog::Mock.random_numbers(5).to_i,
"soft_irq" => Fog::Mock.random_numbers(7).to_i,
"nice" => Fog::Mock.random_numbers(9).to_i,
"stolen" => Fog::Mock.random_numbers(7).to_i,
"sys" => Fog::Mock.random_numbers(7).to_i,
"user" => Fog::Mock.random_numbers(9).to_i,
"wait" => Fog::Mock.random_numbers(7).to_i,
"total" => Fog::Mock.random_numbers(11).to_i,
"total_cores" => 1,
"total_sockets" => 1
}
]
}
response.headers = {
"Date" => Time.now.utc.to_s,
"Content-Type" => "application/json; charset=UTF-8",
"X-RateLimit-Limit" => "50000",
"X-RateLimit-Remaining" => "49627",
"X-RateLimit-Window" => "24 hours",
"X-RateLimit-Type" => "global",
"X-Response-Id" => "j23jlk234jl2j34j",
"X-LB" => "dfw1-maas-prod-api0",
"Vary" => "Accept-Encoding",
"Transfer-Encoding" => "chunked"
}
response.remote_ip = Fog::Mock.random_ip({:version => :v4})
response
end
end
end
end
end