cf_script 0.0.1.beta.1 → 0.0.1

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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +18 -0
  3. data/README.md +182 -34
  4. data/Rakefile +0 -13
  5. data/lib/cf_script/command/base.rb +1 -1
  6. data/lib/cf_script/command/cf/apps/app.rb +1 -1
  7. data/lib/cf_script/command/cf/apps/apps.rb +5 -3
  8. data/lib/cf_script/command/cf/apps/delete.rb +25 -0
  9. data/lib/cf_script/command/cf/apps/env.rb +4 -2
  10. data/lib/cf_script/command/cf/apps/push.rb +7 -2
  11. data/lib/cf_script/command/cf/apps/rename.rb +20 -0
  12. data/lib/cf_script/command/cf/apps/restage.rb +1 -1
  13. data/lib/cf_script/command/cf/apps/restart.rb +1 -1
  14. data/lib/cf_script/command/cf/apps/set_env.rb +1 -1
  15. data/lib/cf_script/command/cf/apps/start.rb +1 -1
  16. data/lib/cf_script/command/cf/apps/stop.rb +3 -2
  17. data/lib/cf_script/command/cf/apps/unset_env.rb +1 -1
  18. data/lib/cf_script/command/cf/apps.rb +5 -1
  19. data/lib/cf_script/command/cf/general/api.rb +1 -1
  20. data/lib/cf_script/command/cf/general/auth.rb +1 -1
  21. data/lib/cf_script/command/cf/general/login.rb +1 -1
  22. data/lib/cf_script/command/cf/general/logout.rb +1 -1
  23. data/lib/cf_script/command/cf/general/target.rb +1 -1
  24. data/lib/cf_script/command/cf/routes/check_route.rb +1 -1
  25. data/lib/cf_script/command/cf/routes/create_route.rb +1 -1
  26. data/lib/cf_script/command/cf/routes/delete_route.rb +5 -2
  27. data/lib/cf_script/command/cf/routes/map_route.rb +1 -1
  28. data/lib/cf_script/command/cf/routes/routes.rb +1 -1
  29. data/lib/cf_script/command/cf/routes/unmap_route.rb +1 -1
  30. data/lib/cf_script/command/cf/spaces/space.rb +1 -1
  31. data/lib/cf_script/command/cf/spaces/spaces.rb +1 -1
  32. data/lib/cf_script/command/runner.rb +1 -15
  33. data/lib/cf_script/config.rb +3 -1
  34. data/lib/cf_script/executor/recorder.rb +3 -1
  35. data/lib/cf_script/executor/simple.rb +22 -9
  36. data/lib/cf_script/executor.rb +0 -1
  37. data/lib/cf_script/object/api_endpoint.rb +1 -1
  38. data/lib/cf_script/object/app_info.rb +1 -1
  39. data/lib/cf_script/object/app_list.rb +21 -5
  40. data/lib/cf_script/object/attribute.rb +1 -1
  41. data/lib/cf_script/object/attribute_list.rb +1 -1
  42. data/lib/cf_script/object/instance_status.rb +1 -1
  43. data/lib/cf_script/object/route_info.rb +1 -1
  44. data/lib/cf_script/object/space.rb +1 -1
  45. data/lib/cf_script/object/target.rb +1 -1
  46. data/lib/cf_script/object.rb +0 -11
  47. data/lib/cf_script/output/buffer.rb +1 -1
  48. data/lib/cf_script/scope/app/routes.rb +1 -1
  49. data/lib/cf_script/scope/app.rb +0 -26
  50. data/lib/cf_script/scope/target.rb +7 -1
  51. data/lib/cf_script/ui.rb +2 -6
  52. data/lib/cf_script/version.rb +1 -1
  53. data/lib/cf_script.rb +0 -2
  54. data/test/fixtures/commands/apps/delete/good.yml +8 -0
  55. data/test/fixtures/commands/apps/delete/not_exist.yml +9 -0
  56. data/test/fixtures/commands/apps/env/{empty.yml → empty_vars.yml} +0 -0
  57. data/test/fixtures/commands/apps/rename/good.yml +8 -0
  58. data/test/fixtures/commands/apps/rename/not_found.yml +8 -0
  59. data/test/fixtures/commands/{apps/set_env → common}/empty.yml +0 -0
  60. data/test/lib/cf_script/command/cf/apps/app_test.rb +8 -0
  61. data/test/lib/cf_script/command/cf/apps/apps_test.rb +12 -3
  62. data/test/lib/cf_script/command/cf/apps/delete_test.rb +51 -0
  63. data/test/lib/cf_script/command/cf/apps/env_test.rb +12 -2
  64. data/test/lib/cf_script/command/cf/apps/push_test.rb +14 -0
  65. data/test/lib/cf_script/command/cf/apps/rename_test.rb +35 -0
  66. data/test/lib/cf_script/command/cf/apps/restage_test.rb +8 -0
  67. data/test/lib/cf_script/command/cf/apps/restart_test.rb +8 -0
  68. data/test/lib/cf_script/command/cf/apps/start_test.rb +8 -0
  69. data/test/lib/cf_script/command/cf/apps/stop_test.rb +2 -2
  70. data/test/lib/cf_script/command/cf/general/login_test.rb +9 -10
  71. data/test/lib/cf_script/command/cf/routes/create_route_test.rb +12 -0
  72. data/test/lib/cf_script/command/cf/routes/delete_route_test.rb +18 -0
  73. data/test/lib/cf_script/command/cf/routes/map_route_test.rb +12 -0
  74. data/test/lib/cf_script/command/cf/routes/routes_test.rb +8 -0
  75. data/test/lib/cf_script/command/cf/routes/unmap_route_test.rb +12 -0
  76. data/test/lib/cf_script/object/app_info_test.rb +4 -4
  77. data/test/lib/cf_script/object/app_list_test.rb +68 -2
  78. data/test/lib/cf_script/output/buffer_test.rb +9 -9
  79. data/test/lib/cf_script/output/parser/section_test.rb +4 -2
  80. data/test/lib/cf_script/output/tests_test.rb +24 -24
  81. data/test/lib/cf_script/output_test.rb +23 -18
  82. data/test/lib/cf_script/scope/app/env_test.rb +58 -0
  83. data/test/lib/cf_script/scope/app/routes_test.rb +56 -0
  84. data/test/lib/cf_script/scope/app/state_test.rb +30 -0
  85. data/test/lib/cf_script/scope/script_test.rb +3 -2
  86. data/test/lib/cf_script/scope/target_test.rb +38 -23
  87. data/test/lib/cf_script/scope_test.rb +10 -6
  88. data/test/lib/cf_script/ui_test.rb +133 -0
  89. data/test/lib/cf_script_test.rb +14 -8
  90. data/test/support/assertions.rb +25 -0
  91. data/test/support/helpers/fixture_executor.rb +1 -1
  92. data/test/support/helpers/mock_execution.rb +29 -7
  93. metadata +23 -14
  94. data/lib/cf_script/callbacks.rb +0 -43
  95. data/lib/cf_script/executor/non_blocking.rb +0 -107
  96. data/lib/cf_script/object/app_spec.rb +0 -55
  97. data/test/fixtures/commands/apps/unset_env/empty.yml +0 -5
  98. data/test/fixtures/commands/general/auth/empty.yml +0 -5
  99. data/test/fixtures/commands/general/target/empty.yml +0 -5
  100. data/test/fixtures/commands/spaces/space/empty.yml +0 -5
  101. data/test/fixtures/commands/spaces/spaces/empty.yml +0 -5
