MuranoCLI 3.2.0.beta.9 → 3.2.1.pre.beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/Rakefile +5 -0
  4. data/dockers/README.rst +7 -0
  5. data/dockers/RELEASE.rst +6 -3
  6. data/dockers/docker-test.sh +45 -17
  7. data/docs/completions/murano_completion-bash +211 -86
  8. data/lib/MrMurano/Account.rb +72 -4
  9. data/lib/MrMurano/Business.rb +163 -2
  10. data/lib/MrMurano/Commander-Entry.rb +1 -2
  11. data/lib/MrMurano/Config.rb +19 -18
  12. data/lib/MrMurano/Content.rb +26 -19
  13. data/lib/MrMurano/Gateway.rb +51 -10
  14. data/lib/MrMurano/ReCommander.rb +1 -1
  15. data/lib/MrMurano/Solution-Services.rb +80 -35
  16. data/lib/MrMurano/Solution-Users.rb +1 -0
  17. data/lib/MrMurano/SyncRoot.rb +10 -3
  18. data/lib/MrMurano/SyncUpDown-Core.rb +47 -36
  19. data/lib/MrMurano/SyncUpDown-Item.rb +46 -14
  20. data/lib/MrMurano/SyncUpDown.rb +22 -20
  21. data/lib/MrMurano/Webservice-Endpoint.rb +20 -18
  22. data/lib/MrMurano/Webservice-File.rb +63 -20
  23. data/lib/MrMurano/commands/business.rb +14 -1
  24. data/lib/MrMurano/commands/child.rb +148 -0
  25. data/lib/MrMurano/commands/devices.rb +298 -149
  26. data/lib/MrMurano/commands/element.rb +2 -1
  27. data/lib/MrMurano/commands/globals.rb +3 -0
  28. data/lib/MrMurano/commands/network.rb +152 -33
  29. data/lib/MrMurano/commands/sync.rb +2 -2
  30. data/lib/MrMurano/commands.rb +1 -0
  31. data/lib/MrMurano/verbosing.rb +13 -2
  32. data/lib/MrMurano/version.rb +1 -1
  33. data/spec/Account_spec.rb +43 -11
  34. data/spec/Content_spec.rb +5 -3
  35. data/spec/GatewayBase_spec.rb +1 -1
  36. data/spec/GatewayDevice_spec.rb +47 -8
  37. data/spec/GatewayResource_spec.rb +1 -1
  38. data/spec/GatewaySettings_spec.rb +1 -1
  39. data/spec/HttpAuthed_spec.rb +17 -3
  40. data/spec/ProjectFile_spec.rb +59 -23
  41. data/spec/Setting_spec.rb +2 -1
  42. data/spec/Solution-ServiceConfig_spec.rb +1 -1
  43. data/spec/Solution-ServiceEventHandler_spec.rb +27 -20
  44. data/spec/Solution-ServiceModules_spec.rb +7 -5
  45. data/spec/Solution-UsersRoles_spec.rb +7 -1
  46. data/spec/Solution_spec.rb +9 -1
  47. data/spec/SyncRoot_spec.rb +5 -5
  48. data/spec/SyncUpDown_spec.rb +262 -211
  49. data/spec/Verbosing_spec.rb +49 -8
  50. data/spec/Webservice-Cors_spec.rb +10 -1
  51. data/spec/Webservice-Endpoint_spec.rb +84 -65
  52. data/spec/Webservice-File_spec.rb +16 -11
  53. data/spec/Webservice-Setting_spec.rb +7 -1
  54. data/spec/_workspace.rb +9 -0
  55. data/spec/cmd_business_spec.rb +5 -10
  56. data/spec/cmd_common.rb +67 -32
  57. data/spec/cmd_config_spec.rb +9 -14
  58. data/spec/cmd_content_spec.rb +15 -26
  59. data/spec/cmd_cors_spec.rb +9 -12
  60. data/spec/cmd_device_spec.rb +31 -45
  61. data/spec/cmd_domain_spec.rb +12 -10
  62. data/spec/cmd_element_spec.rb +18 -17
  63. data/spec/cmd_exchange_spec.rb +1 -4
  64. data/spec/cmd_init_spec.rb +56 -72
  65. data/spec/cmd_keystore_spec.rb +17 -26
  66. data/spec/cmd_link_spec.rb +13 -17
  67. data/spec/cmd_password_spec.rb +9 -10
  68. data/spec/cmd_setting_application_spec.rb +95 -68
  69. data/spec/cmd_setting_product_spec.rb +59 -37
  70. data/spec/cmd_status_spec.rb +46 -84
  71. data/spec/cmd_syncdown_application_spec.rb +28 -50
  72. data/spec/cmd_syncdown_both_spec.rb +44 -93
  73. data/spec/cmd_syncdown_unit_spec.rb +858 -0
  74. data/spec/cmd_syncup_spec.rb +21 -56
  75. data/spec/cmd_token_spec.rb +0 -3
  76. data/spec/cmd_usage_spec.rb +15 -10
  77. data/spec/dry_run_formatter.rb +1 -0
  78. data/spec/fixtures/dumped_config +4 -4
  79. data/spec/spec_helper.rb +3 -0
  80. metadata +4 -2
