omf_rc 6.0.2.pre.2 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. data/bin/omf_rc +19 -11
  2. data/config/config.yml +0 -5
  3. data/config/config_with_authentication.yml.example +1 -1
  4. data/lib/omf_rc/deferred_process.rb +5 -0
  5. data/lib/omf_rc/omf_error.rb +5 -0
  6. data/lib/omf_rc/resource_factory.rb +17 -5
  7. data/lib/omf_rc/resource_proxy/abstract_resource.rb +186 -85
  8. data/lib/omf_rc/resource_proxy/application.rb +77 -53
  9. data/lib/omf_rc/resource_proxy/net.rb +29 -2
  10. data/lib/omf_rc/resource_proxy/node.rb +53 -2
  11. data/lib/omf_rc/resource_proxy/virtual_machine.rb +5 -0
  12. data/lib/omf_rc/resource_proxy/virtual_machine_factory.rb +5 -0
  13. data/lib/omf_rc/resource_proxy/wlan.rb +41 -2
  14. data/lib/omf_rc/resource_proxy_dsl.rb +68 -8
  15. data/lib/omf_rc/util/common_tools.rb +5 -0
  16. data/lib/omf_rc/util/hostapd.rb +13 -0
  17. data/lib/omf_rc/util/ip.rb +39 -0
  18. data/lib/omf_rc/util/iw.rb +115 -39
  19. data/lib/omf_rc/util/libvirt.rb +5 -0
  20. data/lib/omf_rc/util/mod.rb +20 -1
  21. data/lib/omf_rc/util/openflow_tools.rb +5 -0
  22. data/lib/omf_rc/util/package.rb +5 -0
  23. data/lib/omf_rc/util/platform_tools.rb +5 -0
  24. data/lib/omf_rc/util/sysfs.rb +23 -3
  25. data/lib/omf_rc/util/vmbuilder.rb +5 -0
  26. data/lib/omf_rc/util/wpa.rb +12 -0
  27. data/lib/omf_rc/version.rb +6 -1
  28. data/lib/omf_rc.rb +5 -0
  29. data/omf_rc.gemspec +2 -1
  30. data/test/omf_rc/deferred_process_spec.rb +5 -0
  31. data/test/omf_rc/message_process_error_spec.rb +5 -0
  32. data/test/omf_rc/resource_factory_spec.rb +8 -6
  33. data/test/omf_rc/resource_proxy/abstract_resource_spec.rb +151 -89
  34. data/test/omf_rc/resource_proxy/application_spec.rb +10 -11
  35. data/test/omf_rc/resource_proxy/node_spec.rb +6 -1
  36. data/test/omf_rc/resource_proxy_dsl_spec.rb +31 -6
  37. data/test/omf_rc/util/common_tools_spec.rb +6 -1
  38. data/test/omf_rc/util/ip_spec.rb +9 -3
  39. data/test/omf_rc/util/iw_spec.rb +16 -6
  40. data/test/omf_rc/util/mod_spec.rb +8 -3
  41. data/test/test_helper.rb +6 -0
  42. metadata +26 -13
  43. data/lib/omf_rc/resource_proxy/mock.rb +0 -16
  44. data/lib/omf_rc/util/mock.rb +0 -22
  45. data/test/omf_rc/resource_proxy/mock_spec.rb +0 -20
  46. data/test/omf_rc/util/mock_spec.rb +0 -31
@@ -1,19 +1,48 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  require 'cocaine'
2
7
 
3
8
  module OmfRc::Util::Ip
4
9
  include OmfRc::ResourceProxyDSL
5
10
  include Cocaine
6
11
 
12
+ # @!macro extend_dsl
13
+
14
+ # @!macro group_request
15
+ # Retrieve IP address
16
+ #
17
+ # @return [String] IP address
18
+ # @!macro request
19
+ # @!method request_ip_addr
7
20
  request :ip_addr do |resource|
8
21
  addr = CommandLine.new("ip", "addr show dev :device", :device => resource.property.if_name).run
9
22
  addr && addr.chomp.match(/inet ([[0-9]\:\/\.]+)/) && $1
10
23
  end
11
24
 
25
+ # Retrieve MAC address
26
+ #
27
+ # @return [String] MAC address
28
+ # @!macro request
29
+ # @!method request_mac_addr
12
30
  request :mac_addr do |resource|
13
31
  addr = CommandLine.new("ip", "addr show dev :device", :device => resource.property.if_name).run