@@ -17,8 +17,8 @@ describe CfScript::Scope::Target do
17
17
  initial_target = subject.instance_variable_get('@initial_target')
18
18
  current_target = subject.instance_variable_get('@current_target')
19
19
 
20
- assert initial_target
21
- assert current_target
20
+ assert initial_target, "Expected @initial_target to be set"
21
+ assert current_target, "Expected @current_target to be set"
22
22
 
23
23
  assert_instance_of CfScript::Target, initial_target
24
24
  assert_instance_of CfScript::Target, current_target
@@ -36,6 +36,7 @@ describe CfScript::Scope::Target do
36
36
  assert_equal 'ACME', subject.current_org
37
37
 
38
38
  subject.target(:production)
39
+
39
40
  assert_equal 'production', subject.current_space
40
41
  assert_equal 'ACME', subject.current_org
41
42
  end
@@ -44,10 +45,12 @@ describe CfScript::Scope::Target do
44
45
  it "resets target to initial_target if the space has changed" do
45
46
  fake_cf target: :production do
46
47
  subject.target(:production)
48
+
47
49
  assert_equal 'production', subject.current_space
48
50
  assert_equal 'ACME', subject.current_org
49
51
 
50
52
  subject.finalize
53
+
51
54
  assert_equal 'staging', subject.current_space
52
55
  assert_equal 'ACME', subject.current_org
53
56
  end
@@ -56,17 +59,20 @@ describe CfScript::Scope::Target do
56
59
  it "resets target to initial_target if the org has changed" do
57
60
  fake_cf do
