Class: Fog::Hyperv::Compute::Mock
- Inherits:
-
Shared
- Object
- Shared
- Fog::Hyperv::Compute::Mock
show all
- Defined in:
- lib/fog/hyperv/compute.rb,
lib/fog/hyperv/compute/requests/get_vm.rb,
lib/fog/hyperv/compute/requests/get_vhd.rb,
lib/fog/hyperv/compute/requests/save_vm.rb,
lib/fog/hyperv/compute/requests/stop_vm.rb,
lib/fog/hyperv/compute/requests/start_vm.rb,
lib/fog/hyperv/compute/requests/resume_vm.rb,
lib/fog/hyperv/compute/requests/update_vm.rb,
lib/fog/hyperv/compute/requests/restart_vm.rb,
lib/fog/hyperv/compute/requests/suspend_vm.rb,
lib/fog/hyperv/compute/requests/get_vm_bios.rb,
lib/fog/hyperv/compute/requests/get_vm_group.rb,
lib/fog/hyperv/compute/requests/get_vm_firmware.rb,
lib/fog/hyperv/compute/requests/get_cluster_node.rb,
lib/fog/hyperv/compute/requests/get_vm_dvd_drive.rb,
lib/fog/hyperv/compute/requests/get_vm_host_cluster.rb,
lib/fog/hyperv/compute/requests/get_vm_hard_disk_drive.rb,
lib/fog/hyperv/compute/requests/get_vm_network_adapter.rb,
lib/fog/hyperv/compute/requests/connect_vm_network_adapter.rb,
lib/fog/hyperv/compute/requests/get_vm_network_adapter_vlan.rb,
lib/fog/hyperv/compute/requests/disconnect_vm_network_adapter.rb
Overview
Mocked version of the provider for use in testing
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Shared
#version
Constructor Details
#initialize(_options = {}) ⇒ Mock
rubocop:disable Lint/MissingSuper – No super method
197
198
199
|
# File 'lib/fog/hyperv/compute.rb', line 197
def initialize(_options = {}) require 'fog/json'
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args) ⇒ Object
201
202
203
204
205
206
207
|
# File 'lib/fog/hyperv/compute.rb', line 201
def method_missing(method, *args)
if requests.find { |_, k| k == method }
handle_mock_response((args.first || {}).merge(_method: method))
else
super
end
end
|
Class Method Details
.method_defined?(method) ⇒ Boolean
213
214
215
|
# File 'lib/fog/hyperv/compute.rb', line 213
def self.method_defined?(method)
Fog::Hyperv::Compute.requests.find { |_, k| k == method } || super
end
|
Instance Method Details
#connect_vm_network_adapter(*args) ⇒ Object
39
|
# File 'lib/fog/hyperv/compute/requests/connect_vm_network_adapter.rb', line 39
def connect_vm_network_adapter(*args); end
|
#disconnect_vm_network_adapter(*args) ⇒ Object
27
|
# File 'lib/fog/hyperv/compute/requests/disconnect_vm_network_adapter.rb', line 27
def disconnect_vm_network_adapter(*args); end
|
#get_cluster_node(**args) ⇒ Object
16
17
18
19
20
|
# File 'lib/fog/hyperv/compute/requests/get_cluster_node.rb', line 16
def get_cluster_node(**args)
data = handle_mock_response args
data = data.find { |n| n[:name] == args[:name] } if args[:name]
data
end
|
#get_vhd(**args) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/fog/hyperv/compute/requests/get_vhd.rb', line 12
def get_vhd(**args)
requires_one args, :vm_id, :path, :disk_number
data = handle_mock_response args
if args[:vm_id]
data = case args[:vm_id].downcase
when '20ff7fe3-fd54-425c-aa97-fbf3c2e7a868'
data[1..]
when '416e49fd-28dd-413c-9743-aa3e69e4807d'
data[0]
end
elsif args[:path]
data = data.find { |d| d[:path].casecmp(args[:path]).zero? }
elsif args[:disk_number]
Fog::Mock.not_implemented
end
data
end
|
#get_vm(**args) ⇒ Object
11
12
13
14
15
16
|
# File 'lib/fog/hyperv/compute/requests/get_vm.rb', line 11
def get_vm(**args)
data = handle_mock_response(**args)
data = data.find { |v| v[:name].casecmp(args[:name]).zero? } if args[:name]
data = data.find { |v| v[:id].casecmp(args[:id]).zero? } if args[:id]
data
end
|
#get_vm_bios(**args) ⇒ Object
17
18
19
|
# File 'lib/fog/hyperv/compute/requests/get_vm_bios.rb', line 17
def get_vm_bios(**args)
handle_mock_response(args).find { |b| b[:vm_id].casecmp(args[:vm_id]).zero? }
end
|
#get_vm_dvd_drive(**options) ⇒ Object
19
20
21
22
23
|
# File 'lib/fog/hyperv/compute/requests/get_vm_dvd_drive.rb', line 19
def get_vm_dvd_drive(**options)
requires options, :vm_id
handle_mock_response(args).find { |b| b[:vm_id].casecmp(args[:vm_id]).zero? }
end
|
#get_vm_firmware(**args) ⇒ Object
17
18
19
|
# File 'lib/fog/hyperv/compute/requests/get_vm_firmware.rb', line 17
def get_vm_firmware(**args)
handle_mock_response(args).find { |b| b[:vm_name].casecmp(args[:vm_name]).zero? }
end
|
#get_vm_group(**_options) ⇒ Object
13
14
15
16
17
18
|
# File 'lib/fog/hyperv/compute/requests/get_vm_group.rb', line 13
def get_vm_group(**_options)
requires_version '10.0'
Fog::Mock.not_implemented
end
|
#get_vm_hard_disk_drive(**args) ⇒ Object
18
19
20
21
22
|
# File 'lib/fog/hyperv/compute/requests/get_vm_hard_disk_drive.rb', line 18
def get_vm_hard_disk_drive(**args)
requires args, :vm_id
handle_mock_response(args).find { |b| b[:vm_id].casecmp(args[:vm_id]).zero? }
end
|
#get_vm_host_cluster(**options) ⇒ Object
13
14
15
16
17
18
19
|
# File 'lib/fog/hyperv/compute/requests/get_vm_host_cluster.rb', line 13
def get_vm_host_cluster(**options)
requires_version '10.0'
requires options, :cluster_name
Fog::Mock.not_implemented
end
|
#get_vm_network_adapter(**args) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/fog/hyperv/compute/requests/get_vm_network_adapter.rb', line 28
def get_vm_network_adapter(**args)
requires_one args, :vm_name, :all, :management_os
data = handle_mock_response(args)
if args[:all]
data
elsif args[:vm_name]
data.find { |i| i[:vm_name].casecmp(args[:vm_name]).zero? }
elsif args[:management_os]
data.find { |i| i[:is_management_os] }
end
end
|
#get_vm_network_adapter_vlan(**args) ⇒ Object
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/fog/hyperv/compute/requests/get_vm_network_adapter_vlan.rb', line 30
def get_vm_network_adapter_vlan(**args)
data = handle_mock_response(args)
if args[:vm_id]
data.find { |i| i[:vm_id].casecmp(args[:vm_id]).zero? }
elsif args[:management_os]
data.find { |i| i[:is_management_os] }
else
data
end
end
|
#respond_to_missing?(method, include_private = false) ⇒ Boolean
209
210
211
|
# File 'lib/fog/hyperv/compute.rb', line 209
def respond_to_missing?(method, include_private = false)
requests.find { |_, k| k == method } || super
end
|
#restart_vm(**_) ⇒ Object
18
19
20
|
# File 'lib/fog/hyperv/compute/requests/restart_vm.rb', line 18
def restart_vm(**_)
true
end
|
#resume_vm(**_) ⇒ Object
18
19
20
|
# File 'lib/fog/hyperv/compute/requests/resume_vm.rb', line 18
def resume_vm(**_)
true
end
|
#save_vm(**_) ⇒ Object
18
19
20
|
# File 'lib/fog/hyperv/compute/requests/save_vm.rb', line 18
def save_vm(**_)
true
end
|
#start_vm(**_) ⇒ Object
18
19
20
|
# File 'lib/fog/hyperv/compute/requests/start_vm.rb', line 18
def start_vm(**_)
true
end
|
#stop_vm(**_) ⇒ Object
18
19
20
|
# File 'lib/fog/hyperv/compute/requests/stop_vm.rb', line 18
def stop_vm(**_)
true
end
|
#suspend_vm(**_) ⇒ Object
18
19
20
|
# File 'lib/fog/hyperv/compute/requests/suspend_vm.rb', line 18
def suspend_vm(**_)
true
end
|
#update_vm(**_) ⇒ Object
18
19
20
|
# File 'lib/fog/hyperv/compute/requests/update_vm.rb', line 18
def update_vm(**_)
true
end
|