cf_script 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +5 -6
  3. data/CHANGELOG.md +11 -0
  4. data/README.md +9 -7
  5. data/lib/cf_script/command/base.rb +8 -4
  6. data/lib/cf_script/command/cf/apps.rb +4 -0
  7. data/lib/cf_script/command/cf/apps/restart_app_instance.rb +20 -0
  8. data/lib/cf_script/command/cf/apps/scale.rb +39 -0
  9. data/lib/cf_script/command/cf/routes/check_route.rb +1 -1
  10. data/lib/cf_script/command/cf/spaces/space.rb +1 -1
  11. data/lib/cf_script/command/registry.rb +1 -1
  12. data/lib/cf_script/command/runner.rb +6 -4
  13. data/lib/cf_script/executor/simple.rb +1 -1
  14. data/lib/cf_script/object/app_info.rb +8 -8
  15. data/lib/cf_script/output/buffer.rb +1 -1
  16. data/lib/cf_script/output/parser/attributes.rb +1 -1
  17. data/lib/cf_script/output/tests.rb +6 -6
  18. data/lib/cf_script/scope/app/state.rb +12 -0
  19. data/lib/cf_script/scope/script.rb +1 -1
  20. data/lib/cf_script/version.rb +1 -1
  21. data/test/fixtures/commands/apps/restart_app_instance/good.yml +8 -0
  22. data/test/fixtures/commands/apps/restart_app_instance/not_found.yml +8 -0
  23. data/test/fixtures/commands/apps/scale/good.yml +8 -0
  24. data/test/lib/cf_script/command/base_test.rb +127 -2
  25. data/test/lib/cf_script/command/cf/apps/app_test.rb +2 -2
  26. data/test/lib/cf_script/command/cf/apps/delete_test.rb +1 -1
  27. data/test/lib/cf_script/command/cf/apps/push_test.rb +1 -1
  28. data/test/lib/cf_script/command/cf/apps/rename_test.rb +2 -2
  29. data/test/lib/cf_script/command/cf/apps/restage_test.rb +2 -2
  30. data/test/lib/cf_script/command/cf/apps/restart_app_instance_test.rb +41 -0
  31. data/test/lib/cf_script/command/cf/apps/restart_test.rb +2 -2
  32. data/test/lib/cf_script/command/cf/apps/scale_test.rb +51 -0
  33. data/test/lib/cf_script/command/cf/apps/set_env_test.rb +1 -1
  34. data/test/lib/cf_script/command/cf/apps/start_test.rb +2 -2
  35. data/test/lib/cf_script/command/cf/apps/stop_test.rb +2 -2
  36. data/test/lib/cf_script/command/cf/apps/unset_env_test.rb +1 -1
  37. data/test/lib/cf_script/command/cf/general/api_test.rb +3 -3
  38. data/test/lib/cf_script/command/cf/general/target_test.rb +2 -2
  39. data/test/lib/cf_script/command/cf/routes/map_route_test.rb +6 -6
  40. data/test/lib/cf_script/command/cf/routes/routes_test.rb +1 -1
  41. data/test/lib/cf_script/command/cf/spaces/space_test.rb +1 -1
  42. data/test/lib/cf_script/command/cf/spaces/spaces_test.rb +1 -1
  43. data/test/lib/cf_script/command/line_test.rb +16 -8
  44. data/test/lib/cf_script/command/registry_test.rb +53 -0
  45. data/test/lib/cf_script/object/api_endpoint_test.rb +2 -2
  46. data/test/lib/cf_script/object/app_info_test.rb +13 -13
  47. data/test/lib/cf_script/object/instance_status_test.rb +7 -7
  48. data/test/lib/cf_script/object/space_test.rb +1 -1
  49. data/test/lib/cf_script/object/target_test.rb +1 -1
  50. data/test/lib/cf_script/output/buffer_test.rb +1 -1
  51. data/test/lib/cf_script/output/parser/section_test.rb +1 -1
  52. data/test/lib/cf_script/output/parser/table_test.rb +1 -1
  53. data/test/lib/cf_script/scope/app/state_test.rb +34 -0
  54. data/test/lib/cf_script/scope/app_test.rb +5 -1
  55. data/test/lib/cf_script/ui_test.rb +3 -3
  56. data/test/support/helpers/object_helpers.rb +4 -4
  57. data/test/support/shared_examples/command_object.rb +17 -3
  58. metadata +14 -3