58
61
  subject.target(:staging_org)
62
+
59
63
  assert_equal 'staging', subject.current_space
60
64
  assert_equal 'ORG', subject.current_org
61
65
 
62
66
  subject.finalize
67
+
63
68
  assert_equal 'staging', subject.current_space
64
69
  assert_equal 'ACME', subject.current_org
65
70
  end
66
71
  end
67
72
 
68
73
  it "responds to target without args and calls Command.run" do
69
- assert subject.respond_to?(:target)
74
+ assert subject.respond_to?(:target),
75
+ "Expected Scope::Target to respond to target"
70
76
 
71
77
  CfScript::Command.stub :run, :called do
72
78
  assert_equal :called, subject.target
@@ -74,8 +80,6 @@ describe CfScript::Scope::Target do
74
80
  end
75
81
 
76
82
  it "responds to target with a space name and calls Command.run if not == current" do
77
- assert subject.respond_to?(:target)
78
-
79
83
  assert_equal 'staging', subject.current_space
80
84
 
81
85
  CfScript::Command.stub :run, :called do
@@ -92,7 +96,8 @@ describe CfScript::Scope::Target do
92
96
  end
93
97
 
94
98
  it "responds to space and calls Command.run" do
95
- assert subject.respond_to?(:space)
99
+ assert subject.respond_to?(:space),
100
+ "Expected Scope::Target to respond to space"
96
101
 
97
102
  CfScript::Command.stub :run, :called do
98
103
  assert_equal :called, subject.space(:foo)
@@ -100,8 +105,6 @@ describe CfScript::Scope::Target do
100
105
  end
101
106
 
102
107
  it "responds to space with a block and calls exec_in with a Space scope" do
103
- assert subject.respond_to?(:space)
104
-
105
108
  arg_catcher = lambda do |scope, args, &block|
106
109
  assert_instance_of CfScript::Scope::Space, scope
107
110
  end
@@ -114,7 +117,8 @@ describe CfScript::Scope::Target do
114
117
  end
115
118
 
116
119
  it "responds to app and calls Command.run" do
117
- assert subject.respond_to?(:app)
120
+ assert subject.respond_to?(:app),
121
+ "Expected Scope::Target to respond to app"
118
122
 
119
123
  CfScript::Command.stub :run, :called do
120
124
  assert_equal :called, subject.app(:foo)
@@ -122,8 +126,6 @@ describe CfScript::Scope::Target do
122
126
  end
123
127
 
124
128
  it "responds to app with a block and calls exec_in with an App scope" do
125
- assert subject.respond_to?(:app)
126
-
127
129
  arg_catcher = lambda do |scope, args, &block|
128
130
  assert_instance_of CfScript::Scope::App, scope
129
131
  end
@@ -135,24 +137,37 @@ describe CfScript::Scope::Target do
135
137
  end
136
138
  end
137
139
 
138
- it "responds to apps and calls Command.run" do
139
- assert subject.respond_to?(:apps)
140
+ describe 'apps' do
141
+ it "calls Command.run" do
142
+ assert subject.respond_to?(:apps),
143
+ "Expected Scope::Target to respond to apps"
140
144
 
141
- CfScript::Command.stub :run, :called do
142
- assert_equal :called, subject.apps
145
+ CfScript::Command.stub :run, :called do
146
+ assert_equal :called, subject.apps
147
+ end
143
148
  end
144
- end
145
149
 
146
- it "calls apps.select! when options is not empty" do
147
- assert subject.respond_to?(:apps)
150
+ it "calls apps.select! when options are given" do
151
+ apps = MiniTest::Mock.new
152
+ apps.expect(:org, nil, [])
153
+ apps.expect(:org, nil, [])
154
+ apps.expect(:space, nil, [])
155
+ apps.expect(:space, nil, [])
156
+ apps.expect(:select!, nil, [{ ending_with: :foo }])
148
157
 
149
- apps = MiniTest::Mock.new
150
- apps.expect(:select!, apps, [{ ending_with: :foo }])
158
+ CfScript::Command.stub :run, apps do
159
+ subject.apps(ending_with: :foo)
160
+ end
151
161
 
152
- CfScript::Command.stub :run, apps do
153
- subject.apps(ending_with: :foo)
162
+ apps.verify
154
163
  end
155
164
 
156
- apps.verify
165
+ it "executes given block within each app's scope" do
166
+ fake_cf do
167
+ subject.apps do
168
+ assert_instance_of CfScript::Scope::App, self
169
+ end
170
+ end
171
+ end
157
172
  end
158
173
  end