data/spec/Content_spec.rb CHANGED
@@ -24,8 +24,8 @@ require 'HttpAuthed_spec'
24
24
 
25
25
  RSpec.describe MrMurano::Content::Base do
26
26
  include_context 'WORKSPACE'
27
+
27
28
  before(:example) do
28
- MrMurano::SyncRoot.instance.reset
29
29
  $cfg = MrMurano::Config.new
30
30
  $cfg.load
31
31
  $cfg['net.host'] = 'bizapi.hosted.exosite.io'
@@ -343,7 +343,9 @@ RSpec.describe MrMurano::Content::Base do
343
343
  :get, 'https://s3-us-west-1.amazonaws.com/murano-content-service-staging/XXX/ZZZ'
344
344
  ).to_return(body: 'FOOOOOOOOOOOO')
345
345
 
346
- expect { |b| @ct.download('TODO.taskpaper', &b) }.to yield_with_args('FOOOOOOOOOOOO')
346
+ expect do |b|
347
+ @ct.download('TODO.taskpaper', &b)
348
+ end.to yield_with_args('FOOOOOOOOOOOO')
347
349
  end
348
350
 
349
351
  it "something that isn't there" do
@@ -371,7 +373,7 @@ RSpec.describe MrMurano::Content::Base do
371
373
 
372
374
  ret = @ct.download('Notthere')
373
375
  expect(ret).to match(Net::HTTPNotFound)
374
- expect($stderr.string).to eq("\e[31mRequest Failed: 404: " + resp + "\e[0m\n")
376
+ expect($stderr.string).to eq("\e[31mRequest Failed: 404: #{resp}\e[0m\n")
375
377
  $stderr = saved
376
378
  end
377
379
 
@@ -15,8 +15,8 @@ require 'HttpAuthed_spec'
15
15
 
16
16
  RSpec.describe MrMurano::Gateway::GweBase do
17
17
  include_context 'WORKSPACE'
18
+
18
19
  before(:example) do
19
- MrMurano::SyncRoot.instance.reset
20
20
  $cfg = MrMurano::Config.new
21
21
  $cfg.load
22
22
  $cfg['net.host'] = 'bizapi.hosted.exosite.io'
@@ -6,6 +6,8 @@
6
6
  # Unauthorized copying of this file is strictly prohibited.
7
7
 
8
8
  require 'fileutils'
9
+ require 'webmock'
10
+
9
11
  require 'MrMurano/version'
10
12
  require 'MrMurano/HttpAuthed'
11
13
  require 'MrMurano/Gateway'
@@ -15,8 +17,8 @@ require 'HttpAuthed_spec'
15
17
 
16
18
  RSpec.describe MrMurano::Gateway::Device do
17
19
  include_context 'WORKSPACE'
20
+
18
21
  before(:example) do
19
- MrMurano::SyncRoot.instance.reset
20
22
  $cfg = MrMurano::Config.new
21
23
  $cfg.load
22
24
  $cfg['net.host'] = 'bizapi.hosted.exosite.io'
@@ -29,7 +31,10 @@ RSpec.describe MrMurano::Gateway::Device do
29
31
 
30
32
  it 'initializes' do
31
33
  uri = @gw.endpoint('/')
32
- expect(uri.to_s).to eq('https://bizapi.hosted.exosite.io/api:1/service/XYZ/device2/identity/')
34
+ expect(uri.to_s).to eq(
35
+ 'https://bizapi.hosted.exosite.io/api:1/service/XYZ/device2/identity/'
36
+ )
37
+ WebMock.reset!
33
38
  end
34
39
 
35
40
  context 'listing' do
@@ -65,6 +70,8 @@ RSpec.describe MrMurano::Gateway::Device do
65
70
 