@@ -42,15 +42,15 @@ describe CfScript::AppInfo do
42
42
  info = CfScript::AppInfo.new('name', empty_attrs)
43
43
 
44
44
  assert_equal 'name', info.name
45
- assert_equal nil, info.requested_state
46
- assert_equal nil, info.instances
45
+ assert_nil info.requested_state
46
+ assert_nil info.instances
47
47
  assert_equal [], info.urls
48
- assert_equal nil, info.usage
49
- assert_equal nil, info.last_uploaded
50
- assert_equal nil, info.stack
51
- assert_equal nil, info.buildpack
52
- assert_equal nil, info.memory
53
- assert_equal nil, info.disk
48
+ assert_nil info.usage
49
+ assert_nil info.last_uploaded
50
+ assert_nil info.stack
51
+ assert_nil info.buildpack
52
+ assert_nil info.memory
53
+ assert_nil info.disk
54
54
  end
55
55
 
56
56
  it "sets apps command attributes when given" do
@@ -62,10 +62,10 @@ describe CfScript::AppInfo do
62
62
  assert_equal 2, info.urls.length
63
63
  assert_equal 'projects.example.com', info.urls.first
64
64
  assert_equal 'projects.example.io', info.urls.last
65
- assert_equal nil, info.usage
66
- assert_equal nil, info.last_uploaded
67
- assert_equal nil, info.stack
68
- assert_equal nil, info.buildpack
65
+ assert_nil info.usage
66
+ assert_nil info.last_uploaded
67
+ assert_nil info.stack
68
+ assert_nil info.buildpack
69
69
  assert_equal '1G', info.memory
70
70
  assert_equal '2G', info.disk
71
71
  end
@@ -84,7 +84,7 @@ describe CfScript::AppInfo do
84
84
  assert_equal 'cflinuxfs2', info.stack
85
85
  assert_equal buildpack, info.buildpack
86
86
  assert_equal '1G', info.memory # Extracted from usage
87
- assert_equal nil, info.disk
87
+ assert_nil info.disk
88
88
  end
89
89
 
90
90
  it "defines state method that return value of requested_state" do
@@ -12,13 +12,13 @@ describe CfScript::InstanceStatus do
12
12
  it "initializes all attributes to sensible defaults" do
13
13
  status = CfScript::InstanceStatus.new
14
14
 
15
- assert_equal nil, status.index
16
- assert_equal nil, status.state
17
- assert_equal nil, status.since
18
- assert_equal nil, status.cpu
19
- assert_equal nil, status.memory
20
- assert_equal nil, status.disk
21
- assert_equal nil, status.details
15
+ assert_nil status.index
16
+ assert_nil status.state
17
+ assert_nil status.since
18
+ assert_nil status.cpu
19
+ assert_nil status.memory
20
+ assert_nil status.disk
21
+ assert_nil status.details
22
22
  end
23
23
 
24
24
  it "initializes given attributes" do
@@ -8,7 +8,7 @@ describe CfScript::Space do
8
8
 
9
9
  assert_equal 'outer-space', space.name
10
10
 
11
- assert_equal nil, space.org
11
+ assert_nil space.org
12
12
 
13
13
  assert_equal [], space.apps
14
14
  assert_equal [], space.domains
@@ -9,7 +9,7 @@ describe CfScript::Target do
9
9
  assert_equal '', target.api_endpoint