@@ -12,11 +12,13 @@ describe CfScript::Scope do
12
12
  end
13
13
 
14
14
  it "calls enter_scope on initialize" do
15
- assert ScopeTest.new.called_enter_scope
15
+ assert ScopeTest.new.called_enter_scope,
16
+ "Expected enter_scope to have been called"
16
17
  end
17
18
 
18
19
  it "responds to finalize which calls exit_scope" do
19
- assert subject.respond_to?(:finalize)
20
+ assert subject.respond_to?(:finalize),
21
+ "Expected Scope::Base to respond to finalize"
20
22
 
21
23
  subject.stub :exit_scope, 'foo' do
22
24
  assert_equal 'foo', subject.finalize
@@ -24,15 +26,17 @@ describe CfScript::Scope do
24
26
  end
25
27
 
26
28
  it "responds to spec_for and calls CfScript.spec_for" do
27
- assert subject.respond_to?(:spec_for)
29
+ assert subject.respond_to?(:spec_for),
30
+ "Expected Scope::Base to respond to spec_for"
28
31
 
29
- CfScript.stub :spec_for, 'called' do
30
- assert_equal 'called', subject.spec_for(:app)
32
+ CfScript.stub :spec_for, :called do
33
+ assert_equal :called, subject.spec_for(:app)
31
34
  end
32
35
  end
33
36
 
34
37
  it "responds to method_missing and calls Command.run" do
35
- assert subject.respond_to?(:method_missing)
38
+ assert subject.respond_to?(:method_missing),
39
+ "Expected Scope::Base to respond to method_missing"
36
40
 
37
41
  CfScript::Command.stub :run, 'pong' do
38
42
  assert_equal 'pong', subject.ping
@@ -0,0 +1,133 @@
1
+ require 'test_helper'
2
+
3
+ describe CfScript::UI do
4
+ include MockExecution
5
+
6
+ subject { CfScript::UI }
7
+
8
+ it "defines a puts_out method that outputs to the configured stdout" do
9
+ fake_io do |out, err|
10
+ subject.puts_out 'foo bar'
11
+
12
+ assert_equal "foo bar\n", out.lines.first
13
+ assert_equal true, err.lines.empty?
14
+ end
15
+ end
16
+
17
+ it "defines a print_out method that outputs to the configured stdout" do
18
+ fake_io do |out, err|
19
+ subject.print_out 'foo bar'
20
+
21
+ assert_equal "foo bar", out.lines.first
22
+ assert_equal true, err.lines.empty?
23
+ end
24
+ end
25
+
26
+ it "defines a puts_err method that outputs to the configured stderr" do
27
+ fake_io do |out, err|
28
+ subject.puts_err 'foo bar'
29
+
30
+ assert_equal true, out.lines.empty?
31
+ assert_equal "foo bar\n", err.lines.first
32
+ end
33
+ end
34
+
35
+ it "defines a print_err method that outputs to the configured stderr" do
36
+ fake_io do |out, err|
37
+ subject.print_err 'foo bar'
38
+
39
+ assert_equal true, out.lines.empty?
40
+ assert_equal "foo bar", err.lines.first
41
+ end
42
+ end
43
+
44
+ describe "with_color_of" do
45
+ it "returns default color by default" do
46
+ color = subject.with_color_of
47
+
48
+ assert_equal({ color: :default }, color)
49
+ end
50
+
51
+ it "returns color for given type" do
52
+ color = subject.with_color_of(:error)
53
+
54
+ assert_equal({ color: :red }, color)
55
+ end
56
+ end
57
+
58
+ describe "tag_char" do
59
+ it "returns default character for unknown type" do
60
+ char = subject.tag_char(:bogus, :first)
61
+
62
+ assert_equal '[', char
63
+ end
64
+
65
+ it "returns character for given type" do
66
+ char = subject.tag_char(:error, :last)
67
+
68
+ assert_equal '}', char
69
+ end
70
+ end
71
+
72
+ describe "tag_open/tag_close" do
73
+ it "return first and last characters for type" do
74
+ open_char = subject.tag_open(:other)
75
+ close_char = subject.tag_close(:other)
76
+
77
+ assert_equal '[', open_char
78
+ assert_equal ']', close_char
79
+ end
80
+ end
81
+
82
+ describe "emoji_for" do
83
+ it "returns nil if config.ui.emoji is false" do
84
+ with_config do
85
+ emoji = subject.emoji_for(:success)
86
+
87
+ assert_equal nil, emoji
88
+ end
89
+ end
90
+
91
+ it "returns emoji character if config.ui.emoji is true" do
92
+ with_config emoji: true do
93
+ emoji = subject.emoji_for(:success)
94
+
95
+ assert_equal [9989, 32], emoji.codepoints
96
+ end
97
+ end
98
+ end
99
+
100
+ describe "tag_format" do
101
+ it "returns nil if config.ui.tags is false" do
102
+ with_config tags: false do
103
+ tag = subject.tag_format('foo', :trace)
104
+
105
+ assert_equal nil, tag
106
+ end
107
+ end
108
+
109
+ it "returns nil if the tag is nil" do
110
+ with_config tags: true do
111
+ tag = subject.tag_format(nil, :trace)
112
+
113
+ assert_equal nil, tag
114
+ end
115
+ end
116
+
117
+ it "returns formatted tag if tag is given and config.ui.tags is true" do
118
+ with_config tags: true, color: true do
119
+ tag = subject.tag_format('foo', :trace)
120
+
121
+ assert_equal "\e[0;90;49m<foo>\e[0m", tag
122
+ end
123
+ end
124
+ end
125
+
126
+ describe "ui_format" do
127
+ it "returns a formatted message" do
128
+ text = subject.ui_format(:success, 'foo', 'bar')
129
+
130
+ assert_equal "\e[0;32;49m[foo]\e[0m \e[0;32;49mbar\e[0m", text
131
+ end
132
+ end
133
+ end
@@ -4,7 +4,7 @@ describe CfScript do
4
4
  include MockExecution
