cf 0.1.5 → 0.6.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
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