10
10
  assert_equal '', target.org
11
11
  assert_equal '', target.space
12
- assert_equal nil, target.user
12
+ assert_nil target.user
13
13
  end
14
14
 
15
15
  describe "to_options" do
@@ -53,7 +53,7 @@ describe CfScript::Output::Buffer do
53
53
 
54
54
  it "responds to match and returns MatchData object" do
55
55
  assert_instance_of MatchData, buffer.match(/2/)
56
- assert_equal nil, buffer.match(/4/)
56
+ assert_nil buffer.match(/4/)
57
57
  end
58
58
 
59
59
  it "responds to matches? and returns true or false" do
@@ -56,7 +56,7 @@ describe CfScript::Output::Parser::Section do
56
56
  it "returns nil if the section title is not found" do
57
57
  list = parser.parse_section_attributes(text_buffer, 'NOPE')
58
58
 
59
- assert_equal nil, list
59
+ assert_nil list
60
60
  end
61
61
  end
62
62
  end
@@ -102,7 +102,7 @@ describe CfScript::Output::Parser::Table do
102
102
  it "returns nil of nothing matched" do
103
103
  rows = parser.parse_table(text_buffer, ['foo'])
104
104
 
105
- assert_equal nil, rows
105
+ assert_nil rows
106
106
  end
107
107
  end
108
108
  end
@@ -88,4 +88,38 @@ describe CfScript::Scope::App::State do
88
88
  assert_equal :called, app.restage
89
89
  end
90
90
  end
91
+
92
+ it "defines a scale method that calls Command.scale with the app name and options" do
93
+ app = create_app(:api)
94
+
95
+ arg_catcher = lambda do |command, *args, &block|
96
+ assert_equal :scale, command
97
+ assert_equal [:api, { i: 4, k: '256M', m: '128M' }], args
98
+
99
+ return :called
100
+ end
101
+
102
+ app.stub :cf_self, true do
103
+ CfScript::Command.stub :run, arg_catcher do
104
+ assert_equal :called, app.scale(i: 4, k: '256M', m: '128M')
105
+ end
106
+ end
107
+ end
108
+
109
+ it "defines a restart_instance method that calls Command.restart_app_instance with the app name and an instance index" do
110
+ app = create_app(:api)
111
+
112
+ arg_catcher = lambda do |command, *args, &block|
113
+ assert_equal :restart_app_instance, command
114
+ assert_equal [:api, 0], args
115
+
116
+ return :called
117
+ end
118
+
119
+ app.stub :cf_self, true do
120
+ CfScript::Command.stub :run, arg_catcher do
121
+ assert_equal :called, app.restart_instance(0)
122
+ end
123
+ end
124
+ end
91
125
  end
@@ -36,7 +36,7 @@ describe CfScript::Scope::App do
36
36
  it "raises if initialized with anything other than a name or AppInfo" do
37
37
  assert_raises(RuntimeError) {
38
38
  fake_cf do
39
- app = CfScript::Scope::App.new([], target)
39
+ CfScript::Scope::App.new([], target)
40
40
  end
41
41
  }
42
42
  end
@@ -79,7 +79,11 @@ describe CfScript::Scope::App do
79
79
  it "includes the App::State module" do
80
80
  assert_respond_to subject, :start
81
81
  assert_respond_to subject, :stop
82
+ assert_respond_to subject, :restart
82
83
  assert_respond_to subject, :push
84
+ assert_respond_to subject, :restage
85
+ assert_respond_to subject, :scale
86
+ assert_respond_to subject, :restart_instance
83
87
  end
84
88
 
85
89
  it "includes the App::Env module" do
@@ -84,7 +84,7 @@ describe CfScript::UI do
84
84
  with_config do
85
85
  emoji = subject.emoji_for(:success)
86
86
 
87
- assert_equal nil, emoji
87
+ assert_nil emoji
88
88
  end