5
5
 
6
6
  it "defines a config method that returns the Config object" do
7
- assert CfScript.respond_to? :config
7
+ assert CfScript.respond_to? :config, "Expected CfScript to respond to config"
8
8
 
9
9
  config = CfScript.config
10
10
 
@@ -13,7 +13,7 @@ describe CfScript do
13
13
  end
14
14
 
15
15
  it "defines a configure method that yields the Config object" do
16
- assert CfScript.respond_to? :configure
16
+ assert CfScript.respond_to? :configure, "Expected CfScript to respond to configure"
17
17
 
18
18
  called = false
19
19
 
@@ -28,10 +28,10 @@ describe CfScript do
28
28
  end
29
29
 
30
30
  it "defines stdout/stderr methods that return the configured IO objects" do
31
- assert CfScript.respond_to? :stdout
31
+ assert CfScript.respond_to? :stdout, "Expected CfScript to respond to stdout"
32
32
  assert_same CfScript.config.io.stdout, CfScript.stdout
33
33
 
34
- assert CfScript.respond_to? :stderr
34
+ assert CfScript.respond_to? :stderr, "Expected CfScript to respond to stderr"
35
35
  assert_same CfScript.config.io.stderr, CfScript.stderr
36
36
  end
37
37
 
@@ -64,10 +64,16 @@ describe CfScript do
64
64
  end
65
65
 
66
66
  it "doesn't expose private methods" do
67
- refute CfScript.respond_to?(:stack_level)
68
- assert CfScript.singleton_class.private_method_defined?(:stack_level)
67
+ refute CfScript.respond_to?(:stack_level),
68
+ "Expected CfScript not to respond to stack_level"
69
69
 
70
- refute CfScript.respond_to?(:print_error)
71
- assert CfScript.singleton_class.private_method_defined?(:print_error)
70
+ assert CfScript.singleton_class.private_method_defined?(:stack_level),
71
+ "Expected CfScript singleton to respond to stack_level"
72
+
73
+ refute CfScript.respond_to?(:print_error),
74
+ "Expected CfScript not to respond to print_error"
75
+
76
+ assert CfScript.singleton_class.private_method_defined?(:print_error),
77
+ "Expected CfScript singleton to respond to print_error"
72
78
  end
73
79
  end
@@ -12,3 +12,28 @@ def assert_app_info(app_info, expected_instances)
12
12
  end
13
13
  end
14
14
  end
15
+
16
+ # Asserts that a command correctly prepares its arguments for passing to
17
+ # run_cf and in turn to the cf binary. call_args is an array of the args
18
+ # to be passed to the command's run method, and run_args is an array of
19
+ # the args expected to be passed to run_cf.
20
+ def assert_command_args(command, call_args, run_args)
21
+ output = CfScript::Output.new(command, '', '',
22
+ OpenStruct.new(
23
+ exitstatus: 0,
24
+ success?: true,
25
+ )
26
+ )
27
+
28
+ arg_catcher = lambda do |cmd, *args, &block|
29
+ assert_equal run_args, args
30
+ end
31
+
32
+ fake_cf do
33
+ command.stub :run_cf, arg_catcher, output do
34
+ command.stub :good_run?, true do
35
+ command.run(*call_args)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -27,7 +27,7 @@ class FixtureExecutor
27
27
 
