class Fog::Compute::Fogdocker::Mock

Public Class Methods

new(options={}) click to toggle source
# File lib/fog/fogdocker/compute.rb, line 31
def initialize(options={})
end

Public Instance Methods

api_version() click to toggle source
# File lib/fog/fogdocker/requests/compute/api_version.rb, line 10
def api_version
  {'Version' => '1.6'}
end
container_action(options = {}) click to toggle source
# File lib/fog/fogdocker/requests/compute/container_action.rb, line 27
def container_action(options = {})
  raise ArgumentError, "id is a required parameter" unless options.key? :id
  raise ArgumentError, "action is a required parameter" unless options.key? :action
  response_matcher(options[:action])
end
container_all(filters = {}) click to toggle source
# File lib/fog/fogdocker/requests/compute/container_all.rb, line 18
def container_all(filters = {})
  [
      {'id'         => '2ce79789656e4f7474624be6496dc6d988899af30d556574389a19aade2f9650',
       'image'      => 'mattdm/fedora:f19',
       'command'    => '/bin/bash',
       'created'    => '1389876158',
       'status'     => 'Up 45 hours',
       'state_running' => true,
       'ports'      =>  nil,
       'sizerw'     =>  0,
       'sizerootfs' =>  0,
       'name'       => '123123123',
       'names'      =>  ['/boring_engelbert']
      }
  ]
end
container_commit(options) click to toggle source
# File lib/fog/fogdocker/requests/compute/container_commit.rb, line 13
def container_commit(options)
  {'id'=>'a6b02c7ca29a22619f7d0e59062323247739bc0cd375d619f305f0b519af4ef3',
   'repotags' => ['repo/other'],
   'created' => 1389877693,
   'size' => 3265536}
end
container_create(attrs) click to toggle source
# File lib/fog/fogdocker/requests/compute/container_create.rb, line 35
def container_create(attrs)
  {'id'         => '2ce79789656e4f7474624be6496dc6d988899af30d556574389a19aade2f9650',
   'image'      => 'mattdm/fedora:f19',
   'command'    => '/bin/bash',
   'created'    => '1389876158',
   'status'     => 'Up 45 hours',
   'state'      => {'running' => 'true'},
   'ports'      =>  nil,
   'sizerw'     =>  0,
   'sizerootfs' =>  0,
   'name'       => '123123123',
   'names'      =>  ['/boring_engelbert']
  }
end
container_delete(options = {}) click to toggle source
# File lib/fog/fogdocker/requests/compute/container_delete.rb, line 14
def container_delete(options = {})
  raise ArgumentError, "instance id is a required parameter" unless options.key? :id
  true
end
container_get(id) click to toggle source
# File lib/fog/fogdocker/requests/compute/container_get.rb, line 15
def container_get(id)
  {'id'                         => '2ce79789656e4f7474624be6496dc6d988899af30d556574389a19aade2f9650',
   'image'                      => 'mattdm/fedora:f19',
   'command'                    => '/bin/bash',
   'created'                    => '1389876158',
   'status'                     => 'Up 45 hours',
   'state_running'              => true,
   'network_settings_ipaddress' => '172.17.0.2',
   'config_memory'              => '1024',
   'config_cpu_sets'            => '0-3',
   'config_cpu_shares'          => '20',
   'config_hostname'            => '21341234',
   'config_attach_stdin'        => true,
   'config_attach_stdout'       => true,
   'config_attach_stderr'       => true,
   'ports'                      => nil,
   'config_tty'                 => true,
   'hostconfig_privileged'      => true,
   'hostconfig_links'           => nil,
   'hostconfig_port_bindings'   => { "29321/tcp" => [{"HostIp"=>"", "HostPort"=>"3001"}],
                                     "39212/tcp" => [{"HostIp"=>"", "HostPort"=>"2030"}]},
   'state_exit_code'            => 0,
   'state_pid'                  => 2932,
   'cpu_shares'                 => 0,
   'volumes'                    => nil,
   'config_exposed_ports'       => { "29321/tcp" => {}, "39212/tcp" => {} },
   'sizerw'                     => 0,
   'sizerootfs'                 => 0,
   'environment_variables'      => ["HOME=/mydir", "SAMPLEENV=samplevalue"],
   'name'                       => '123123123',
   'names'                      =>  ['/boring_engelbert']}
end
image_all(filters = {}) click to toggle source
# File lib/fog/fogdocker/requests/compute/image_all.rb, line 12
def image_all(filters = {})
  [
    {'id'=>'a6b02c7ca29a22619f7d0e59062323247739bc0cd375d619f305f0b519af4ef2',
     'repotags' => ['repo/one'],
     'created' => 1389877693,
     'size' => 3265536},
    {'id'=>'a6b02c7ca29a22619f7d0e59062323247739bc0cd375d619f305f0b519af4ef3',
     'repotags' => ['repo/other'],
     'created' => 1389877693,
     'size' => 3265536}
  ]
end
image_create(attrs) click to toggle source
# File lib/fog/fogdocker/requests/compute/image_create.rb, line 11
def image_create(attrs)
  {'id'=>'a6b02c7ca29a22619f7d0e59062323247739bc0cd375d619f305f0b519af4ef2'}
end
image_delete(options = {}) click to toggle source
# File lib/fog/fogdocker/requests/compute/image_delete.rb, line 13
def image_delete(options = {})
  raise ArgumentError, "instance id is a required parameter" unless options.key? :id
  "[{'Deleted':'b15c1423ba157d0f7ac83cba178390c421bb8d536e7e7857580fc10f2d53e1b9'}]"
end
image_get(id) click to toggle source
# File lib/fog/fogdocker/requests/compute/image_get.rb, line 10
def image_get(id)
  {'id'=>'a6b02c7ca29a22619f7d0e59062323247739bc0cd375d619f305f0b519af4ef3',
   'repotags' => ['repo/other'],
   'created' => 1389877693,
   'size' => 3265536}
end

Private Instance Methods

default_response() click to toggle source
# File lib/fog/fogdocker/requests/compute/container_action.rb, line 41
def default_response
  { 'id'           => 'a6b02c7ca29a22619f7d0e59062323247739bc0cd375d619f305f0b519af4ef3',
   'state_running' => false }
end
logs_response() click to toggle source

Sample response from a ping

# File lib/fog/fogdocker/requests/compute/container_action.rb, line 66
def logs_response
  "\u0001\u0000\u0000\u0000\u0000\u0000\u0000]64 bytes from fra07s30-in-f6.1e100.net (173.194.112.102): icmp_req=35272 ttl=52 time=36.9 ms\n\u0001\u0000\u0000\u0000\u0000\u0000\u0000]64 bytes from fra07s30-in-f6.1e100.net (173.194.112.102): icmp_req=35273 ttl=52 time=35.3 ms\n"
end
response_matcher(action) click to toggle source
# File lib/fog/fogdocker/requests/compute/container_action.rb, line 35
def response_matcher(action)
  send("#{action}_response".to_sym)
rescue NoMethodError
  default_response
end
start_response() click to toggle source
# File lib/fog/fogdocker/requests/compute/container_action.rb, line 46
def start_response
  default_response.merge({ 'state_running' => true })
end
top_response() click to toggle source
# File lib/fog/fogdocker/requests/compute/container_action.rb, line 50
def top_response
  [
    {
      'UID'   => 'root',
      'PID'   => '15306',
      'PPID'  => '13567',
      'C'     => '0',
      'STIME' => 'Oct15',
      'TTY'   => '?',
      'TIME'  => '00:00:11',
      'CMD'   => 'ping theforeman.org'
    }
  ]
end