14
32
  addr && addr.chomp.match(/link\/ether ([\d[a-f][A-F]\:]+)/) && $1
15
33
  end
34
+ # @!endgroup
16
35
 
36
+ # @!macro group_configure
37
+ # Configure IP address
38
+ #
39
+ # @param value value of IP address, it should have netmask. (e.g. 0.0.0.0/24)
40
+ #
41
+ # @raise [ArgumentError] if provided no IP address or incorrect format
42
+ #
43
+ # @return [String] IP address
44
+ # @!macro configure
45
+ # @!method configure_ip_addr
17
46
  configure :ip_addr do |resource, value|
18
47
  if value.nil? || value.split('/')[1].nil?
19
48
  raise ArgumentError, "You need to provide an IP address with netmask. E.g. 0.0.0.0/24. Got #{value}."
@@ -27,13 +56,23 @@ module OmfRc::Util::Ip
27
56
  resource.interface_up
28
57
  resource.request_ip_addr
29
58
  end
59
+ # @!endgroup
30
60
 
61
+ # @!macro group_work
62
+ # Bring up network interface
63
+ # @!macro work
64
+ # @!method interface_up
31
65
  work :interface_up do |resource|
32
66
  CommandLine.new("ip", "link set :dev up", :dev => resource.property.if_name).run
33
67
  end
34
68
 
69
+ # Remove IP addresses associated with the interface
70
+ #
71
+ # @!macro work
72
+ # @!method flush_ip_addrs
35
73
  work :flush_ip_addrs do |resource|
36
74
  CommandLine.new("ip", "addr flush dev :device",
37
75
  :device => resource.property.if_name).run
38
76
  end
77
+ # @!endgroup
39
78
  end
@@ -1,11 +1,23 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  require 'hashie'
2
7
  require 'cocaine'
3
8
 
9
+ # Utility for executing command 'iw'
4
10
  module OmfRc::Util::Iw
5
11
  include OmfRc::ResourceProxyDSL
12
+
6
13
  include Cocaine
7
14
  include Hashie
8
15
 
16
+ # @!macro extend_dsl
17
+ #
18
+ # @!parse include OmfRc::Util::Ip
19
+ # @!parse include OmfRc::Util::Wpa
20
+ # @!parse include OmfRc::Util::Hostapd
9
21
  utility :ip
10
22
  utility :wpa
11
23
  utility :hostapd
@@ -26,8 +38,18 @@ module OmfRc::Util::Iw
26
38
  logger.warn "Command iw not found"
27
39
  end
28
40
 
41
+ # @!macro group_request
42
+ #
29
43
  # Parse iw link command output and return as a mash
30
44
  #
45
+ # @example return value
46
+ #
47
+ # { ssid: 'ap', freq: '2412', signal: '-67 dBm' }
48
+ #
49
+ # @return [Mash]
50
+ #
51
+ # @!method request_link
52
+ # @!macro request
31
53
  request :link do |device|
32
54
  known_properties = Mash.new
33
55
 
@@ -44,6 +66,13 @@ module OmfRc::Util::Iw
44
66
 
45
67
  # Parse iw info command output and return as a mash
46
68
  #
69
+ # @example return value
70
+ #
71
+ # { ifindex: '3', type: 'managed', wiphy: '0' }
72
+ #
73
+ # @return [Mash]
74
+ # @!method request_info
75
+ # @!macro request
47
76
  request :info do |device|
48
77
  known_properties = Mash.new
49
78
 
@@ -58,14 +87,93 @@ module OmfRc::Util::Iw
58
87
  known_properties
59
88
  end
60
89
 