66
71
  ret = @gw.list
67
72
  expect(ret).to eq(body)
73
+
74
+ WebMock.reset!
68
75
  end
69
76
 
70
77
  it 'lists with limit' do
@@ -89,6 +96,8 @@ RSpec.describe MrMurano::Gateway::Device do
89
96
 
90
97
  ret = @gw.list(1)
91
98
  expect(ret).to eq(body)
99
+
100
+ WebMock.reset!
92
101
  end
93
102
 
94
103
  it 'lists with before' do
@@ -136,6 +145,8 @@ RSpec.describe MrMurano::Gateway::Device do
136
145
 
137
146
  ret = @gw.fetch(58)
138
147
  expect(ret).to eq(body)
148
+
149
+ WebMock.reset!
139
150
  end
140
151
 
141
152
  it 'enables one' do
@@ -158,6 +169,8 @@ RSpec.describe MrMurano::Gateway::Device do
158
169
 
159
170
  ret = @gw.enable(58)
160
171
  expect(ret).to eq(body)
172
+
173
+ WebMock.reset!
161
174
  end
162
175
 
163
176
  it 'enables with options' do
@@ -180,6 +193,8 @@ RSpec.describe MrMurano::Gateway::Device do
180
193
 
181
194
  ret = @gw.enable(58, type: :certificate, expire: '123456')
182
195
  expect(ret).to eq(body)
196
+
197
+ WebMock.reset!
183
198
  end
184
199
 
185
200
  it 'enables with extra options' do
@@ -202,6 +217,8 @@ RSpec.describe MrMurano::Gateway::Device do
202
217
 
203
218
  ret = @gw.enable(58, go: :blueteam, type: :certificate, expire: 123_456, bob: :built)
204
219
  expect(ret).to eq(body)
220
+
221
+ WebMock.reset!
205
222
  end
206
223
 
207
224
  it 'removes one' do
@@ -224,6 +241,8 @@ RSpec.describe MrMurano::Gateway::Device do
224
241
 
225
242
  ret = @gw.remove(58)
226
243
  expect(ret).to eq(body)
244
+
245
+ WebMock.reset!
227
246
  end
228
247
 
229
248
  context 'activates' do
@@ -236,6 +255,11 @@ RSpec.describe MrMurano::Gateway::Device do
236
255
  'https://bizapi.hosted.exosite.io/api:1/service/XYZ/device2'
237
256
  ).to_return(body: { fqdn: 'xxxxx.m2.exosite-staging.io' }.to_json)
238
257
  end
258
+
259
+ after(:example) do
260
+ WebMock.reset!
261
+ end
262
+
239
263
  it 'succeeds' do
