omf_common 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 (62) hide show
  1. data/bin/file_broadcaster.rb +5 -0
  2. data/bin/file_receiver.rb +5 -0
  3. data/bin/omf_keygen +3 -3
  4. data/bin/omf_send_configure +114 -0
  5. data/bin/omf_send_request +19 -4
  6. data/example/engine_alt.rb +13 -7
  7. data/example/viz/garage_monitor.rb +69 -0
  8. data/example/viz/garage_viz.rb +52 -0
  9. data/example/viz/htdocs/image/garage.png +0 -0
  10. data/example/viz/htdocs/template/garage_banner.html +2 -0
  11. data/example/viz/layout.yaml +44 -0
  12. data/example/vm_alt.rb +5 -0
  13. data/lib/omf_common.rb +17 -8
  14. data/lib/omf_common/auth.rb +5 -0
  15. data/lib/omf_common/auth/certificate.rb +21 -2
  16. data/lib/omf_common/auth/certificate_store.rb +50 -20
  17. data/lib/omf_common/auth/ssh_pub_key_convert.rb +7 -0
  18. data/lib/omf_common/comm.rb +6 -1
  19. data/lib/omf_common/comm/amqp/amqp_communicator.rb +88 -12
  20. data/lib/omf_common/comm/amqp/amqp_file_transfer.rb +5 -0
  21. data/lib/omf_common/comm/amqp/amqp_topic.rb +37 -18
  22. data/lib/omf_common/comm/local/local_communicator.rb +5 -0
  23. data/lib/omf_common/comm/local/local_topic.rb +5 -0
  24. data/lib/omf_common/comm/topic.rb +32 -13
  25. data/lib/omf_common/comm/xmpp/communicator.rb +11 -1
  26. data/lib/omf_common/comm/xmpp/topic.rb +5 -0
  27. data/lib/omf_common/comm/xmpp/xmpp_mp.rb +5 -0
  28. data/lib/omf_common/command.rb +5 -0
  29. data/lib/omf_common/core_ext/string.rb +5 -0
  30. data/lib/omf_common/default_logging.rb +23 -5
  31. data/lib/omf_common/eventloop.rb +40 -23
  32. data/lib/omf_common/eventloop/em.rb +18 -5
  33. data/lib/omf_common/eventloop/local_evl.rb +18 -15
  34. data/lib/omf_common/exec_app.rb +44 -24
  35. data/lib/omf_common/key.rb +5 -0
  36. data/lib/omf_common/measure.rb +5 -0
  37. data/lib/omf_common/message.rb +5 -0
  38. data/lib/omf_common/message/json/json_message.rb +13 -5
  39. data/lib/omf_common/message/xml/message.rb +19 -4
  40. data/lib/omf_common/message/xml/relaxng_schema.rb +5 -0
  41. data/lib/omf_common/message/xml/topic_message.rb +5 -0
  42. data/lib/omf_common/version.rb +6 -1
  43. data/omf_common.gemspec +3 -2
  44. data/test/fixture/1st_level.pem +20 -0
  45. data/test/fixture/2nd_level.pem +19 -0
  46. data/test/fixture/3rd_level.pem +19 -0
  47. data/test/fixture/pubsub.rb +5 -0
  48. data/test/fixture/rc.pem +18 -0
  49. data/test/fixture/root.pem +17 -0
  50. data/test/omf_common/auth/certificate_spec.rb +27 -0
  51. data/test/omf_common/auth/certificate_store_spec.rb +58 -0
  52. data/test/omf_common/auth/ssh_pub_key_convert_spec.rb +5 -0
  53. data/test/omf_common/comm/topic_spec.rb +7 -1
  54. data/test/omf_common/comm/xmpp/communicator_spec.rb +5 -0
  55. data/test/omf_common/comm/xmpp/topic_spec.rb +5 -0
  56. data/test/omf_common/comm_spec.rb +5 -0
  57. data/test/omf_common/command_spec.rb +5 -0
  58. data/test/omf_common/core_ext/string_spec.rb +5 -0
  59. data/test/omf_common/message/xml/message_spec.rb +5 -0
  60. data/test/omf_common/message_spec.rb +8 -3
  61. data/test/test_helper.rb +5 -0
  62. metadata +48 -11
