omf_common 6.0.2.pre.2 → 6.0.2

Sign up to get free protection for your applications and to get access to all the features.
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