90
+ # @!endgroup
91
+
92
+ # @!macro group_configure
93
+ #
94
+ # Configure the interface with mode: managed, master, adhoc or monitor
95
+ #
96
+ # @example Sample opts for mode property
97
+ # # Master
98
+ # { mode: :master, hw_mode: 'a', channel: 1, essid: 'bob' }
99
+ #
100
+ # # Managed
101
+ # { mode: :managed, essid: 'bob' }
102
+ #
103
+ # # Ad-hoc
104
+ # { mode: :adhoc, essid: 'bob', frequency: 2412 }
105
+ #
106
+ # # Monitor
107
+ # { mode: :monitor }
108
+ #
109
+ # @param [Hash] opts the hash to set up mode of wireless interface
110
+ #
111
+ # @option opts [Symbol] :mode wireless connection mode (:master, :managed, :adhoc)
112
+ # @option opts [Symbol] :hw_mode wireless connection hardware mode ('a', 'b', 'g', 'n')
113
+ # @option opts [Symbol] :essid
114
+ # @option opts [Symbol] :channel
115
+ # @option opts [Symbol] :frequency
116
+ #
117
+ # @raise [ArgumentError] if wifi device specified cannot be found on the system
118
+ #
119
+ # @return [String] ip address of the device if configured properly
120
+ #
121
+ # @!method configure_mode(opts)
122
+ # @!macro configure
123
+ configure :mode do |device, opts|
124
+ # capture opts hash and store internally
125
+ device.property.update(opts)
126
+
127
+ if device.property.phy && device.property.phy =~ /^%(\d+)%$/
128
+ wlan_phy_device = device.request_wlan_devices[$1.to_i]
129
+ if wlan_phy_device
130
+ device.property.phy = wlan_phy_device[:name]
131
+ else
132
+ raise ArgumentError, "Could not find your wifi device no #{$1.to_i}"
133
+ end
134
+ end
135
+
136
+ device.validate_iw_properties
137
+
138
+ device.delete_interface rescue logger.warn "Interface #{device.property.if_name} not found"
139
+
140
+ # TODO should just remove all interfaces from physical device, at least make it optional
141
+
142
+ case device.property.mode.to_sym
143
+ when :master
144
+ device.add_interface(:managed)
145
+ device.hostapd
146
+ when :managed
147
+ device.add_interface(:managed)
148
+ device.wpasup
149
+ when :adhoc
150
+ device.add_interface(:adhoc)
151
+ device.interface_up
152
+ device.join_ibss
153
+ when :monitor
154
+ device.add_interface(:monitor)
155
+ device.interface_up
156
+ end
157
+
158
+ device.configure_ip_addr(device.property.ip_addr) if device.property.ip_addr
159
+ end
160
+
161
+ # @!endgroup
162
+ #
163
+ # @!macro group_work
164
+ #
61
165
  # Delete current interface, clean up
62
166
  #
167
+ # @return [String] iw command output
168
+ # @!macro work
63
169
  work :delete_interface do |device|
64
170
  CommandLine.new("iw", "dev :dev del", :dev => device.property.if_name).run
65
171
  end
66
172
 
67
173
  # Add interface to device
68
174
  #
175
+ # @return [String] iw command output
176
+ # @!macro work
69
177
  work :add_interface do |device, type|
