lorj 1.0.12 → 1.0.13

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,125 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: UTF-8
3
+
4
+ # (c) Copyright 2014 Hewlett-Packard Development Company, L.P.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
18
+ # To debug spec, depending on Ruby version, you may need to install
19
+ # 1.8 => ruby-debug
20
+ # 1.9 => debugger
21
+ # 2.0+ => byebug
22
+ # The right debugger should be installed by default by bundle
23
+ # So, just call:
24
+ #
25
+ # bundle
26
+ #
27
+ # Then set RSPEC_DEBUG=true, put a 'stop' where you want in the spec code
28
+ # and start rspec or even rake spec.
29
+ #
30
+ # RSPEC_DEBUG=true rake spec_local (or spec which includes docker spec)
31
+ # OR
32
+ # RSPEC_DEBUG=true rspec -f doc --color spec/<file>_spec.rb
33
+ #
34
+
35
+ app_path = File.dirname(__FILE__)
36
+ $LOAD_PATH << app_path unless $LOAD_PATH.include?(app_path)
37
+ require 'spec_helper'
38
+
39
+ describe 'Internal BaseDefinition features' do
40
+ context 'From a derived class' do
41
+ before(:all) do
42
+ # Spec class for BaseDefinition
43
+ class BaseDefinitionSpec < Lorj::BaseDefinition
44
+ def initialize
45
+ end
46
+
47
+ def self.def_internal(name)
48
+ spec_name = 'spec' + name
49
+
50
+ # To call the function identified internally with 'spec' prefix
51
+ define_method(spec_name) do |*p|
52
+ send(name, *p)
53
+ end
54
+ end
55
+
56
+ # Internal function to test.
57
+ def_internal '_new_encrypt_key'
58
+ def_internal '_get_encrypt_key'
59
+ def_internal '_get_encrypted_value_hidden'
60
+ def_internal '_get_encrypted_value'
61
+ def_internal '_encrypt_value'
62
+ def_internal '_account_map'
63
+ end
64
+
65
+ @spec_obj = BaseDefinitionSpec.new
66
+
67
+ PrcLib.pdata_path = File.join(app_path, 'lorj-spec')
68
+ @key_file = File.join(PrcLib.pdata_path, '.key')
69
+ File.delete(@key_file) if File.exist?(@key_file)
70
+ end
71
+
72
+ after(:all) do
73
+ File.delete(@key_file) if File.exist?(@key_file)
74
+ end
75
+
76
+ it '_new_encrypt_key return a new entr hash' do
77
+ ret = @spec_obj.spec_new_encrypt_key
78
+ expect(ret.class).to equal(Hash)
79
+ expect(ret.keys.sort).to eq([:key, :salt, :iv].sort)
80
+ expect(ret[:key].class).to equal(String)
81
+ expect(ret[:salt].class).to equal(String)
82
+ expect(ret[:iv].class).to equal(String)
83
+ end
84
+
85
+ it '_get_encrypt_key return entr, .key file created' do
86
+ ret = @spec_obj.spec_get_encrypt_key
87
+ expect(ret.class).to equal(Hash)
88
+ expect(ret.keys.sort).to eq([:key, :salt, :iv].sort)
89
+ expect(ret[:key].class).to equal(String)
90
+ expect(ret[:salt].class).to equal(String)
91
+ expect(ret[:iv].class).to equal(String)
92
+ expect(File.exist?(@key_file)).to equal(true)
93
+ expect(@spec_obj.spec_get_encrypt_key).to eq(ret)
94
+ end
95
+
96
+ it '_encrypt_value return a strict base64 data' do
97
+ to_enc = 'Data to encrypt'
98
+ entr = @spec_obj.spec_get_encrypt_key
99
+ ret = @spec_obj.spec_encrypt_value(to_enc, entr)
100
+
101
+ expect(Base64.strict_decode64(ret).class).to eq(String)
102
+ expect(ret).to eq(@spec_obj.spec_encrypt_value(to_enc, entr))
103
+ end
104
+
105
+ it '_get_encrypted_value return is decryptable' do
106
+ to_enc = 'Data to encrypt'
107
+ entr = @spec_obj.spec_get_encrypt_key
108
+ ret = @spec_obj.spec_encrypt_value(to_enc, entr)
109
+
110
+ expect(@spec_obj.spec_get_encrypted_value(ret, entr,
111
+ 'value')).to eq(to_enc)
112
+ end
113
+
114
+ it '_get_encrypted_value_hidden string contains count of * equal to '\
115
+ 'original value' do
116
+ to_enc = 'Data to encrypt'
117
+ entr = @spec_obj.spec_get_encrypt_key
118
+ ret = @spec_obj.spec_encrypt_value(to_enc, entr)
119
+ hidden = @spec_obj.spec_get_encrypted_value_hidden('value', ret, entr)
120
+
121
+ expect(hidden.include?('*')).to equal(true)
122
+ expect('*' * to_enc.length).to eq(hidden)
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,182 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: UTF-8
3
+
4
+ # (c) Copyright 2014 Hewlett-Packard Development Company, L.P.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
18
+ # To debug spec, depending on Ruby version, you may need to install
19
+ # 1.8 => ruby-debug
20
+ # 1.9 => debugger
21
+ # 2.0+ => byebug
22
+ # The right debugger should be installed by default by bundle
23
+ # So, just call:
24
+ #
25
+ # bundle
26
+ #
27
+ # Then set RSPEC_DEBUG=true, put a 'stop' where you want in the spec code
28
+ # and start rspec or even rake spec.
29
+ #
30
+ # RSPEC_DEBUG=true rake spec_local (or spec which includes docker spec)
31
+ # OR
32
+ # RSPEC_DEBUG=true rspec -f doc --color spec/<file>_spec.rb
33
+ #
34
+
35
+ app_path = File.dirname(__FILE__)
36
+ $LOAD_PATH << app_path unless $LOAD_PATH.include?(app_path)
37
+ require 'spec_helper'
38
+
39
+ describe 'Internal BaseDefinition features' do
40
+ context 'From a derived class' do
41
+ before(:all) do
42
+ # Used to help en/decrypting
43
+ class BaseDefinitionSpec < Lorj::BaseDefinition
44
+ def initialize
45
+ end
46
+
47
+ def self.def_internal(name)
48
+ spec_name = 's' + name
49
+
50
+ # To call the function identified internally with 'spec' prefix
51
+ define_method(spec_name) do |*p|
52
+ send(name, *p)
53
+ end
54
+ end
55
+
56
+ # Internal function to test.
57
+ def_internal '_get_encrypt_key'
58
+ def_internal '_get_encrypted_value'
59
+ def_internal '_encrypt_value'
60
+ end
61
+
62
+ # Spec class for ImportExport feature spec
63
+ class ImportExportSpec < Lorj::BaseDefinition
64
+ # Simplified BaseDefinition class for spec only
65
+ def initialize(config)
66
+ @config = config
67
+ end
68
+
69
+ def self.def_internal(name)
70
+ spec_name = 'spec' + name
71
+
72
+ # To call the function identified internally with 'spec' prefix
73
+ define_method(spec_name) do |*p|
74
+ send(name, *p)
75
+ end
76
+ end
77
+
78
+ # Internal function to test.
79
+ def_internal '_account_map'
80
+ end
81
+
82
+ PrcLib.spec_cleanup
83
+ Lorj.spec_cleanup
84
+ PrcLib.app_name = 'lorj-rspec'
85
+ PrcLib.pdata_path = File.join(app_path, '..', 'lorj-spec', 'cache')
86
+ PrcLib.data_path = File.join(app_path, '..', 'lorj-spec', 'data')
87
+
88
+ @config = Lorj::Account.new
89
+ @spec_obj = ImportExportSpec.new(@config)
90
+
91
+ process_path = File.expand_path(File.join(app_path, '..', 'lorj-spec'))
92
+ Lorj.declare_process('mock', process_path)
93
+
94
+ @core = Lorj::Core.new(@config, [{ :process_module => :mock }])
95
+
96
+ @key_file = File.join(PrcLib.pdata_path, '.key')
97
+ @crypt = BaseDefinitionSpec.new
98
+ @config[:keypair_name] = 'another_key'
99
+ end
100
+
101
+ it '_account_map return {} as no account loaded.' do
102
+ expect(@spec_obj.spec_account_map).to eq({})
103
+ end
104
+
105
+ it 'Load test account and _account_map return valid data.' do
106
+ # Load lorj-spec/data/accounts/test.yaml
107
+ expect(@config.ac_load 'test.yaml').to equal(true)
108
+ res = %w(credentials#key credentials#keypair_name)
109
+ expect(@spec_obj.spec_account_map.keys.sort).to eq(res)
110
+ expect(@spec_obj.spec_account_map['credentials#key']).to eq({})
111
+ end
112
+
113
+ it 'account_export() returns valid [entr, data_enc]' do
114
+ export = @spec_obj.account_export
115
+ expect(export.class).to equal(Array)
116
+ entr, data_encrypted = export
117
+ data_decrypted = @crypt.s_get_encrypted_value(data_encrypted,
118
+ entr, 'data encrypted')
119
+ expect(data_decrypted.class).to equal(String)
120
+ data = YAML.load(data_decrypted)
121
+ expect(data.rh_exist?(:account, :name)).to equal(true)
122
+ expect(data.rh_get(:account, :name)).to eq('test')
123
+ expect(data.rh_exist?(:credentials, :keypair_name)).to equal(true)
124
+ expect(data.rh_get(:credentials, :keypair_name)).to eq('mykey')
125
+ expect(data.rh_exist?(:credentials, :key)).to equal(true)
126
+ expect(data.rh_get(:credentials, :key)).to eq('DataEncrypted')
127
+ end
128
+
129
+ it 'account_export(nil, false) returns account@name and credentials#key' do
130
+ entr, data_encrypted = @spec_obj.account_export(nil, false)
131
+ data_decrypted = @crypt.s_get_encrypted_value(data_encrypted,
132
+ entr, 'data encrypted')
133
+ data = YAML.load(data_decrypted)
134
+ expect(data.rh_exist?(:account, :name)).to equal(false)
135
+ expect(data.rh_exist?(:credentials, :key)).to equal(true)
136
+ end
137
+
138
+ it 'account_export(nil, false, false) returns "runtime" keypair_name'\
139
+ ' value' do
140
+ entr, data_encrypted = @spec_obj.account_export(nil, false, false)
141
+ data_decrypted = @crypt.s_get_encrypted_value(data_encrypted,
142
+ entr, 'data encrypted')
143
+ data = YAML.load(data_decrypted)
144
+ expect(data.rh_exist?(:credentials, :keypair_name)).to equal(true)
145
+ expect(data.rh_get(:credentials, :keypair_name)).to eq('another_key')
146
+ end
147
+
148
+ it 'account_export({"credentials#key" => {}}) returns key, '\
149
+ 'name & provider' do
150
+ entr, data_encrypted = @spec_obj.account_export('credentials#key' => {})
151
+ data_decrypted = @crypt.s_get_encrypted_value(data_encrypted,
152
+ entr, 'data encrypted')
153
+ data = YAML.load(data_decrypted)
154
+ expect(data.rh_exist?(:credentials, :keypair_name)).to equal(false)
155
+ expect(data.rh_exist?(:credentials, :key)).to equal(true)
156
+ expect(data.rh_exist?(:account, :name)).to equal(true)
157
+ end
158
+
159
+ it 'account_export({"credentials#key" => {:keys => [:server, :key]}})'\
160
+ ' returns ' do
161
+ map = { 'credentials#key' => { :keys => [:server, :key] } }
162
+ entr, data_encrypted = @spec_obj.account_export(map)
163
+ data_decrypted = @crypt.s_get_encrypted_value(data_encrypted,
164
+ entr, 'data encrypted')
165
+ data = YAML.load(data_decrypted)
166
+ expect(data.rh_exist?(:credentials, :key)).to equal(false)
167
+ expect(data.rh_exist?(:server, :key)).to equal(true)
168
+ expect(data.rh_exist?(:account, :name)).to equal(true)
169
+ end
170
+
171
+ it 'account_import(entr, enc_hash) update the "account layer"' do
172
+ entr, data_encrypted = @spec_obj.account_export
173
+ @config.ac_erase
174
+ data = @spec_obj.account_import(entr, data_encrypted)
175
+ expect(data.class).to equal(Hash)
176
+ expect(@config['account#name']).to eq('test')
177
+ expect(@config[:keypair_name]).to eq('another_key')
178
+ expect(@config.get(:keypair_name, nil,
179
+ :name => 'account')).to eq('mykey')
180
+ end
181
+ end
182
+ end
data/spec/spec_helper.rb CHANGED
@@ -32,3 +32,57 @@ else
32
32
  def stop
33
33
  end
34
34
  end
35
+
36
+ require 'lorj'
37
+
38
+ # Define some spec addon
39
+ module PrcLib
40
+ module_function
41
+
42
+ # Attribute app_name
43
+ #
44
+ # app_name is set to 'lorj' if not set.
45
+ #
46
+ def spec_cleanup
47
+ instance_variables.each do |v|
48
+ # @lib_path is set by require 'lorj'. We should never update it.
49
+ # @core_level is set by require 'lorj'. We should never update it.
50
+ next if [:'@lib_path', :'@core_level'].include?(v)
51
+ instance_variable_set(v, nil)
52
+ end
53
+ end
54
+
55
+ def to_s
56
+ a = {}
57
+ instance_variables.each do |v|
58
+ a[v] = instance_variable_get(v)
59
+ end
60
+ a
61
+ end
62
+ end
63
+
64
+ # Define some spec addon
65
+ module Lorj
66
+ module_function
67
+
68
+ # Attribute app_name
69
+ #
70
+ # app_name is set to 'lorj' if not set.
71
+ #
72
+ def spec_cleanup
73
+ instance_variables.each do |v|
74
+ # @lib_path is set by require 'lorj'. We should never update it.
75
+ # @core_level is set by require 'lorj'. We should never update it.
76
+ next if [:'@lib_path', :'@core_level'].include?(v)
77
+ instance_variable_set(v, nil)
78
+ end
79
+ end
80
+
81
+ def to_s
82
+ a = {}
83
+ instance_variables.each do |v|
84
+ a[v] = instance_variable_get(v)
85
+ end
86
+ a
87
+ end
88
+ end
metadata CHANGED
@@ -1,111 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lorj
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.12
4
+ version: 1.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - forj team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-15 00:00:00.000000000 Z
11
+ date: 2015-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 3.1.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 3.1.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rdoc
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: config_layers
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.1.4
75
+ version: 0.1.5
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.1.4
82
+ version: 0.1.5
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: highline
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: 1.6.21
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.6.21
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: ansi
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: 1.4.3
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: 1.4.3
111
111
  - !ruby/object:Gem::Dependency
@@ -126,42 +126,42 @@ dependencies:
126
126
  name: json
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: byebug
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rubocop
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ~>
157
+ - - "~>"
158
158
  - !ruby/object:Gem::Version
159
159
  version: 0.30.0
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ~>
164
+ - - "~>"
165
165
  - !ruby/object:Gem::Version
166
166
  version: 0.30.0
167
167
  description: |2
@@ -171,19 +171,21 @@ email:
171
171
  - forj@forj.io
172
172
  executables:
173
173
  - cloud_test.rb
174
+ - lorj_account_import.rb
174
175
  extensions: []
175
176
  extra_rdoc_files: []
176
177
  files:
177
- - .gitignore
178
- - .gitreview
179
- - .rspec
180
- - .rubocop.yml
178
+ - ".gitignore"
179
+ - ".gitreview"
180
+ - ".rspec"
181
+ - ".rubocop.yml"
181
182
  - Dockerfile
182
183
  - Gemfile
183
184
  - LICENSE.txt
184
185
  - README.md
185
186
  - Rakefile
186
187
  - bin/cloud_test.rb
188
+ - bin/lorj_account_import.rb
187
189
  - build/build_with_proxy.sh
188
190
  - example/students_1/process/students.rb
189
191
  - example/students_1/student_v1.md
@@ -223,6 +225,7 @@ files:
223
225
  - lib/core/compat/lorj_data.rb
224
226
  - lib/core/core.rb
225
227
  - lib/core/core_controller.rb
228
+ - lib/core/core_import_export.rb
226
229
  - lib/core/core_internal.rb
227
230
  - lib/core/core_model.rb
228
231
  - lib/core/core_object_data.rb
@@ -259,6 +262,9 @@ files:
259
262
  - lib/providers/templates/compute.rb
260
263
  - lib/providers/templates/mycloud.rb
261
264
  - lib/providers/templates/network.rb
265
+ - lorj-spec/cache/.key
266
+ - lorj-spec/data/accounts/test.yaml
267
+ - lorj-spec/data/config.yaml
262
268
  - lorj-spec/defaults.yaml
263
269
  - lorj-spec/process/mock/controllers/mock/mock.rb
264
270
  - lorj-spec/process/mock/data.yaml
@@ -278,6 +284,8 @@ files:
278
284
  - spec/20_lorj_meta_spec.rb
279
285
  - spec/21_lorj_processes_spec.rb
280
286
  - spec/22_lorj_core_spec.rb
287
+ - spec/30_lorj_basedefinition_spec.rb
288
+ - spec/31_lorj_importexport_spec.rb
281
289
  - spec/spec_helper.rb
282
290
  homepage: https://github.com/forj-oss/lorj
283
291
  licenses:
@@ -285,23 +293,23 @@ licenses:
285
293
  metadata: {}
286
294
  post_install_message:
287
295
  rdoc_options:
288
- - --title Lorj - The Process Controllers framework system
289
- - --main README.md
296
+ - "--title Lorj - The Process Controllers framework system"
297
+ - "--main README.md"
290
298
  require_paths:
291
299
  - lib
292
300
  required_ruby_version: !ruby/object:Gem::Requirement
293
301
  requirements:
294
- - - '>='
302
+ - - ">="
295
303
  - !ruby/object:Gem::Version
296
304
  version: '0'
297
305
  required_rubygems_version: !ruby/object:Gem::Requirement
298
306
  requirements:
299
- - - '>='
307
+ - - ">="
300
308
  - !ruby/object:Gem::Version
301
309
  version: '0'
302
310
  requirements: []
303
311
  rubyforge_project:
304
- rubygems_version: 2.1.11
312
+ rubygems_version: 2.2.3
305
313
  signing_key:
306
314
  specification_version: 4
307
315
  summary: Process Controllers framework system
@@ -316,4 +324,6 @@ test_files:
316
324
  - spec/20_lorj_meta_spec.rb
317
325
  - spec/21_lorj_processes_spec.rb
318
326
  - spec/22_lorj_core_spec.rb
327
+ - spec/30_lorj_basedefinition_spec.rb
328
+ - spec/31_lorj_importexport_spec.rb
319
329
  - spec/spec_helper.rb