cf 0.1.5 → 0.6.0.rc1

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 (140) hide show
  1. data/LICENSE +1277 -30
  2. data/Rakefile +12 -1
  3. data/bin/cf +0 -3
  4. data/lib/cf.rb +6 -0
  5. data/lib/cf/cli.rb +389 -190
  6. data/lib/cf/cli/app/app.rb +45 -0
  7. data/lib/cf/cli/app/apps.rb +99 -0
  8. data/lib/cf/cli/app/base.rb +90 -0
  9. data/lib/cf/cli/app/crashes.rb +42 -0
  10. data/lib/cf/cli/app/delete.rb +95 -0
  11. data/lib/cf/cli/app/deprecated.rb +11 -0
  12. data/lib/cf/cli/app/env.rb +78 -0
  13. data/lib/cf/cli/app/files.rb +137 -0
  14. data/lib/cf/cli/app/health.rb +26 -0
  15. data/lib/cf/cli/app/instances.rb +53 -0
  16. data/lib/cf/cli/app/logs.rb +76 -0
  17. data/lib/cf/cli/app/push.rb +105 -0
  18. data/lib/cf/cli/app/push/create.rb +149 -0
  19. data/lib/cf/cli/app/push/interactions.rb +94 -0
  20. data/lib/cf/cli/app/push/sync.rb +64 -0
  21. data/lib/cf/cli/app/rename.rb +35 -0
  22. data/lib/cf/cli/app/restart.rb +20 -0
  23. data/lib/cf/cli/app/scale.rb +69 -0
  24. data/lib/cf/cli/app/start.rb +143 -0
  25. data/lib/cf/cli/app/stats.rb +67 -0
  26. data/lib/cf/cli/app/stop.rb +27 -0
  27. data/lib/cf/cli/domain/base.rb +8 -0
  28. data/lib/cf/cli/domain/domains.rb +40 -0
  29. data/lib/cf/cli/domain/map.rb +55 -0
  30. data/lib/cf/cli/domain/unmap.rb +56 -0
  31. data/lib/cf/cli/help.rb +15 -0
  32. data/lib/cf/cli/interactive.rb +105 -0
  33. data/lib/cf/cli/organization/base.rb +12 -0
  34. data/lib/cf/cli/organization/create.rb +32 -0
  35. data/lib/cf/cli/organization/delete.rb +73 -0
  36. data/lib/cf/cli/organization/org.rb +45 -0
  37. data/lib/cf/cli/organization/orgs.rb +35 -0
  38. data/lib/cf/cli/organization/rename.rb +36 -0
  39. data/lib/cf/cli/route/base.rb +8 -0
  40. data/lib/cf/cli/route/map.rb +70 -0
  41. data/lib/cf/cli/route/routes.rb +26 -0
  42. data/lib/cf/cli/route/unmap.rb +62 -0
  43. data/lib/cf/cli/service/base.rb +8 -0
  44. data/lib/cf/cli/service/bind.rb +44 -0
  45. data/lib/cf/cli/service/create.rb +107 -0
  46. data/lib/cf/cli/service/delete.rb +82 -0
  47. data/lib/cf/cli/service/rename.rb +35 -0
  48. data/lib/cf/cli/service/service.rb +40 -0
  49. data/lib/cf/cli/service/services.rb +99 -0
  50. data/lib/cf/cli/service/unbind.rb +38 -0
  51. data/lib/cf/cli/space/base.rb +19 -0
  52. data/lib/cf/cli/space/create.rb +63 -0
  53. data/lib/cf/cli/space/delete.rb +95 -0
  54. data/lib/cf/cli/space/rename.rb +39 -0
  55. data/lib/cf/cli/space/space.rb +64 -0
  56. data/lib/cf/cli/space/spaces.rb +55 -0
  57. data/lib/cf/cli/space/switch.rb +16 -0
  58. data/lib/cf/cli/start/base.rb +93 -0
  59. data/lib/cf/cli/start/colors.rb +13 -0
  60. data/lib/cf/cli/start/info.rb +124 -0
  61. data/lib/cf/cli/start/login.rb +94 -0
  62. data/lib/cf/cli/start/logout.rb +17 -0
  63. data/lib/cf/cli/start/target.rb +69 -0
  64. data/lib/cf/cli/start/target_interactions.rb +37 -0
  65. data/lib/cf/cli/start/targets.rb +16 -0
  66. data/lib/cf/cli/user/base.rb +29 -0
  67. data/lib/cf/cli/user/create.rb +39 -0
  68. data/lib/cf/cli/user/passwd.rb +43 -0
  69. data/lib/cf/cli/user/register.rb +42 -0
  70. data/lib/cf/cli/user/users.rb +32 -0
  71. data/lib/cf/constants.rb +10 -7
  72. data/lib/cf/detect.rb +113 -48
  73. data/lib/cf/errors.rb +17 -0
  74. data/lib/cf/plugin.rb +28 -12
  75. data/lib/cf/spacing.rb +89 -0
  76. data/lib/cf/spec_helper.rb +1 -0
  77. data/lib/cf/test_support.rb +6 -0
  78. data/lib/cf/version.rb +1 -1
  79. data/spec/assets/hello-sinatra/Gemfile +3 -0
  80. data/spec/assets/hello-sinatra/Gemfile.lock +17 -0
  81. data/spec/assets/hello-sinatra/config.ru +3 -0
  82. data/spec/assets/hello-sinatra/fat-cat-makes-app-larger.png +0 -0
  83. data/spec/assets/hello-sinatra/main.rb +6 -0
  84. data/spec/assets/specker_runner/specker_runner_input.rb +6 -0
  85. data/spec/assets/specker_runner/specker_runner_pause.rb +5 -0
  86. data/spec/cf/cli/app/base_spec.rb +17 -0
  87. data/spec/cf/cli/app/delete_spec.rb +188 -0
  88. data/spec/cf/cli/app/instances_spec.rb +65 -0
  89. data/spec/cf/cli/app/push/create_spec.rb +661 -0
  90. data/spec/cf/cli/app/push_spec.rb +369 -0
  91. data/spec/cf/cli/app/rename_spec.rb +104 -0
  92. data/spec/cf/cli/app/scale_spec.rb +75 -0
  93. data/spec/cf/cli/app/start_spec.rb +208 -0
  94. data/spec/cf/cli/app/stats_spec.rb +68 -0
  95. data/spec/cf/cli/domain/map_spec.rb +130 -0
  96. data/spec/cf/cli/domain/unmap_spec.rb +69 -0
  97. data/spec/cf/cli/organization/orgs_spec.rb +108 -0
  98. data/spec/cf/cli/organization/rename_spec.rb +113 -0
  99. data/spec/cf/cli/route/map_spec.rb +121 -0
  100. data/spec/cf/cli/route/unmap_spec.rb +155 -0
  101. data/spec/cf/cli/service/bind_spec.rb +25 -0
  102. data/spec/cf/cli/service/delete_spec.rb +22 -0
  103. data/spec/cf/cli/service/rename_spec.rb +105 -0
  104. data/spec/cf/cli/service/service_spec.rb +23 -0
  105. data/spec/cf/cli/service/unbind_spec.rb +25 -0
  106. data/spec/cf/cli/space/create_spec.rb +93 -0
  107. data/spec/cf/cli/space/rename_spec.rb +102 -0
  108. data/spec/cf/cli/space/spaces_spec.rb +104 -0
  109. data/spec/cf/cli/space/switch_space_spec.rb +55 -0
  110. data/spec/cf/cli/start/info_spec.rb +160 -0
  111. data/spec/cf/cli/start/login_spec.rb +142 -0
  112. data/spec/cf/cli/start/logout_spec.rb +50 -0
  113. data/spec/cf/cli/start/target_spec.rb +123 -0
  114. data/spec/cf/cli/user/create_spec.rb +54 -0
  115. data/spec/cf/cli/user/passwd_spec.rb +102 -0
  116. data/spec/cf/cli/user/register_spec.rb +140 -0
  117. data/spec/cf/cli_spec.rb +442 -0
  118. data/spec/cf/detect_spec.rb +54 -0
  119. data/spec/console_app_specker/console_app_specker_matchers_spec.rb +173 -0
  120. data/spec/console_app_specker/specker_runner_spec.rb +167 -0
  121. data/spec/features/account_lifecycle_spec.rb +85 -0
  122. data/spec/features/login_spec.rb +66 -0
  123. data/spec/features/push_flow_spec.rb +125 -0
  124. data/spec/features/switching_targets_spec.rb +32 -0
  125. data/spec/spec_helper.rb +72 -0
  126. data/spec/support/command_helper.rb +81 -0
  127. data/spec/support/config_helper.rb +15 -0
  128. data/spec/support/console_app_specker_matchers.rb +86 -0
  129. data/spec/support/fake_home_dir.rb +55 -0
  130. data/spec/support/interact_helper.rb +29 -0
  131. data/spec/support/shared_examples/errors.rb +40 -0
  132. data/spec/support/shared_examples/input.rb +14 -0
  133. data/spec/support/specker_runner.rb +80 -0
  134. data/spec/support/tracking_expector.rb +71 -0
  135. metadata +427 -66
  136. data/lib/cf/cli/app.rb +0 -595
  137. data/lib/cf/cli/command.rb +0 -444
  138. data/lib/cf/cli/dots.rb +0 -133
  139. data/lib/cf/cli/service.rb +0 -112
  140. data/lib/cf/cli/user.rb +0 -71