89
89
  end
90
90
 
@@ -102,7 +102,7 @@ describe CfScript::UI do
102
102
  with_config tags: false do
103
103
  tag = subject.tag_format('foo', :trace)
104
104
 
105
- assert_equal nil, tag
105
+ assert_nil tag
106
106
  end
107
107
  end
108
108
 
@@ -110,7 +110,7 @@ describe CfScript::UI do
110
110
  with_config tags: true do
111
111
  tag = subject.tag_format(nil, :trace)
112
112
 
113
- assert_equal nil, tag
113
+ assert_nil tag
114
114
  end
115
115
  end
116
116
 
@@ -10,13 +10,13 @@ module ObjectHelpers
10
10
  end
11
11
 
12
12
  def build_instance_status_attrs(options = {})
13
- attrs = build_attribute_list({
13
+ build_attribute_list({
14
14
  index: '0',
15
15
  state: '1',
16
16
  since: '2',
17
- cpu: '3',
17
+ cpu: '3',
18
18
  memory: '4',
19
- disk: '5',
19
+ disk: '5',
20
20
  details: '6'
21
21
  }.merge(options))
22
22
  end
@@ -24,6 +24,6 @@ module ObjectHelpers
24
24
  def build_instance_status(options = {})
25
25
  attrs = build_instance_status_attrs(options)
26
26
 
27
- CfScript::InstanceStatus.new(attrs)
27
+ CfScript::InstanceStatus.new(attrs)
28
28
  end
29
29
  end
@@ -14,7 +14,11 @@ shared_examples_for 'a command object that' do |attrs|
14
14
  fake_cf attrs[:has_name] => :fail do
15
15
  args = fake_command_args(command)
16
16
 
17
- assert_equal attrs[:fails_with], command.run(*args)
17
+ if attrs[:fails_with].nil?
18
+ assert_nil command.run(*args)
19
+ else
20
+ assert_equal attrs[:fails_with], command.run(*args)
21
+ end
18
22
  end
19
23
  end
20
24
 
@@ -22,7 +26,12 @@ shared_examples_for 'a command object that' do |attrs|
22
26
  fake_cf attrs[:has_name] => :no_endpoint do |stdout, stderr|
23
27
  args = fake_command_args(command)
24
28
 
25
- assert_equal attrs[:fails_with], command.run(*args)
29
+ if attrs[:fails_with].nil?
30
+ assert_nil command.run(*args)
31
+ else
32
+ assert_equal attrs[:fails_with], command.run(*args)
33
+ end
34
+
26
35
  assert_includes stderr.lines, "{#{attrs[:has_name]}} No API endpoint set\n"
27
36
  end
28
37
  end
@@ -31,7 +40,12 @@ shared_examples_for 'a command object that' do |attrs|
31
40
  fake_cf attrs[:has_name] => :no_login do |stdout, stderr|
32
41
  args = fake_command_args(command)
33
42
 
34
- assert_equal attrs[:fails_with], command.run(*args)
43
+ if attrs[:fails_with].nil?
44
+ assert_nil command.run(*args)
45
+ else
46
+ assert_equal attrs[:fails_with], command.run(*args)
47
+ end
48
+
35
49
  assert_includes stderr.lines, "{#{attrs[:has_name]}} Not logged in\n"
36
50
  end
37
51
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cf_script
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ammar Ali
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-17 00:00:00.000000000 Z
11
+ date: 2017-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -51,6 +51,8 @@ files:
51
51
  - lib/cf_script/command/cf/apps/rename.rb
52
52
  - lib/cf_script/command/cf/apps/restage.rb
53
53
  - lib/cf_script/command/cf/apps/restart.rb
54
+ - lib/cf_script/command/cf/apps/restart_app_instance.rb
55
+ - lib/cf_script/command/cf/apps/scale.rb
54
56
  - lib/cf_script/command/cf/apps/set_env.rb
55
57
  - lib/cf_script/command/cf/apps/start.rb
56
58
  - lib/cf_script/command/cf/apps/stop.rb
@@ -127,6 +129,9 @@ files:
127
129
  - test/fixtures/commands/apps/restage/not_found.yml
128
130
  - test/fixtures/commands/apps/restart/good.yml
129
131
  - test/fixtures/commands/apps/restart/not_found.yml
132
+ - test/fixtures/commands/apps/restart_app_instance/good.yml
133
+ - test/fixtures/commands/apps/restart_app_instance/not_found.yml
134
+ - test/fixtures/commands/apps/scale/good.yml
130
135
  - test/fixtures/commands/apps/set_env/good.yml
131
136
  - test/fixtures/commands/apps/set_env/not_found.yml
132
137
  - test/fixtures/commands/apps/start/good.yml
@@ -184,7 +189,9 @@ files:
184
189
  - test/lib/cf_script/command/cf/apps/push_test.rb
185
190
  - test/lib/cf_script/command/cf/apps/rename_test.rb
186
191
  - test/lib/cf_script/command/cf/apps/restage_test.rb
192
+ - test/lib/cf_script/command/cf/apps/restart_app_instance_test.rb
187
193
  - test/lib/cf_script/command/cf/apps/restart_test.rb
194
+ - test/lib/cf_script/command/cf/apps/scale_test.rb
188
195
  - test/lib/cf_script/command/cf/apps/set_env_test.rb
189
196
  - test/lib/cf_script/command/cf/apps/start_test.rb
190
197
  - test/lib/cf_script/command/cf/apps/stop_test.rb
@@ -203,6 +210,7 @@ files:
203
210
  - test/lib/cf_script/command/cf/spaces/space_test.rb
204
211
  - test/lib/cf_script/command/cf/spaces/spaces_test.rb
205
212
  - test/lib/cf_script/command/line_test.rb
213
+ - test/lib/cf_script/command/registry_test.rb
206
214
  - test/lib/cf_script/object/api_endpoint_test.rb
207
215
  - test/lib/cf_script/object/app_info_test.rb
208
216
  - test/lib/cf_script/object/app_list_test.rb
@@ -261,7 +269,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
261
269
  version: '0'
262
270
  requirements: []
263
271
  rubyforge_project:
264
- rubygems_version: 2.5.1
272
+ rubygems_version: 2.6.8
265
273
  signing_key:
266
274
  specification_version: 4
267
275
  summary: A DSL for scripting the Cloud Foundry CLI
@@ -274,7 +282,9 @@ test_files:
274
282
  - test/lib/cf_script/command/cf/apps/push_test.rb
275
283
  - test/lib/cf_script/command/cf/apps/rename_test.rb
276
284
  - test/lib/cf_script/command/cf/apps/restage_test.rb
285
+ - test/lib/cf_script/command/cf/apps/restart_app_instance_test.rb
277
286
  - test/lib/cf_script/command/cf/apps/restart_test.rb
287
+ - test/lib/cf_script/command/cf/apps/scale_test.rb
278
288
  - test/lib/cf_script/command/cf/apps/set_env_test.rb
279
289
  - test/lib/cf_script/command/cf/apps/start_test.rb
280
290
  - test/lib/cf_script/command/cf/apps/stop_test.rb
@@ -293,6 +303,7 @@ test_files:
293
303
  - test/lib/cf_script/command/cf/spaces/space_test.rb
294
304
  - test/lib/cf_script/command/cf/spaces/spaces_test.rb
295
305
  - test/lib/cf_script/command/line_test.rb
306
+ - test/lib/cf_script/command/registry_test.rb
296
307
  - test/lib/cf_script/object/api_endpoint_test.rb
297
308
  - test/lib/cf_script/object/app_info_test.rb
298
309
  - test/lib/cf_script/object/app_list_test.rb