70
178
  CommandLine.new("iw", "phy :phy interface add :dev type :type",
71
179
  :phy => device.property.phy,
@@ -75,6 +183,8 @@ module OmfRc::Util::Iw
75
183
 
76
184
  # Set up or join a ibss network
77
185
  #
186
+ # @return [String] iw command output
187
+ # @!macro work
78
188
  work :join_ibss do |device|
79
189
  CommandLine.new("iw", "dev :device ibss join :essid :frequency",
80
190
  :device => device.property.if_name.to_s,
@@ -84,6 +194,10 @@ module OmfRc::Util::Iw
84
194
 
85
195
  # Validate internal properties based on interface mode
86
196
  #
197
+ # @raise [ArgumentError] if validation failed
198
+ #
199
+ # @return [nil]
200
+ # @!macro work
87
201
  work :validate_iw_properties do |device|
88
202
  raise ArgumentError, "Missing phyical device name" if device.property.phy.nil?
89
203
 
@@ -110,43 +224,5 @@ module OmfRc::Util::Iw
110
224
  end
111
225
  end
112
226
 
113
- # Configure the interface with mode managed, master, adhoc or monitor
114
- #
115
- configure :mode do |device, value|
116
- # capture value hash and store internally
117
- device.property.update(value)
118
-
119
- if device.property.phy && device.property.phy =~ /^%(\d+)%$/
120
- wlan_phy_device = device.request_wlan_devices[$1.to_i]
121
- if wlan_phy_device
122
- device.property.phy = wlan_phy_device[:name]
123
- else
124
- raise ArgumentError, "Could not find your wifi device no #{$1.to_i}"
125
- end
126
- end
127
-
128
- device.validate_iw_properties
129
-
130
- device.delete_interface rescue logger.warn "Interface #{device.property.if_name} not found"
131
-
132
- # TODO should just remove all interfaces from physical device, at least make it optional
133
-
134
- case device.property.mode.to_sym
135
- when :master
136
- device.add_interface(:managed)
137
- device.hostapd
138
- when :managed
139
- device.add_interface(:managed)
140
- device.wpasup
141
- when :adhoc
142
- device.add_interface(:adhoc)
143
- device.interface_up
144
- device.join_ibss
145
- when :monitor
146
- device.add_interface(:monitor)
147
- device.interface_up
148
- end
149
-
150
- device.configure_ip_addr(device.property.ip_addr) if device.property.ip_addr
151
- end
227
+ # @!endgroup
152
228
  end
@@ -1,3 +1,8 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  #
2
7
  # Copyright (c) 2012 National ICT Australia (NICTA), Australia
3
8
  #
@@ -1,17 +1,35 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  require 'hashie'
2
7
  require 'cocaine'
3
8
 
9
+ # Manage Linux modules
4
10
  module OmfRc::Util::Mod
5
11
  include OmfRc::ResourceProxyDSL
6
12
  include Cocaine
7
13
  include Hashie
14
+ # @!macro extend_dsl
8
15
 
16
+ # @!macro group_request
17
+ # @!macro request
18
+ # @!method request_modules
9
19
  request :modules do
10
20
  CommandLine.new('lsmod').run.split("\n").map do |v|
11
21
  v.match(/^(\w+).+$/) && $1
12
22
  end.compact.tap { |ary| ary.shift }
13
23
  end
14
-
24
+ # @!endgroup
25
+
26
+ # @!macro group_configure
27
+ #
28
+ # Load additional modules
29
+ #
30
+ # @param value name of the module to load
31
+ # @!macro configure
32
+ # @!method configure_load_module
15
33
  configure :load_module do |resource, value|
16
34
  raise ArgumentError, "Please provide at least module name" if value.name.nil?
17
35
 
@@ -38,4 +56,5 @@ module OmfRc::Util::Mod
38
56
 
39
57
  "#{value.name} loaded"
40
58
  end
59
+ # @!endgroup
41
60
  end
@@ -1,3 +1,8 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  require 'xmlrpc/client'
2
7
 
3
8
  module OmfRc::Util::OpenflowTools
@@ -1,3 +1,8 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  # Package management utility, could be included in application resource proxy
2
7
  #
3
8
  module OmfRc::ResourceProxy::Package
@@ -1,3 +1,8 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  #
2
7
  # Copyright (c) 2012 National ICT Australia (NICTA), Australia
3
8
  #
@@ -1,6 +1,21 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
6
+ # Getting available hardware by browsing sysfs directories
1
7
  module OmfRc::Util::Sysfs
2
8
  include OmfRc::ResourceProxyDSL
9
+ # @!macro extend_dsl
3
10
 
11
+ # @!macro group_request
12
+ # @!macro request
13
+ # @!method request_devices
14
+ #
15
+ # @example Sample return value
16
+ # [
17
+ # { name: 'eth0', driver: 'e1000e', category: 'net', proxy: 'net' },
18
+ # { name: 'phy0', driver: 'iwlwifi', category: 'net', subcategory: 'wlan', proxy: 'wlan' } ]
4
19
  request :devices do |resource|
5
20
  devices = []
6
21
  # Support net devices for now
@@ -18,16 +33,16 @@ module OmfRc::Util::Sysfs
18
33
  File.exist?("#{v}/operstate") && File.open("#{v}/operstate") do |fo|
19
34
  device[:op_state] = (fo.read || '').chomp
20
35
  end
21
- # Let's see if the interface is already up
36
+ # Let's see if the interface is already up
22
37
  # NOTE: THIS MAY NOT BE ROBUST
23
38
  s = `ifconfig #{File.basename(v)}`
24
39
  unless s.empty?
25
40
  if m = s.match(/inet addr:\s*([0-9.]+)/)
26
41
  device[:ip4] = m[1]
27
- end
42
+ end
28
43
  if m = s.match(/inet6 addr:\s*([0-9a-f.:\/]+)/)
29
44
  device[:ip6] = m[1]
30
- end
45
+ end
31
46
  end
32
47
  devices << device
33
48
  end
@@ -47,6 +62,11 @@ module OmfRc::Util::Sysfs
47
62
  devices
48
63
  end
49
64
 
65
+ # @!macro request
66
+ # @!method request_wlan_devices
67
+ #
68
+ # @example Sample return value
69
+ # [ { name: 'phy0', driver: 'iwlwifi', category: 'net', subcategory: 'wlan', proxy: 'wlan' } ]
50
70
  request :wlan_devices do |resource|
51
71
  resource.request_devices.find_all { |v| v[:proxy] == 'wlan' }
52
72
  end
@@ -1,3 +1,8 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  #
2
7
  # Copyright (c) 2012 National ICT Australia (NICTA), Australia
3
8
  #
@@ -1,18 +1,28 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  require 'hashie'
2
7
  require 'cocaine'
3
8
  require 'tempfile'
4
9
 
10
+ # Manage WPA instances
5
11
  module OmfRc::Util::Wpa
6
12
  include OmfRc::ResourceProxyDSL
7
13
  include Cocaine
14
+ # @!macro extend_dsl
8
15
 
16
+ # @!macro group_work
9
17
  # Initialise wpa related conf and pid location
10
18
  #
19
+ # @!method init_wpa_conf_pid
11
20
  work :init_wpa_conf_pid do |device|
12
21
  device.property.wpa_conf = Tempfile.new(["wpa.#{device.property.if_name}", ".conf"]).path
13
22
  device.property.wpa_pid = Tempfile.new(["wpa.#{device.property.if_name}", ".pid"]).path
14
23
  end
15
24
 
25
+ # @!method wpasup
16
26
  work :wpasup do |device|
17
27
  device.init_wpa_conf_pid
18
28
 
@@ -25,6 +35,7 @@ module OmfRc::Util::Wpa
25
35
  :wpa_pid => device.property.wpa_pid).run
26
36
  end
27
37
 
38
+ # @!method stop_wpa
28
39
  work :stop_wpa do |device|
29
40
  begin
30
41
  File.open(device.property.wpa_pid,'r') do |f|
@@ -40,4 +51,5 @@ module OmfRc::Util::Wpa
40
51
  logger.warn e.message
41
52
  end
42
53
  end
54
+ # @!endgroup
43
55
  end
@@ -1,3 +1,8 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  module OmfRc
2
- VERSION = "6.0.2.pre.2"
7
+ VERSION = "6.0.2"
3
8
  end
data/lib/omf_rc.rb CHANGED
@@ -1,3 +1,8 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  require 'omf_common'
2
7
  require 'omf_rc/version'
3
8
 
data/omf_rc.gemspec CHANGED
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
25
25
  s.add_development_dependency "em-minitest-spec", "~> 1.1.1"
26
26
  s.add_development_dependency "pry"
27
27
  s.add_development_dependency "simplecov"
28
- s.add_runtime_dependency "omf_common", "~> 6.0.2.pre.2"
28
+ s.add_runtime_dependency "omf_common", "~> 6.0.2"
29
29
  s.add_runtime_dependency "cocaine", "~> 0.3.0"
30
+ s.add_runtime_dependency "mocha"
30
31
  end
@@ -1,3 +1,8 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  require 'test_helper'
2
7
  require 'em/minitest/spec'
3
8
  require 'omf_rc/deferred_process'
@@ -1,3 +1,8 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  require 'test_helper'
2
7
 
3
8
  describe OmfRc::MessageProcessError do
@@ -1,3 +1,8 @@
1
+ # Copyright (c) 2012 National ICT Australia Limited (NICTA).
2
+ # This software may be used and distributed solely under the terms of the MIT license (License).
3
+ # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
4
+ # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
+
1
6
  require 'test_helper'
2
7
  require 'omf_rc/resource_factory'
3
8
 
@@ -10,17 +15,14 @@ describe OmfRc::ResourceFactory do
10
15
 
11
16
  it "must have list of registered proxies and utilities" do
12
17
  OmfRc::ResourceFactory.load_default_resource_proxies
13
- OmfRc::ResourceFactory.proxy_list.must_include :mock
18
+ OmfRc::ResourceFactory.proxy_list.must_include :node
14
19
  end
15
20
 
16
21
  it "must be able to create new resource proxy" do
17
22
  OmfCommon.stub :comm, @xmpp do
18
23
  OmfRc::ResourceFactory.load_default_resource_proxies
19
- mock = OmfRc::ResourceFactory.new(:mock)
20
- mock.must_be_kind_of OmfRc::ResourceProxy::AbstractResource
21
- mock.must_respond_to :request_nothing
22
- mock.request_nothing.must_equal mock.uid
23
- mock.must_respond_to :configure_nothing
24
+ node = OmfRc::ResourceFactory.create(:node)
25
+ node.must_be_kind_of OmfRc::ResourceProxy::AbstractResource
24
26
  end
25
27
  end
26
28