@@ -0,0 +1,55 @@
1
+ require "fakefs/safe"
2
+
3
+ module FakeHomeDir
4
+ def self.included(klass)
5
+ super
6
+ klass.extend(ClassMethods)
7
+ end
8
+
9
+ module ClassMethods
10
+ def stub_home_dir_with(&block)
11
+ around do |example|
12
+ bootstrap_dir = instance_exec(&block)
13
+
14
+ if bootstrap_dir
15
+ fixture = File.expand_path(bootstrap_dir)
16
+ files = build_file_buffer(fixture)
17
+ end
18
+
19
+ FakeFS do
20
+ home = File.expand_path("~")
21
+ write_file_buffer(files, home) if files
22
+ example.call
23
+ end
24
+
25
+ FakeFS::FileSystem.clear
26
+ end
27
+ end
28
+ end
29
+
30
+ private
31
+
32
+ def build_file_buffer(path)
33
+ files = {}
34
+
35
+ Dir.glob("#{path}/**/*", File::FNM_DOTMATCH).each do |file|
36
+ next if file =~ /\.$/
37
+ next if File.directory?(file)
38
+
39
+ files[file.sub(path + "/", "")] = File.read(file)
40
+ end
41
+
42
+ files
43
+ end
44
+
45
+ def write_file_buffer(files, path)
46
+ files.each do |file, body|
47
+ full = "#{path}/#{file}"
48
+
49
+ FileUtils.mkdir_p(File.dirname(full))
50
+ File.open(full, "w") do |io|
51
+ io.write body
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,29 @@
1
+ module InteractHelper
2
+ def stub_ask(*args, &block)
3
+ a_stub = nil
4
+ any_instance_of CF::CLI do |interactive|
5
+ a_stub = stub(interactive).ask(*args, &block)
6
+ end
7
+ a_stub
8
+ end
9
+
10
+ def mock_ask(*args, &block)
11
+ a_mock = nil
12
+ any_instance_of CF::CLI do |interactive|
13
+ a_mock = mock(interactive).ask(*args, &block)
14
+ end
15
+ a_mock
16
+ end
17
+
18
+ def dont_allow_ask(*args)
19
+ any_instance_of CF::CLI do |interactive|
20
+ dont_allow(interactive).ask(*args)
21
+ end
22
+ end
23
+
24
+ def mock_with_progress(message)
25
+ any_instance_of CF::CLI do |interactive|
26
+ mock(interactive).with_progress(message) { |_, block| block.call }
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,40 @@
1
+ shared_examples_for "an error that's obvious to the user" do |options|
2
+ message = options[:with_message]
3
+
4
+ it "prints the message" do
5
+ subject
6
+ expect(stderr.string).to include message
7
+ end
8
+
9
+ it "sets the exit code to 1" do
10
+ mock(context).exit_status(1)
11
+ subject
12
+ end
13
+
14
+ it "does not mention ~/.cf/crash" do
15
+ subject
16
+ expect(stderr.string).to_not include CF::CRASH_FILE
17
+ end
18
+ end
19
+
20
+ shared_examples_for "an error that gets passed through" do |options|
21
+ before do
22
+ described_class.class_eval do
23
+ alias_method :wrap_errors_original, :wrap_errors
24
+ def wrap_errors
25
+ yield
26
+ end
27
+ end
28
+ end
29
+
30
+ after do
31
+ described_class.class_eval do
32
+ remove_method :wrap_errors
33
+ alias_method :wrap_errors, :wrap_errors_original
34
+ end
35
+ end
36
+
37
+ it "reraises the error" do
38
+ expect { subject }.to raise_error(options[:with_exception], options[:with_message])
39
+ end
40
+ end
@@ -0,0 +1,14 @@
1
+ shared_examples_for 'inputs must have descriptions' do
2
+ describe 'inputs' do
3
+ subject { command.inputs }
4
+
5
+ it "is not missing any descriptions" do
6
+ subject.each do |_, attrs|
7
+ next if attrs[:hidden]
8
+
9
+ expect(attrs[:description]).to be
10
+ expect(attrs[:description].strip).to_not be_empty
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,80 @@
1
+ require "pty"
2
+
3
+ class SpeckerRunner
4
+ def initialize(*args)
5
+ @stdout, slave = PTY.open
6
+ system("stty raw", :in => slave)
7
+ read, @stdin = IO.pipe
8
+
9
+ @pid = spawn(*(args.push(:in => read, :out => slave, :err => slave)))
10
+
11
+ @expector = TrackingExpector.new(@stdout, ENV["DEBUG_BACON"])
12
+
13
+ yield self
14
+ end
15
+
16
+ def expect(matcher, timeout = 30)
17
+ case matcher
18
+ when Hash
19
+ expect_branches(matcher, timeout)
20
+ else
21
+ @expector.expect(matcher, timeout)
22
+ end
23
+ end
24
+
25
+ def send_keys(text_to_send)
26
+ @stdin.puts(text_to_send)
27
+ end
28
+
29
+ def exit_code
30
+ return @status if @status
31
+
32
+ status = nil
33
+ Timeout.timeout(5) do
34
+ _, status = Process.waitpid2(@pid)
35
+ end
36
+
37
+ @status = numeric_exit_code(status)
38
+ end
39
+
40
+ alias_method :wait_for_exit, :exit_code
41
+
42
+ def exited?
43
+ !running?
44
+ end
45
+
46
+ def running?
47
+ !!Process.getpgid(@pid)
48
+ end
49
+
50
+ def output
51
+ @expector.output
52
+ end
53
+
54
+ def debug
55
+ @expector.debug
56
+ end
57
+
58
+ def debug=(x)
59
+ @expector.debug = x
60
+ end
61
+
62
+ private
63
+
64
+ def expect_branches(branches, timeout)
65
+ branch_names = /#{branches.keys.collect { |k| Regexp.quote(k) }.join("|")}/
66
+ expected = @expector.expect(branch_names, timeout)
67
+ return unless expected
68
+
69
+ data = expected.first.match(/(#{branch_names})$/)
70
+ matched = data[1]
71
+ branches[matched].call
72
+ matched
73
+ end
74
+
75
+ def numeric_exit_code(status)
76
+ status.exitstatus
77
+ rescue NoMethodError
78
+ status
79
+ end
80
+ end
@@ -0,0 +1,71 @@
1
+ class TrackingExpector
2
+ attr_reader :output
3
+
4
+ def initialize(out, debug = false)
5
+ @out = out
6
+ @debug = debug
7
+ @unused = ""
8
+ @output = ""
9
+ end
10
+
11
+ def expect(pattern, timeout = 5)
12
+ buffer = ''
13
+
14
+ case pattern
15
+ when String
16
+ pattern = Regexp.new(Regexp.quote(pattern))
17
+ when Regexp
18
+ else
19
+ raise TypeError, "unsupported pattern class: #{pattern.class}"
20
+ end
21
+
22
+ result = nil
23
+ position = 0
24
+ @unused ||= ""
25
+
26
+ while true
27
+ if !@unused.empty?
28
+ c = @unused.slice!(0).chr
29
+ elsif output_ended?(timeout)
30
+ @unused = buffer
31
+ break
32
+ else
33
+ c = @out.getc.chr
34
+ end
35
+
36
+ STDOUT.putc c if @debug
37
+
38
+ # wear your flip flops
39
+ unless (c == "\e") .. (c == "m")
40
+ if c == "\b"
41
+ if position > 0 && buffer[position - 1] && buffer[position - 1].chr != "\n"
42
+ position -= 1
43
+ end
44
+ else
45
+ if buffer.size > position
46
+ buffer[position] = c
47
+ else
48
+ buffer << c
49
+ end
50
+
51
+ position += 1
52
+ end
53
+ end
54
+
55
+ if matches = pattern.match(buffer)
56
+ result = [buffer, *matches.to_a[1..-1]]
57
+ break
58
+ end
59
+ end
60
+
61
+ @output << buffer
62
+
63
+ result
64
+ end
65
+
66
+ private
67
+
68
+ def output_ended?(timeout)
69
+ (@out.is_a?(IO) && !IO.select([@out], nil, nil, timeout)) || @out.eof?
70
+ end
71
+ end
metadata CHANGED
@@ -1,115 +1,476 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: cf
3
- version: !ruby/object:Gem::Version
4
- version: 0.1.5
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ hash: -1390834006
5
+ prerelease: 6
6
+ segments:
7
+ - 0
8
+ - 6
9
+ - 0
10
+ - rc
11
+ - 1
12
+ version: 0.6.0.rc1
6
13
  platform: ruby
7
- authors:
14
+ authors:
15
+ - Cloud Foundry Team
8
16
  - Alex Suraci
9
17
  autorequire:
10
18
  bindir: bin
11
19
  cert_chain: []
12
- date: 2012-05-10 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: json_pure
16
- requirement: &70246690204160 !ruby/object:Gem::Requirement
20
+
21
+ date: 2013-03-18 00:00:00 Z
22
+ dependencies:
23
+ - !ruby/object:Gem::Dependency
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
17
25
  none: false
18
- requirements:
26
+ requirements:
19
27
  - - ~>
20
- - !ruby/object:Gem::Version
21
- version: 1.6.5
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 1
32
+ - 6
33
+ version: "1.6"
34
+ prerelease: false
22
35
  type: :runtime
36
+ name: json_pure
37
+ requirement: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 9
45
+ segments:
46
+ - 1
47
+ - 3
48
+ version: "1.3"
23
49
  prerelease: false
24
- version_requirements: *70246690204160
25
- - !ruby/object:Gem::Dependency
26
- name: interact
27
- requirement: &70246690197700 !ruby/object:Gem::Requirement
50
+ type: :runtime
51
+ name: multi_json
52
+ requirement: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ version_requirements: &id003 !ruby/object:Gem::Requirement
28
55
  none: false
29
- requirements:
56
+ requirements:
30
57
  - - ~>
31
- - !ruby/object:Gem::Version
32
- version: 0.4.1
58
+ - !ruby/object:Gem::Version
59
+ hash: 1
60
+ segments:
61
+ - 0
62
+ - 5
63
+ version: "0.5"
64
+ prerelease: false
33
65
  type: :runtime
66
+ name: interact
67
+ requirement: *id003
68
+ - !ruby/object:Gem::Dependency
69
+ version_requirements: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ hash: -1390834006
75
+ segments:
76
+ - 0
77
+ - 6
78
+ - 0
79
+ - rc
80
+ - 1
81
+ version: 0.6.0.rc1
82
+ - - <
83
+ - !ruby/object:Gem::Version
84
+ hash: 5
85
+ segments:
86
+ - 0
87
+ - 7
88
+ version: "0.7"
34
89
  prerelease: false
35
- version_requirements: *70246690197700
36
- - !ruby/object:Gem::Dependency
90
+ type: :runtime
37
91
  name: cfoundry
38
- requirement: &70246690196980 !ruby/object:Gem::Requirement
92
+ requirement: *id004
93
+ - !ruby/object:Gem::Dependency
94
+ version_requirements: &id005 !ruby/object:Gem::Requirement
39
95
  none: false
40
- requirements:
96
+ requirements:
41
97
  - - ~>
42
- - !ruby/object:Gem::Version
43
- version: 0.1.0
98
+ - !ruby/object:Gem::Version
99
+ hash: 11
100
+ segments:
101
+ - 0
102
+ - 0
103
+ version: "0.0"
104
+ prerelease: false
105
+ type: :runtime
106
+ name: clouseau
107
+ requirement: *id005
108
+ - !ruby/object:Gem::Dependency
109
+ version_requirements: &id006 !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ hash: 9
115
+ segments:
116
+ - 0
117
+ - 5
118
+ - 1
119
+ version: 0.5.1
120
+ - - <
121
+ - !ruby/object:Gem::Version
122
+ hash: 15
123
+ segments:
124
+ - 1
125
+ - 0
126
+ version: "1.0"
127
+ prerelease: false
44
128
  type: :runtime
129
+ name: mothership
130
+ requirement: *id006
131
+ - !ruby/object:Gem::Dependency
132
+ version_requirements: &id007 !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ hash: -1390833990
138
+ segments:
139
+ - 0
140
+ - 7
141
+ - 0
142
+ - rc
143
+ - 1
144
+ version: 0.7.0.rc1
145
+ - - <
146
+ - !ruby/object:Gem::Version
147
+ hash: 27
148
+ segments:
149
+ - 0
150
+ - 8
151
+ version: "0.8"
45
152
  prerelease: false
46
- version_requirements: *70246690196980
47
- - !ruby/object:Gem::Dependency
48
- name: thor
49
- requirement: &70246690195320 !ruby/object:Gem::Requirement
153
+ type: :runtime
154
+ name: manifests-cf-plugin
155
+ requirement: *id007
156
+ - !ruby/object:Gem::Dependency
157
+ version_requirements: &id008 !ruby/object:Gem::Requirement
50
158
  none: false
51
- requirements:
52
- - - ~>
53
- - !ruby/object:Gem::Version
54
- version: 0.14.6
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ hash: -1390833926
163
+ segments:
164
+ - 0
165
+ - 3
166
+ - 0
167
+ - rc
168
+ - 1
169
+ version: 0.3.0.rc1
170
+ - - <
171
+ - !ruby/object:Gem::Version
172
+ hash: 3
173
+ segments:
174
+ - 0
175
+ - 4
176
+ version: "0.4"
177
+ prerelease: false
55
178
  type: :runtime
179
+ name: tunnel-cf-plugin
180
+ requirement: *id008
181
+ - !ruby/object:Gem::Dependency
182
+ version_requirements: &id009 !ruby/object:Gem::Requirement
183
+ none: false
184
+ requirements:
185
+ - - ~>
186
+ - !ruby/object:Gem::Version
187
+ hash: 25
188
+ segments:
189
+ - 0
190
+ - 9
191
+ version: "0.9"
56
192
  prerelease: false
57
- version_requirements: *70246690195320
58
- - !ruby/object:Gem::Dependency
59
- name: manifests-vmc-plugin
60
- requirement: &70246690194340 !ruby/object:Gem::Requirement
193
+ type: :development
194
+ name: rake
195
+ requirement: *id009
196
+ - !ruby/object:Gem::Dependency
197
+ version_requirements: &id010 !ruby/object:Gem::Requirement
61
198
  none: false
62
- requirements:
199
+ requirements:
63
200
  - - ~>
64
- - !ruby/object:Gem::Version
65
- version: 0.1.0
66
- type: :runtime
201
+ - !ruby/object:Gem::Version
202
+ hash: 21
203
+ segments:
204
+ - 2
205
+ - 11
206
+ version: "2.11"
207
+ prerelease: false
208
+ type: :development
209
+ name: rspec
210
+ requirement: *id010
211
+ - !ruby/object:Gem::Dependency
212
+ version_requirements: &id011 !ruby/object:Gem::Requirement
213
+ none: false
214
+ requirements:
215
+ - - ~>
216
+ - !ruby/object:Gem::Version
217
+ hash: 29
218
+ segments:
219
+ - 1
220
+ - 9
221
+ version: "1.9"
222
+ prerelease: false
223
+ type: :development
224
+ name: webmock
225
+ requirement: *id011
226
+ - !ruby/object:Gem::Dependency
227
+ version_requirements: &id012 !ruby/object:Gem::Requirement
228
+ none: false
229
+ requirements:
230
+ - - ~>
231
+ - !ruby/object:Gem::Version
232
+ hash: 15
233
+ segments:
234
+ - 1
235
+ - 0
236
+ version: "1.0"
67
237
  prerelease: false
68
- version_requirements: *70246690194340
238
+ type: :development
239
+ name: rr
240
+ requirement: *id012
69
241
  description:
70
- email:
71
- - asuraci@vmware.com
72
- executables:
242
+ email:
243
+ - vcap-dev@googlegroups.com
244
+ executables:
73
245
  - cf
74
246
  extensions: []
247
+
75
248
  extra_rdoc_files: []
76
- files:
249
+
250
+ files:
77
251
  - LICENSE
78
252
  - Rakefile
79
- - lib/cf/cli/app.rb
80
- - lib/cf/cli/command.rb
81
- - lib/cf/cli/dots.rb
82
- - lib/cf/cli/service.rb
83
- - lib/cf/cli/user.rb
253
+ - lib/cf/cli/app/app.rb
254
+ - lib/cf/cli/app/apps.rb
255
+ - lib/cf/cli/app/base.rb
256
+ - lib/cf/cli/app/crashes.rb
257
+ - lib/cf/cli/app/delete.rb
258
+ - lib/cf/cli/app/deprecated.rb
259
+ - lib/cf/cli/app/env.rb
260
+ - lib/cf/cli/app/files.rb
261
+ - lib/cf/cli/app/health.rb
262
+ - lib/cf/cli/app/instances.rb
263
+ - lib/cf/cli/app/logs.rb
264
+ - lib/cf/cli/app/push/create.rb
265
+ - lib/cf/cli/app/push/interactions.rb
266
+ - lib/cf/cli/app/push/sync.rb
267
+ - lib/cf/cli/app/push.rb
268
+ - lib/cf/cli/app/rename.rb
269
+ - lib/cf/cli/app/restart.rb
270
+ - lib/cf/cli/app/scale.rb
271
+ - lib/cf/cli/app/start.rb
272
+ - lib/cf/cli/app/stats.rb
273
+ - lib/cf/cli/app/stop.rb
274
+ - lib/cf/cli/domain/base.rb
275
+ - lib/cf/cli/domain/domains.rb
276
+ - lib/cf/cli/domain/map.rb
277
+ - lib/cf/cli/domain/unmap.rb
278
+ - lib/cf/cli/help.rb
279
+ - lib/cf/cli/interactive.rb
280
+ - lib/cf/cli/organization/base.rb
281
+ - lib/cf/cli/organization/create.rb
282
+ - lib/cf/cli/organization/delete.rb
283
+ - lib/cf/cli/organization/org.rb
284
+ - lib/cf/cli/organization/orgs.rb
285
+ - lib/cf/cli/organization/rename.rb
286
+ - lib/cf/cli/route/base.rb
287
+ - lib/cf/cli/route/map.rb
288
+ - lib/cf/cli/route/routes.rb
289
+ - lib/cf/cli/route/unmap.rb
290
+ - lib/cf/cli/service/base.rb
291
+ - lib/cf/cli/service/bind.rb
292
+ - lib/cf/cli/service/create.rb
293
+ - lib/cf/cli/service/delete.rb
294
+ - lib/cf/cli/service/rename.rb
295
+ - lib/cf/cli/service/service.rb
296
+ - lib/cf/cli/service/services.rb
297
+ - lib/cf/cli/service/unbind.rb
298
+ - lib/cf/cli/space/base.rb
299
+ - lib/cf/cli/space/create.rb
300
+ - lib/cf/cli/space/delete.rb
301
+ - lib/cf/cli/space/rename.rb
302
+ - lib/cf/cli/space/space.rb
303
+ - lib/cf/cli/space/spaces.rb
304
+ - lib/cf/cli/space/switch.rb
305
+ - lib/cf/cli/start/base.rb
306
+ - lib/cf/cli/start/colors.rb
307
+ - lib/cf/cli/start/info.rb
308
+ - lib/cf/cli/start/login.rb
309
+ - lib/cf/cli/start/logout.rb
310
+ - lib/cf/cli/start/target.rb
311
+ - lib/cf/cli/start/target_interactions.rb
312
+ - lib/cf/cli/start/targets.rb
313
+ - lib/cf/cli/user/base.rb
314
+ - lib/cf/cli/user/create.rb
315
+ - lib/cf/cli/user/passwd.rb
316
+ - lib/cf/cli/user/register.rb
317
+ - lib/cf/cli/user/users.rb
84
318
  - lib/cf/cli.rb
85
319
  - lib/cf/constants.rb
86
320
  - lib/cf/detect.rb
321
+ - lib/cf/errors.rb
87
322
  - lib/cf/plugin.rb
323
+ - lib/cf/spacing.rb
324
+ - lib/cf/spec_helper.rb
325
+ - lib/cf/test_support.rb
88
326
  - lib/cf/version.rb
89
327
  - lib/cf.rb
328
+ - spec/assets/hello-sinatra/config.ru
329
+ - spec/assets/hello-sinatra/fat-cat-makes-app-larger.png
330
+ - spec/assets/hello-sinatra/Gemfile
331
+ - spec/assets/hello-sinatra/Gemfile.lock
332
+ - spec/assets/hello-sinatra/main.rb
333
+ - spec/assets/specker_runner/specker_runner_input.rb
334
+ - spec/assets/specker_runner/specker_runner_pause.rb
335
+ - spec/cf/cli/app/base_spec.rb
336
+ - spec/cf/cli/app/delete_spec.rb
337
+ - spec/cf/cli/app/instances_spec.rb
338
+ - spec/cf/cli/app/push/create_spec.rb
339
+ - spec/cf/cli/app/push_spec.rb
340
+ - spec/cf/cli/app/rename_spec.rb
341
+ - spec/cf/cli/app/scale_spec.rb
342
+ - spec/cf/cli/app/start_spec.rb
343
+ - spec/cf/cli/app/stats_spec.rb
344
+ - spec/cf/cli/domain/map_spec.rb
345
+ - spec/cf/cli/domain/unmap_spec.rb
346
+ - spec/cf/cli/organization/orgs_spec.rb
347
+ - spec/cf/cli/organization/rename_spec.rb
348
+ - spec/cf/cli/route/map_spec.rb
349
+ - spec/cf/cli/route/unmap_spec.rb
350
+ - spec/cf/cli/service/bind_spec.rb
351
+ - spec/cf/cli/service/delete_spec.rb
352
+ - spec/cf/cli/service/rename_spec.rb
353
+ - spec/cf/cli/service/service_spec.rb
354
+ - spec/cf/cli/service/unbind_spec.rb
355
+ - spec/cf/cli/space/create_spec.rb
356
+ - spec/cf/cli/space/rename_spec.rb
357
+ - spec/cf/cli/space/spaces_spec.rb
358
+ - spec/cf/cli/space/switch_space_spec.rb
359
+ - spec/cf/cli/start/info_spec.rb
360
+ - spec/cf/cli/start/login_spec.rb
361
+ - spec/cf/cli/start/logout_spec.rb
362
+ - spec/cf/cli/start/target_spec.rb
363
+ - spec/cf/cli/user/create_spec.rb
364
+ - spec/cf/cli/user/passwd_spec.rb
365
+ - spec/cf/cli/user/register_spec.rb
366
+ - spec/cf/cli_spec.rb
367
+ - spec/cf/detect_spec.rb
368
+ - spec/console_app_specker/console_app_specker_matchers_spec.rb
369
+ - spec/console_app_specker/specker_runner_spec.rb
370
+ - spec/features/account_lifecycle_spec.rb
371
+ - spec/features/login_spec.rb
372
+ - spec/features/push_flow_spec.rb
373
+ - spec/features/switching_targets_spec.rb
374
+ - spec/spec_helper.rb
375
+ - spec/support/command_helper.rb
376
+ - spec/support/config_helper.rb
377
+ - spec/support/console_app_specker_matchers.rb
378
+ - spec/support/fake_home_dir.rb
379
+ - spec/support/interact_helper.rb
380
+ - spec/support/shared_examples/errors.rb
381
+ - spec/support/shared_examples/input.rb
382
+ - spec/support/specker_runner.rb
383
+ - spec/support/tracking_expector.rb
90
384
  - bin/cf
91
- homepage: http://cloudfoundry.com/
385
+ homepage: http://github.com/cloudfoundry/cf
92
386
  licenses: []
387
+
93
388
  post_install_message:
94
389
  rdoc_options: []
95
- require_paths:
390
+
391
+ require_paths:
96
392
  - lib
97
- required_ruby_version: !ruby/object:Gem::Requirement
393
+ required_ruby_version: !ruby/object:Gem::Requirement
98
394
  none: false
99
- requirements:
100
- - - ! '>='
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- required_rubygems_version: !ruby/object:Gem::Requirement
395
+ requirements:
396
+ - - ">="
397
+ - !ruby/object:Gem::Version
398
+ hash: 3
399
+ segments:
400
+ - 0
401
+ version: "0"
402
+ required_rubygems_version: !ruby/object:Gem::Requirement
104
403
  none: false
105
- requirements:
106
- - - ! '>='
107
- - !ruby/object:Gem::Version
108
- version: '0'
404
+ requirements:
405
+ - - ">"
406
+ - !ruby/object:Gem::Version
407
+ hash: 25
408
+ segments:
409
+ - 1
410
+ - 3
411
+ - 1
412
+ version: 1.3.1
109
413
  requirements: []
414
+
110
415
  rubyforge_project: cf
111
- rubygems_version: 1.8.10
416
+ rubygems_version: 1.8.24
112
417
  signing_key:
113
418
  specification_version: 3
114
419
  summary: Friendly command-line interface for Cloud Foundry.
115
- test_files: []
420
+ test_files:
421
+ - spec/assets/hello-sinatra/config.ru
422
+ - spec/assets/hello-sinatra/fat-cat-makes-app-larger.png
423
+ - spec/assets/hello-sinatra/Gemfile
424
+ - spec/assets/hello-sinatra/Gemfile.lock
425
+ - spec/assets/hello-sinatra/main.rb
426
+ - spec/assets/specker_runner/specker_runner_input.rb
427
+ - spec/assets/specker_runner/specker_runner_pause.rb
428
+ - spec/cf/cli/app/base_spec.rb
429
+ - spec/cf/cli/app/delete_spec.rb
430
+ - spec/cf/cli/app/instances_spec.rb
431
+ - spec/cf/cli/app/push/create_spec.rb
432
+ - spec/cf/cli/app/push_spec.rb
433
+ - spec/cf/cli/app/rename_spec.rb
434
+ - spec/cf/cli/app/scale_spec.rb
435
+ - spec/cf/cli/app/start_spec.rb
436
+ - spec/cf/cli/app/stats_spec.rb
437
+ - spec/cf/cli/domain/map_spec.rb
438
+ - spec/cf/cli/domain/unmap_spec.rb
439
+ - spec/cf/cli/organization/orgs_spec.rb
440
+ - spec/cf/cli/organization/rename_spec.rb
441
+ - spec/cf/cli/route/map_spec.rb
442
+ - spec/cf/cli/route/unmap_spec.rb
443
+ - spec/cf/cli/service/bind_spec.rb
444
+ - spec/cf/cli/service/delete_spec.rb
445
+ - spec/cf/cli/service/rename_spec.rb
446
+ - spec/cf/cli/service/service_spec.rb
447
+ - spec/cf/cli/service/unbind_spec.rb
448
+ - spec/cf/cli/space/create_spec.rb
449
+ - spec/cf/cli/space/rename_spec.rb
450
+ - spec/cf/cli/space/spaces_spec.rb
451
+ - spec/cf/cli/space/switch_space_spec.rb
452
+ - spec/cf/cli/start/info_spec.rb
453
+ - spec/cf/cli/start/login_spec.rb
454
+ - spec/cf/cli/start/logout_spec.rb
455
+ - spec/cf/cli/start/target_spec.rb
456
+ - spec/cf/cli/user/create_spec.rb
457
+ - spec/cf/cli/user/passwd_spec.rb
458
+ - spec/cf/cli/user/register_spec.rb
459
+ - spec/cf/cli_spec.rb
460
+ - spec/cf/detect_spec.rb
461
+ - spec/console_app_specker/console_app_specker_matchers_spec.rb
462
+ - spec/console_app_specker/specker_runner_spec.rb
463
+ - spec/features/account_lifecycle_spec.rb
464
+ - spec/features/login_spec.rb
465
+ - spec/features/push_flow_spec.rb
466
+ - spec/features/switching_targets_spec.rb
467
+ - spec/spec_helper.rb
468
+ - spec/support/command_helper.rb
469
+ - spec/support/config_helper.rb
470
+ - spec/support/console_app_specker_matchers.rb
471
+ - spec/support/fake_home_dir.rb
472
+ - spec/support/interact_helper.rb
473
+ - spec/support/shared_examples/errors.rb
474
+ - spec/support/shared_examples/input.rb
475
+ - spec/support/specker_runner.rb
476
+ - spec/support/tracking_expector.rb