@@ -0,0 +1,58 @@
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
+ require 'test_helper'
7
+
8
+ describe OmfCommon::Auth::CertificateStore do
9
+ before do
10
+ OmfCommon::Auth::CertificateStore.init
11
+ @private_folder = "#{File.dirname(__FILE__)}/../../fixture"
12
+ end
13
+
14
+ after do
15
+ OmfCommon::Auth::CertificateStore.reset
16
+ end
17
+
18
+ it "must register certificate instance" do
19
+ cert = OmfCommon::Auth::Certificate.create_from_x509(File.read "#{@private_folder}/1st_level.pem")
20
+
21
+ OmfCommon::Auth::CertificateStore.instance.register(cert, 'ca1')
22
+
23
+ OmfCommon::Auth::CertificateStore.instance.cert_for("ca1").must_equal cert
24
+ end
25
+
26
+ it "must verify certificate aginst store" do
27
+ # 2 level CAs
28
+ cert_1 = OmfCommon::Auth::Certificate.create_from_x509(File.read "#{@private_folder}/1st_level.pem")
29
+ cert_2 = OmfCommon::Auth::Certificate.create_from_x509(File.read "#{@private_folder}/2nd_level.pem")
30
+ cert_3 = OmfCommon::Auth::Certificate.create_from_x509(File.read "#{@private_folder}/3rd_level.pem")
31
+
32
+
33
+ # 1 level CA
34
+
35
+ cert_4 = OmfCommon::Auth::Certificate.create(nil, 'omf_ca', 'ca', 'omf')
36
+ key = OpenSSL::PKey::RSA.new(2048)
37
+ cert_5 = cert_4.create_for('my_add', 'bob', 'my_resource', 'omf', 365, key.public_key)
38
+
39
+ OmfCommon::Auth::CertificateStore.instance.verify(cert_2.to_x509).must_equal false
40
+
41
+ OmfCommon::Auth::CertificateStore.instance.register(cert_1)
42
+ OmfCommon::Auth::CertificateStore.instance.verify(cert_2.to_x509).must_equal true
43
+ OmfCommon::Auth::CertificateStore.instance.verify(cert_3.to_x509).must_equal false
44
+
45
+ OmfCommon::Auth::CertificateStore.instance.register(cert_2)
46
+ OmfCommon::Auth::CertificateStore.instance.verify(cert_3.to_x509).must_equal true
47
+ OmfCommon::Auth::CertificateStore.instance.verify(cert_5.to_x509).must_equal false
48
+
49
+ OmfCommon::Auth::CertificateStore.instance.register(cert_4)
50
+ OmfCommon::Auth::CertificateStore.instance.verify(cert_5.to_x509).must_equal true
51
+ end
52
+
53
+ it "wont die if registering same cert again" do
54
+ cert_1 = OmfCommon::Auth::Certificate.create_from_x509(File.read "#{@private_folder}/1st_level.pem")
55
+ OmfCommon::Auth::CertificateStore.instance.register(cert_1)
56
+ OmfCommon::Auth::CertificateStore.instance.register(cert_1)
57
+ end
58
+ 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
 
3
8
  describe OmfCommon::Auth::SSHPubKeyConvert 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
 
3
8
  describe OmfCommon::Comm::Topic do
@@ -44,6 +49,7 @@ describe OmfCommon::Comm::Topic do
44
49
  OmfCommon.stubs(:comm).returns(@comm)
45
50
  @topic = OmfCommon::Comm::Topic.create(:bob)
46
51
  @comm.stubs(:local_address).returns(:bob_address)
52
+ @comm.stubs(:create_topic).returns(@topic)
47
53
  end
48
54
 
49
55
  after do
@@ -84,7 +90,7 @@ describe OmfCommon::Comm::Topic do
84
90
  lambda { @topic.send(m_name) }.must_raise ArgumentError
85
91
  cbk = proc {}
86
92
  @topic.send(m_name, &(cbk))
87
- @topic.handlers[name].must_include cbk
93
+ @topic.handlers[name].values.must_include cbk
88
94
  end
89
95
 
90
96
  @topic.class_eval 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 'fixture/pubsub'
3
8
 
@@ -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 'fixture/pubsub'
3
8
 
@@ -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_common/comm/local/local_communicator'
3
8
 
@@ -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_common/command'
3
8
 
@@ -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 String 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_common/message/xml/message'
3
8
 
@@ -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 OmfCommon::Message do
@@ -46,12 +51,12 @@ describe OmfCommon::Message do
46
51
  it "must be able to pretty print an app_event message" do
47
52
  @message = OmfCommon::Message.create(:inform,
48
53
  { status_type: 'APP_EVENT',
49
- event: 'DONE.OK',
54
+ event: 'EXIT',
50
55
  app: 'app100',
51
- msg: 'Everything will be OK',
56
+ msg: '0',
52
57
  seq: 1 },
53
58
  { itype: 'STATUS' })
54
- @message.print_app_event.must_equal "APP_EVENT (app100, #1, DONE.OK): Everything will be OK"
59
+ @message.print_app_event.must_equal "APP_EVENT (app100, #1, EXIT): 0"
55
60
  end
56
61
 
57
62
  it "must return inform type (itype), formatted" do
data/test/test_helper.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 'simplecov'
2
7
  SimpleCov.start { add_filter "/test" }