28
28
  def fixture_for(command_line)
29
29
  case @command_fixtures[command_line.name]
30
- when :fail, :no_endpoint, :no_login
30
+ when :fail, :no_endpoint, :no_login, :empty
31
31
  dir = File.join('commands', 'common')
32
32
  key = @command_fixtures[command_line.name]
33
33
  else
@@ -5,13 +5,25 @@ module MockExecution
5
5
  ENV['CF_BINARY'] = 'cf'
6
6
  end
7
7
 
8
- def test_config(config = {})
9
- CfScript.config.io.stdout = config[:stderr] || StringIO.new
10
- CfScript.config.io.stderr = config[:stderr] || StringIO.new
8
+ def test_config(options = {})
9
+ CfScript.config.io.stdout = options[:stderr] || StringIO.new
10
+ CfScript.config.io.stderr = options[:stderr] || StringIO.new
11
11
 
12
- CfScript.config.ui.color = config[:color] || false
12
+ CfScript.config.ui.tags = options.key?(:tags) ? options[:tags] : true
13
+ CfScript.config.ui.color = options.key?(:color) ? options[:color] : false
14
+ CfScript.config.ui.emoji = options.key?(:emoji) ? options[:emoji] : false
13
15
 
14
- CfScript.config.runtime.trace = config[:trace] || true
16
+ CfScript.config.runtime.trace = options.key?(:trace) ? options[:trace] : true
17
+ end
18
+
19
+ def with_config(config_options = {}, &block)
20
+ config_context = ConfigContext.new
21
+
22
+ test_config(config_options)
23
+
24
+ yield
25
+ ensure
26
+ config_context.reset
15
27
  end
16
28
 
17
29
  def test_executor(executor)
@@ -44,8 +56,18 @@ module MockExecution
44
56
  end
45
57
  end
46
58
 
59
+ def fake_io(config_options = {}, &block)
60
+ config_context = ConfigContext.new
61
+
62
+ test_config(config_options)
63
+
64
+ yield(CfScript.stdout.string, CfScript.stderr.string)
65
+ ensure
66
+ config_context.reset
67
+ end
68
+
47
69
  def fake_cf(command_fixtures = {}, &block)
48
- config = ConfigContext.new
70
+ config_context = ConfigContext.new
49
71
 
50
72
  test_env
51
73
  test_config
@@ -53,6 +75,6 @@ module MockExecution
53
75
 
54
76
  yield(CfScript.stdout.string, CfScript.stderr.string)
55
77
  ensure
56
- config.reset
78
+ config_context.reset
57
79
  end
58
80
  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.beta.1
4
+ version: 0.0.1
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-01 00:00:00.000000000 Z
11
+ date: 2016-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -32,6 +32,7 @@ extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
34
  - ".gitignore"
35
+ - ".travis.yml"
35
36
  - CHANGELOG.md
36
37
  - Gemfile
37
38
  - LICENSE
@@ -39,14 +40,15 @@ files:
39
40
  - Rakefile
40
41
  - cf_script.gemspec
41
42
  - lib/cf_script.rb
42
- - lib/cf_script/callbacks.rb
43
43
  - lib/cf_script/command.rb
44
44
  - lib/cf_script/command/base.rb
45
45
  - lib/cf_script/command/cf/apps.rb
46
46
  - lib/cf_script/command/cf/apps/app.rb
47
47
  - lib/cf_script/command/cf/apps/apps.rb
48
+ - lib/cf_script/command/cf/apps/delete.rb
48
49
  - lib/cf_script/command/cf/apps/env.rb
49
50
  - lib/cf_script/command/cf/apps/push.rb
51
+ - lib/cf_script/command/cf/apps/rename.rb
50
52
  - lib/cf_script/command/cf/apps/restage.rb
51
53
  - lib/cf_script/command/cf/apps/restart.rb
52
54
  - lib/cf_script/command/cf/apps/set_env.rb
@@ -75,7 +77,6 @@ files:
75
77
  - lib/cf_script/command/runner.rb
76
78
  - lib/cf_script/config.rb
77
79
  - lib/cf_script/executor.rb
78
- - lib/cf_script/executor/non_blocking.rb
79
80
  - lib/cf_script/executor/recorder.rb
80
81
  - lib/cf_script/executor/simple.rb
81
82
  - lib/cf_script/manifest.rb
@@ -83,7 +84,6 @@ files:
83
84
  - lib/cf_script/object/api_endpoint.rb