240
264
  stub_request(
241
265
  :post,
@@ -255,11 +279,11 @@ RSpec.describe MrMurano::Gateway::Device do
255
279
  saved = $stderr
256
280
  $stderr = StringIO.new
257
281
 
258
- #@gw.activate(58)
259
- #expect($stderr.string).to eq("\e[31mRequest Failed: 409: nil\e[0m\n")
260
282
  expect do
261
283
  @gw.activate(58)
262
- end.to raise_error(SystemExit).and output("\e[31mThe specified device is already activated.\e[0m\n").to_stderr
284
+ end.to raise_error(SystemExit).and output(
285
+ "\e[31mThe specified device is already activated.\e[0m\n"
286
+ ).to_stderr
263
287
  $stderr = saved
264
288
  end
265
289
 
@@ -288,6 +312,7 @@ RSpec.describe MrMurano::Gateway::Device do
288
312
  request.body.to_s =~ %r{Content-Type: text/csv\r\n\r\nID\r?\n1\r?\n2\r?\n3\r?\n4\r?\n5}
289
313
  end
290
314
  @gw.enable_batch('ids.csv')
315
+ WebMock.reset!
291
316
  end
292
317
 
293
318
  it 'but file is missing' do
@@ -303,8 +328,11 @@ RSpec.describe MrMurano::Gateway::Device do
303
328
  saved = $stderr
304
329
  $stderr = StringIO.new
305
330
  @gw.enable_batch('ids.csv')
306
- expect($stderr.string).to eq(%(\e[31mRequest Failed: 400: CSV file format invalid\e[0m\n))
331
+ expect($stderr.string).to eq(
332
+ %(\e[31mRequest Failed: 400: CSV file format invalid\e[0m\n)
333
+ )
307
334
  $stderr = saved
335
+ WebMock.reset!
308
336
  end
309
337
 
310
338
  it 'but file is missing header' do
@@ -318,8 +346,11 @@ RSpec.describe MrMurano::Gateway::Device do
318
346
  saved = $stderr
319
347
  $stderr = StringIO.new
320
348
  @gw.enable_batch('ids.csv')
321
- expect($stderr.string).to eq(%(\e[31mRequest Failed: 400: CSV file format invalid\e[0m\n))
349
+ expect($stderr.string).to eq(
350
+ %(\e[31mRequest Failed: 400: CSV file format invalid\e[0m\n)
351
+ )
322
352
  $stderr = saved
353
+ WebMock.reset!
323
354
  end
324
355
  end
325
356
 
@@ -332,6 +363,8 @@ RSpec.describe MrMurano::Gateway::Device do
332
363
 
333
364
  ret = @gw.read(56)
334
365
  expect(ret).to eq(body)
366
+
367
+ WebMock.reset!
335
368
  end
336
369
 
337
370
  context 'writes state' do
@@ -343,6 +376,8 @@ RSpec.describe MrMurano::Gateway::Device do
343
376
  ).with(body: body.to_json)
344
377
 
345
378
  @gw.write(56, bob: 'fuzz')
379
+
380
+ WebMock.reset!
346
381
  end
347
382
 
348
383
  it 'fails' do
@@ -356,8 +391,12 @@ RSpec.describe MrMurano::Gateway::Device do
356
391
  $stderr = StringIO.new
357
392
 
358
393
  @gw.write(56, bob: 'fuzz')
359
- expect($stderr.string).to eq("\e[31mRequest Failed: 400: Value is not settable\e[0m\n")
394
+ expect($stderr.string).to eq(
395
+ "\e[31mRequest Failed: 400: Value is not settable\e[0m\n"
396
+ )
360
397
  $stderr = saved
398
+
399
+ WebMock.reset!
361
400
  end
362
401
  end
363
402
  end
@@ -17,8 +17,8 @@ require 'HttpAuthed_spec'
17
17
 
18
18
  RSpec.describe MrMurano::Gateway::Resources do
19
19
  include_context 'WORKSPACE'
20
+
20
21
  before(:example) do
21
- MrMurano::SyncRoot.instance.reset
22
22
  $cfg = MrMurano::Config.new
23
23
  $cfg.load
24
24
  $cfg['net.host'] = 'bizapi.hosted.exosite.io'
@@ -15,8 +15,8 @@ require 'HttpAuthed_spec'
15
15
 
16
16
  RSpec.describe MrMurano::Gateway::Settings do
17
17
  include_context 'WORKSPACE'
18
+
18
19
  before(:example) do
19
- MrMurano::SyncRoot.instance.reset
20
20
  $cfg = MrMurano::Config.new
21
21
  $cfg.load
22
22
  $cfg['net.host'] = 'bizapi.hosted.exosite.io'
@@ -14,6 +14,10 @@ require 'MrMurano/HttpAuthed'
14
14
  # MuranoCLI/spec/HttpAuthed_spec.rb:10: warning: previous definition of
15
15
  # stub_request_email_password_from_cfg was here
16
16
 
17
+ unless defined? LEGIT_LOOKING_TOKEN
18
+ LEGIT_LOOKING_TOKEN = '0123456789ABCDEF0123456789ABCDEF01234567'
19
+ end
20
+
17
21
  unless defined? stub_request_email_password_from_cfg
18
22
  def stub_request_email_password_from_cfg
19
23
  stub_request(
@@ -26,7 +30,7 @@ unless defined? stub_request_email_password_from_cfg
26
30
  }.to_json
27
31
  ).to_return(
28
32
  status: 200,
29
- body: { token: 'TTTTTTTTTT' }.to_json,
33
+ body: { token: LEGIT_LOOKING_TOKEN }.to_json,
30
34
  headers: {}
31
35
  )
32
36
  end
@@ -44,7 +48,7 @@ unless defined? stub_request_email_password_from_bob
44
48
  }.to_json
45
49
  ).to_return(
46
50
  status: 200,
47
- body: { token: 'TTTTTTTTTT' }.to_json,
51
+ body: { token: LEGIT_LOOKING_TOKEN }.to_json,
48
52
  headers: {}
49
53
  )
50
54
  end
@@ -54,7 +58,7 @@ unless defined? stub_request_token_verification
54
58
  def stub_request_token_verification
55
59
  stub_request(
56
60
  :get,
57
- "#{$cfg['net.protocol']}://#{$cfg['net.host']}/api:1/token/TTTTTTTTTT"
61
+ "#{$cfg['net.protocol']}://#{$cfg['net.host']}/api:1/token/#{LEGIT_LOOKING_TOKEN}"
58
62
  ).to_return(
59
63
  status: 200,
60
64
  body: {}.to_json,
@@ -71,3 +75,13 @@ unless defined? stub_request_email_password
71
75
  end
72
76
  end
73
77
 
78
+ unless defined? create_instance_double_passwords
79
+ def create_instance_double_passwords
80
+ pswd = instance_double('MrMurano::Passwords')
81
+ allow(pswd).to receive(:load).and_return(nil)
82
+ allow(pswd).to receive(:save).and_return(nil)
83
+ allow(MrMurano::Passwords).to receive(:new).and_return(pswd)
84
+ pswd
85
+ end
86
+ end
87
+
@@ -5,9 +5,7 @@
5
5
  # vim:tw=0:ts=2:sw=2:et:ai
6
6
  # Unauthorized copying of this file is strictly prohibited.
7
7
 
8
- #require 'erb'
9
8
  require 'fileutils'
10
- #require 'tempfile'
11
9
  require 'MrMurano/version'
12
10
  require 'MrMurano/Config'
13
11
  require 'MrMurano/ProjectFile'
@@ -32,7 +30,9 @@ RSpec.describe MrMurano::ProjectFile do
32
30
  it 'Info' do
33
31
  expect(@pjf.get('info.name')).to eq('project')
34
32
  expect(@pjf.get('info.summary')).to eq('One line summary of project')
35
- expect(@pjf.get('info.description')).to eq("In depth description of project\n\nWith lots of details.")
33
+ expect(@pjf.get('info.description')).to eq(
34
+ "In depth description of project\n\nWith lots of details."
35
+ )
36
36
  expect(@pjf.get('info.authors')).to eq(['bob@builder.co'])
37
37
  expect(@pjf.get('info.version')).to eq('1.0.0')
38
38
  end
@@ -40,55 +40,85 @@ RSpec.describe MrMurano::ProjectFile do
40
40
  it 'Assets' do
41
41
  # Because defaults before load() are all nil, the default_value_for method
42
42
  # is called.
43
- expect(@pjf).to receive(:default_value_for).with('assets.location').and_return('here')
44
- expect(@pjf.get('assets.location')).to eq('here')
45
-
46
- expect(@pjf).to receive(:default_value_for).with('assets.include').and_return(['here'])
47
- expect(@pjf.get('assets.include')).to eq(['here'])
48
-
49
- expect(@pjf).to receive(:default_value_for).with('assets.exclude').and_return(['here'])
43
+ expect(@pjf).to receive(
44
+ :default_value_for
45
+ ).with('assets.location').and_return('here')
46
+ expect(@pjf.get(
47
+ 'assets.location'
48
+ )).to eq('here')
49
+
50
+ expect(@pjf).to receive(
51
+ :default_value_for
52
+ ).with('assets.include').and_return(['here'])
53
+ expect(@pjf.get(
54
+ 'assets.include'
55
+ )).to eq(['here'])
56
+
57
+ expect(@pjf).to receive(
58
+ :default_value_for
59
+ ).with('assets.exclude').and_return(['here'])
50
60
  expect(@pjf.get('assets.exclude')).to eq(['here'])
51
61
 
52
- expect(@pjf).to receive(:default_value_for).with('assets.default_page').and_return('here')
62
+ expect(@pjf).to receive(
63
+ :default_value_for
64
+ ).with('assets.default_page').and_return('here')
53
65
  expect(@pjf.get('assets.default_page')).to eq('here')
54
66
  end
55
67
 
56
68
  it 'Modules' do
57
69
  # Because defaults before load() are all nil, the default_value_for method
58
70
  # is called.
59
- expect(@pjf).to receive(:default_value_for).with('modules.location').and_return('here')
71
+ expect(@pjf).to receive(
72
+ :default_value_for
73
+ ).with('modules.location').and_return('here')
60
74
  expect(@pjf.get('modules.location')).to eq('here')
61
75
 
62
- expect(@pjf).to receive(:default_value_for).with('modules.include').and_return(['here'])
76
+ expect(@pjf).to receive(
77
+ :default_value_for
78
+ ).with('modules.include').and_return(['here'])
63
79
  expect(@pjf.get('modules.include')).to eq(['here'])
64
80
 
65
- expect(@pjf).to receive(:default_value_for).with('modules.exclude').and_return(['here'])
81
+ expect(@pjf).to receive(
82
+ :default_value_for
83
+ ).with('modules.exclude').and_return(['here'])
66
84
  expect(@pjf.get('modules.exclude')).to eq(['here'])
67
85
  end
68
86
 
69
87
  it 'Routes' do
70
88
  # Because defaults before load() are all nil, the default_value_for method
71
89
  # is called.
72
- expect(@pjf).to receive(:default_value_for).with('routes.location').and_return('here')
90
+ expect(@pjf).to receive(
91
+ :default_value_for
92
+ ).with('routes.location').and_return('here')
73
93
  expect(@pjf.get('routes.location')).to eq('here')
74
94
 
75
- expect(@pjf).to receive(:default_value_for).with('routes.include').and_return(['here'])
95
+ expect(@pjf).to receive(
96
+ :default_value_for
97
+ ).with('routes.include').and_return(['here'])
76
98
  expect(@pjf.get('routes.include')).to eq(['here'])
77
99
 
78
- expect(@pjf).to receive(:default_value_for).with('routes.exclude').and_return(['here'])
100
+ expect(@pjf).to receive(
101
+ :default_value_for
102
+ ).with('routes.exclude').and_return(['here'])
79
103
  expect(@pjf.get('routes.exclude')).to eq(['here'])
80
104
  end
81
105
 
82
106
  it 'Services' do
83
107
  # Because defaults before load() are all nil, the default_value_for method
84
108
  # is called.
85
- expect(@pjf).to receive(:default_value_for).with('services.location').and_return('here')
109
+ expect(@pjf).to receive(
110
+ :default_value_for
111
+ ).with('services.location').and_return('here')
86
112
  expect(@pjf.get('services.location')).to eq('here')
87
113
 
88
- expect(@pjf).to receive(:default_value_for).with('services.include').and_return(['here'])
114
+ expect(@pjf).to receive(
115
+ :default_value_for
116
+ ).with('services.include').and_return(['here'])
89
117
  expect(@pjf.get('services.include')).to eq(['here'])
90
118
 
91
- expect(@pjf).to receive(:default_value_for).with('services.exclude').and_return(['here'])
119
+ expect(@pjf).to receive(
120
+ :default_value_for
121
+ ).with('services.exclude').and_return(['here'])
92
122
  expect(@pjf.get('services.exclude')).to eq(['here'])
93
123
  end
94
124
  end
@@ -135,8 +165,12 @@ RSpec.describe MrMurano::ProjectFile do
135
165
  expect($cfg).to receive(:get).with('endpoints.searchFor').and_return('beef')
136
166
  expect(@pjf.default_value_for('routes.include')).to eq(['beef'])
137
167
 
138
- expect($cfg).to receive(:get).with('endpoints.searchFor').and_return('beef and potatoes')
139
- expect(@pjf.default_value_for('routes.include')).to eq(%w[beef and potatoes])
168
+ expect($cfg).to receive(:get).with(
169
+ 'endpoints.searchFor'
170
+ ).and_return('beef and potatoes')
171
+ expect(@pjf.default_value_for(
172
+ 'routes.include'
173
+ )).to eq(%w[beef and potatoes])
140
174
  end
141
175
  end
142
176
  end
@@ -161,7 +195,9 @@ RSpec.describe MrMurano::ProjectFile do
161
195
  end
162
196
 
163
197
  it 'fails back to $cfg' do
164
- expect(@pjf).to receive(:default_value_for).with('routes.include').and_return(['here'])
198
+ expect(@pjf).to receive(
199
+ :default_value_for
200
+ ).with('routes.include').and_return(['here'])
165
201
  expect(@pjf.get('routes.include')).to eq(['here'])
166
202
  end
167
203
  end
data/spec/Setting_spec.rb CHANGED
@@ -26,14 +26,15 @@ module ::MrMurano
26
26
  end
27
27
  end
28
28
  end
29
+
29
30
  module Testsettwo
30
31
  end
31
32
  end
32
33
 
33
34
  RSpec.describe MrMurano::Setting do
34
35
  include_context 'WORKSPACE'
36
+
35
37
  before(:example) do
36
- MrMurano::SyncRoot.instance.reset
37
38
  $cfg = MrMurano::Config.new
38
39
  $cfg.load
39
40
  $cfg['net.host'] = 'bizapi.hosted.exosite.io'