3
8
 
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omf_common
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.2.pre.2
5
- prerelease: 6
4
+ version: 6.0.2
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - NICTA
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-30 00:00:00.000000000 Z
12
+ date: 2013-06-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
@@ -96,17 +96,17 @@ dependencies:
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
- - - ~>
99
+ - - '='
100
100
  - !ruby/object:Gem::Version
101
- version: 0.12.10
101
+ version: 1.0.3
102
102
  type: :runtime
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
- - - ~>
107
+ - - '='
108
108
  - !ruby/object:Gem::Version
109
- version: 0.12.10
109
+ version: 1.0.3
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: blather
112
112
  requirement: !ruby/object:Gem::Requirement
@@ -114,7 +114,7 @@ dependencies:
114
114
  requirements:
115
115
  - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: 0.8.1
117
+ version: 0.8.4
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  requirements:
123
123
  - - '='
124
124
  - !ruby/object:Gem::Version
125
- version: 0.8.1
125
+ version: 0.8.4
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: logging
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -171,6 +171,22 @@ dependencies:
171
171
  - - ~>
172
172
  - !ruby/object:Gem::Version
173
173
  version: 2.9.1
174
+ - !ruby/object:Gem::Dependency
175
+ name: json
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ~>
180
+ - !ruby/object:Gem::Version
181
+ version: 1.7.7
182
+ type: :runtime
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: 1.7.7
174
190
  description: Common library of OMF, a generic framework for controlling and managing
175
191
  networking testbeds.
176
192
  email:
@@ -189,10 +205,16 @@ files:
189
205
  - bin/file_receiver.rb
190
206
  - bin/omf_keygen
191
207
  - bin/omf_monitor_topic
208
+ - bin/omf_send_configure
192
209
  - bin/omf_send_create
193
210
  - bin/omf_send_request
194
211
  - example/engine_alt.rb
195
212
  - example/ls_app.yaml
213
+ - example/viz/garage_monitor.rb
214
+ - example/viz/garage_viz.rb
215
+ - example/viz/htdocs/image/garage.png
216
+ - example/viz/htdocs/template/garage_banner.html
217
+ - example/viz/layout.yaml
196
218
  - example/vm_alt.rb
197
219
  - lib/omf_common.rb
198
220
  - lib/omf_common/auth.rb
@@ -227,12 +249,18 @@ files:
227
249
  - lib/omf_common/protocol/6.0.rng
228
250
  - lib/omf_common/version.rb
229
251
  - omf_common.gemspec
252
+ - test/fixture/1st_level.pem
253
+ - test/fixture/2nd_level.pem
254
+ - test/fixture/3rd_level.pem
230
255
  - test/fixture/omf_test.cert.pem
231
256
  - test/fixture/omf_test.pem
232
257
  - test/fixture/omf_test.pub
233
258
  - test/fixture/omf_test.pub.pem
234
259
  - test/fixture/pubsub.rb
260
+ - test/fixture/rc.pem
261
+ - test/fixture/root.pem
235
262
  - test/omf_common/auth/certificate_spec.rb
263
+ - test/omf_common/auth/certificate_store_spec.rb
236
264
  - test/omf_common/auth/ssh_pub_key_convert_spec.rb
237
265
  - test/omf_common/comm/topic_spec.rb
238
266
  - test/omf_common/comm/xmpp/communicator_spec.rb
@@ -259,9 +287,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
259
287
  required_rubygems_version: !ruby/object:Gem::Requirement
260
288
  none: false
261
289
  requirements:
262
- - - ! '>'
290
+ - - ! '>='
263
291
  - !ruby/object:Gem::Version
264
- version: 1.3.1
292
+ version: '0'
293
+ segments:
294
+ - 0
295
+ hash: 475954182867685216
265
296
  requirements: []
266
297
  rubyforge_project: omf_common
267
298
  rubygems_version: 1.8.25
@@ -269,12 +300,18 @@ signing_key:
269
300
  specification_version: 3
270
301
  summary: Common library of OMF
271
302
  test_files:
303
+ - test/fixture/1st_level.pem
304
+ - test/fixture/2nd_level.pem
305
+ - test/fixture/3rd_level.pem
272
306
  - test/fixture/omf_test.cert.pem
273
307
  - test/fixture/omf_test.pem
274
308
  - test/fixture/omf_test.pub
275
309
  - test/fixture/omf_test.pub.pem
276
310
  - test/fixture/pubsub.rb
311
+ - test/fixture/rc.pem
312
+ - test/fixture/root.pem
277
313
  - test/omf_common/auth/certificate_spec.rb
314
+ - test/omf_common/auth/certificate_store_spec.rb
278
315
  - test/omf_common/auth/ssh_pub_key_convert_spec.rb
279
316
  - test/omf_common/comm/topic_spec.rb
280
317
  - test/omf_common/comm/xmpp/communicator_spec.rb