84
85
  - lib/cf_script/object/app_info.rb
85
86
  - lib/cf_script/object/app_list.rb
86
- - lib/cf_script/object/app_spec.rb
87
87
  - lib/cf_script/object/attribute.rb
88
88
  - lib/cf_script/object/attribute_list.rb
89
89
  - lib/cf_script/object/instance_status.rb
@@ -116,14 +116,17 @@ files:
116
116
  - test/fixtures/commands/apps/app/running.yml
117
117
  - test/fixtures/commands/apps/apps/good.yml
118
118
  - test/fixtures/commands/apps/apps/no_apps.yml
119
- - test/fixtures/commands/apps/env/empty.yml
119
+ - test/fixtures/commands/apps/delete/good.yml
120
+ - test/fixtures/commands/apps/delete/not_exist.yml
121
+ - test/fixtures/commands/apps/env/empty_vars.yml
120
122
  - test/fixtures/commands/apps/env/good.yml
121
123
  - test/fixtures/commands/apps/push/good.yml
124
+ - test/fixtures/commands/apps/rename/good.yml
125
+ - test/fixtures/commands/apps/rename/not_found.yml
122
126
  - test/fixtures/commands/apps/restage/good.yml
123
127
  - test/fixtures/commands/apps/restage/not_found.yml
124
128
  - test/fixtures/commands/apps/restart/good.yml
125
129
  - test/fixtures/commands/apps/restart/not_found.yml
126
- - test/fixtures/commands/apps/set_env/empty.yml
127
130
  - test/fixtures/commands/apps/set_env/good.yml
128
131
  - test/fixtures/commands/apps/set_env/not_found.yml
129
132
  - test/fixtures/commands/apps/start/good.yml
@@ -131,9 +134,9 @@ files:
131
134
  - test/fixtures/commands/apps/start/with_container.yml
132
135
  - test/fixtures/commands/apps/stop/good.yml
133
136
  - test/fixtures/commands/apps/stop/not_found.yml
134
- - test/fixtures/commands/apps/unset_env/empty.yml
135
137
  - test/fixtures/commands/apps/unset_env/good.yml
136
138
  - test/fixtures/commands/apps/unset_env/not_found.yml
139
+ - test/fixtures/commands/common/empty.yml
137
140
  - test/fixtures/commands/common/fail.yml
138
141
  - test/fixtures/commands/common/no_endpoint.yml
139
142
  - test/fixtures/commands/common/no_login.yml
@@ -142,13 +145,11 @@ files:
142
145
  - test/fixtures/commands/general/api/good.yml
143
146
  - test/fixtures/commands/general/api/not_set.yml
144
147
  - test/fixtures/commands/general/api/set.yml
145
- - test/fixtures/commands/general/auth/empty.yml
146
148
  - test/fixtures/commands/general/auth/good.yml
147
149
  - test/fixtures/commands/general/auth/rejected.yml
148
150
  - test/fixtures/commands/general/login/good.yml
149
151
  - test/fixtures/commands/general/login/rejected.yml
150
152
  - test/fixtures/commands/general/logout/good.yml
151
- - test/fixtures/commands/general/target/empty.yml
152
153
  - test/fixtures/commands/general/target/good.yml
153
154
  - test/fixtures/commands/general/target/no_space.yml
154
155
  - test/fixtures/commands/general/target/not_found.yml
@@ -172,16 +173,16 @@ files:
172
173
  - test/fixtures/commands/routes/unmap_route/good.yml
173
174
  - test/fixtures/commands/routes/unmap_route/no_app.yml
174
175
  - test/fixtures/commands/routes/unmap_route/no_domain.yml
175
- - test/fixtures/commands/spaces/space/empty.yml
176
176
  - test/fixtures/commands/spaces/space/good.yml
177
177
  - test/fixtures/commands/spaces/space/staging.yml
178
- - test/fixtures/commands/spaces/spaces/empty.yml
179
178
  - test/fixtures/commands/spaces/spaces/good.yml
180
179
  - test/lib/cf_script/command/base_test.rb
181
180
  - test/lib/cf_script/command/cf/apps/app_test.rb
182
181
  - test/lib/cf_script/command/cf/apps/apps_test.rb
182
+ - test/lib/cf_script/command/cf/apps/delete_test.rb
183
183
  - test/lib/cf_script/command/cf/apps/env_test.rb
184
184
  - test/lib/cf_script/command/cf/apps/push_test.rb
185
+ - test/lib/cf_script/command/cf/apps/rename_test.rb
185
186
  - test/lib/cf_script/command/cf/apps/restage_test.rb
186
187
  - test/lib/cf_script/command/cf/apps/restart_test.rb
187
188
  - test/lib/cf_script/command/cf/apps/set_env_test.rb
@@ -216,12 +217,15 @@ files:
216
217
  - test/lib/cf_script/output/parser/table_test.rb
217
218
  - test/lib/cf_script/output/tests_test.rb
218
219
  - test/lib/cf_script/output_test.rb
220
+ - test/lib/cf_script/scope/app/env_test.rb
221
+ - test/lib/cf_script/scope/app/routes_test.rb
219
222
  - test/lib/cf_script/scope/app/state_test.rb
220
223
  - test/lib/cf_script/scope/app_test.rb
221
224
  - test/lib/cf_script/scope/script_test.rb
222
225
  - test/lib/cf_script/scope/space_test.rb
223
226
  - test/lib/cf_script/scope/target_test.rb
224
227
  - test/lib/cf_script/scope_test.rb
228
+ - test/lib/cf_script/ui_test.rb
225
229
  - test/lib/cf_script/utils_test.rb
226
230
  - test/lib/cf_script_test.rb
227
231
  - test/support/assertions.rb
@@ -252,9 +256,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
252
256
  version: 2.0.0
253
257
  required_rubygems_version: !ruby/object:Gem::Requirement
254
258
  requirements:
255
- - - ">"
259
+ - - ">="
256
260
  - !ruby/object:Gem::Version
257
- version: 1.3.1
261
+ version: '0'
258
262
  requirements: []
259
263
  rubyforge_project:
260
264
  rubygems_version: 2.5.1
@@ -265,8 +269,10 @@ test_files:
265
269
  - test/lib/cf_script/command/base_test.rb
266
270
  - test/lib/cf_script/command/cf/apps/app_test.rb
267
271
  - test/lib/cf_script/command/cf/apps/apps_test.rb
272
+ - test/lib/cf_script/command/cf/apps/delete_test.rb
268
273
  - test/lib/cf_script/command/cf/apps/env_test.rb
269
274
  - test/lib/cf_script/command/cf/apps/push_test.rb
275
+ - test/lib/cf_script/command/cf/apps/rename_test.rb
270
276
  - test/lib/cf_script/command/cf/apps/restage_test.rb
271
277
  - test/lib/cf_script/command/cf/apps/restart_test.rb
272
278
  - test/lib/cf_script/command/cf/apps/set_env_test.rb
@@ -301,12 +307,15 @@ test_files:
301
307
  - test/lib/cf_script/output/parser/table_test.rb
302
308
  - test/lib/cf_script/output/tests_test.rb
303
309
  - test/lib/cf_script/output_test.rb
310
+ - test/lib/cf_script/scope/app/env_test.rb
311
+ - test/lib/cf_script/scope/app/routes_test.rb
304
312
  - test/lib/cf_script/scope/app/state_test.rb
305
313
  - test/lib/cf_script/scope/app_test.rb
306
314
  - test/lib/cf_script/scope/script_test.rb
307
315
  - test/lib/cf_script/scope/space_test.rb
308
316
  - test/lib/cf_script/scope/target_test.rb
309
317
  - test/lib/cf_script/scope_test.rb
318
+ - test/lib/cf_script/ui_test.rb
310
319
  - test/lib/cf_script/utils_test.rb
311
320
  - test/lib/cf_script_test.rb
312
321
  - test/support/assertions.rb
@@ -1,43 +0,0 @@
1
- module CfScript::Callbacks
2
- def callbacks
3
- @callbacks ||= { before: {}, after: {} }
4
- end
5
-
6
- def before(step, &block)
7
- callbacks[:before][step] ||= []
8
- callbacks[:before][step] << block
9
- end
10
-
11
- def after(step, &block)
12
- callbacks[:after][step] ||= []
13
- callbacks[:after][step] << block
14
- end
15
-
16
- def callbacks_for(type, step)
17
- return [] unless callbacks.key?(type) && callbacks[type].key?(step)
18
-
19
- callbacks[type][step]
20
- end
21
-
22
- def run_callbacks(type, step)
23
- return unless callbacks[type].key?(step)
24
-
25
- callbacks[type][step].each do |callback|
26
- instance_eval(&callback)
27
- end
28
- end
29
-
30
- def run_before(step)
31
- run_callbacks(:before, step)
32
- end
33
-
34
- def run_after(step)
35
- run_callbacks(:after, step)
36
- end
37
-
38
- def run_around(step, &block)
39
- run_before(step)
40
- yield
41
- run_after(step)
42
- end
43
- end