cf 1.1.2.rc1 → 1.1.2.rc2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/cf/version.rb +1 -1
- data/lib/tunnel/tunnel.rb +7 -17
- data/spec/features/login_spec.rb +1 -7
- data/spec/features/org_spec.rb +4 -7
- data/spec/features/push_flow_spec.rb +4 -4
- data/spec/support/features_helper.rb +3 -1
- data/spec/tunnel/tunnel_spec.rb +54 -0
- metadata +9 -7
data/lib/cf/version.rb
CHANGED
data/lib/tunnel/tunnel.rb
CHANGED
@@ -120,31 +120,21 @@ class CFTunnel
|
|
120
120
|
end
|
121
121
|
|
122
122
|
def push_helper(token)
|
123
|
-
target_base = @client.target.sub(/^[^\.]+\./, "")
|
124
|
-
|
125
|
-
url = "#{random_helper_url}.#{target_base}"
|
126
|
-
is_v2 = @client.is_a?(CFoundry::V2::Client)
|
127
|
-
|
128
123
|
app = @client.app
|
129
124
|
app.name = HELPER_NAME
|
130
125
|
app.command = "bundle exec ruby server.rb"
|
131
126
|
app.total_instances = 1
|
132
127
|
app.memory = 128
|
133
|
-
app.env = {
|
134
|
-
|
135
|
-
if is_v2
|
136
|
-
app.space = @client.current_space
|
137
|
-
else
|
138
|
-
app.services = [@service] if @service
|
139
|
-
app.url = url
|
140
|
-
end
|
128
|
+
app.env = {"CALDECOTT_AUTH" => token}
|
141
129
|
|
130
|
+
space = app.space = @client.current_space
|
142
131
|
app.create!
|
143
132
|
|
144
|
-
if
|
145
|
-
|
146
|
-
|
147
|
-
|
133
|
+
app.bind(@service) if @service
|
134
|
+
|
135
|
+
domain = @client.domains.find { |d| d.owning_organization == nil }
|
136
|
+
|
137
|
+
app.create_route(:domain => domain, :space => space, :host => random_helper_url)
|
148
138
|
|
149
139
|
begin
|
150
140
|
app.upload(HELPER_APP)
|
data/spec/features/login_spec.rb
CHANGED
@@ -15,13 +15,7 @@ if ENV['CF_V2_RUN_INTEGRATION']
|
|
15
15
|
|
16
16
|
before do
|
17
17
|
Interact::Progress::Dots.start!
|
18
|
-
|
19
|
-
BlueShell::Runner.run("#{cf_bin} target #{target}") do |runner|
|
20
|
-
expect(runner).to say "Setting target"
|
21
|
-
expect(runner).to say target
|
22
|
-
runner.wait_for_exit
|
23
|
-
end
|
24
|
-
|
18
|
+
set_target
|
25
19
|
logout
|
26
20
|
end
|
27
21
|
|
data/spec/features/org_spec.rb
CHANGED
@@ -14,24 +14,21 @@ if ENV['CF_V2_RUN_INTEGRATION']
|
|
14
14
|
let(:target) { ENV['CF_V2_TEST_TARGET'] }
|
15
15
|
let(:organization) { ENV['CF_V2_TEST_ORGANIZATION'] }
|
16
16
|
let(:space) { ENV['CF_V2_TEST_SPACE'] }
|
17
|
-
let(:
|
18
|
-
let(:
|
17
|
+
let(:username) { ENV['CF_V2_ADMIN_USERNAME'] }
|
18
|
+
let(:password) { ENV['CF_V2_ADMIN_PW'] }
|
19
19
|
|
20
20
|
let(:run_id) { TRAVIS_BUILD_ID.to_s + Time.new.to_f.to_s.gsub(".", "_") }
|
21
21
|
let(:new_org_name) { "new-org-#{run_id}" }
|
22
22
|
|
23
23
|
let(:client) do
|
24
24
|
client = CFoundry::V2::Client.new("https://#{target}")
|
25
|
-
client.login(
|
25
|
+
client.login(username, password)
|
26
26
|
client
|
27
27
|
end
|
28
28
|
|
29
29
|
before do
|
30
30
|
Interact::Progress::Dots.start!
|
31
|
-
|
32
|
-
BlueShell::Runner.run("cf login #{admin_username} --password #{admin_password} -o #{organization} -s #{space}") do |runner|
|
33
|
-
runner.wait_for_exit(60)
|
34
|
-
end
|
31
|
+
login
|
35
32
|
end
|
36
33
|
|
37
34
|
after do
|
@@ -12,7 +12,7 @@ if ENV['CF_V2_RUN_INTEGRATION']
|
|
12
12
|
|
13
13
|
let(:run_id) { TRAVIS_BUILD_ID.to_s + Time.new.to_f.to_s.gsub(".", "_") }
|
14
14
|
let(:app) { "hello-sinatra-#{run_id}" }
|
15
|
-
let(:service_name) { "
|
15
|
+
let(:service_name) { "rds-mysql-#{run_id}" }
|
16
16
|
|
17
17
|
before do
|
18
18
|
FileUtils.rm_rf File.expand_path(CF::CONFIG_DIR)
|
@@ -65,7 +65,7 @@ if ENV['CF_V2_RUN_INTEGRATION']
|
|
65
65
|
|
66
66
|
# create a service here
|
67
67
|
expect(runner).to say "What kind?>"
|
68
|
-
runner.send_keys "
|
68
|
+
runner.send_keys "rds-mysql"
|
69
69
|
|
70
70
|
expect(runner).to say "Name?>"
|
71
71
|
runner.send_keys service_name
|
@@ -97,8 +97,8 @@ if ENV['CF_V2_RUN_INTEGRATION']
|
|
97
97
|
|
98
98
|
BlueShell::Runner.run("#{cf_bin} services") do |runner|
|
99
99
|
expect(runner).to say /name\s+service\s+provider\s+version\s+plan\s+bound apps/
|
100
|
-
expect(runner).to say /
|
101
|
-
|
100
|
+
expect(runner).to say /rds-mysql-.+?\s+ # name
|
101
|
+
rds-mysql\s+ # service
|
102
102
|
aws\s+ # provider
|
103
103
|
n\/a\s+ # version
|
104
104
|
10mb\s+ # plan
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe CFTunnel do
|
4
|
+
# temporary solution until we get rspec-mocks! ;)
|
5
|
+
class NullObject
|
6
|
+
def initialize(id = "")
|
7
|
+
@id = id
|
8
|
+
end
|
9
|
+
|
10
|
+
def ==(other)
|
11
|
+
@id == other.id
|
12
|
+
end
|
13
|
+
|
14
|
+
def <=>(other)
|
15
|
+
@id <=> other.id
|
16
|
+
end
|
17
|
+
|
18
|
+
def nil?
|
19
|
+
true
|
20
|
+
end
|
21
|
+
|
22
|
+
def method_missing(*args)
|
23
|
+
return self
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
let(:client) { fake_client }
|
28
|
+
let(:service) { NullObject.new }
|
29
|
+
|
30
|
+
subject { CFTunnel.new(client, service) }
|
31
|
+
|
32
|
+
describe "#open!" do
|
33
|
+
describe "creating a route for caldecott" do
|
34
|
+
let!(:app) { NullObject.new("app") }
|
35
|
+
let!(:domain) { fake(:domain, :owning_organization => nil) }
|
36
|
+
let!(:route) { fake(:route) }
|
37
|
+
let!(:space) { fake(:space) }
|
38
|
+
let(:host) { "caldecott" }
|
39
|
+
|
40
|
+
before do
|
41
|
+
stub(subject).random_helper_url { "caldecott" }
|
42
|
+
stub(client).app { app }
|
43
|
+
stub(client).current_space { space }
|
44
|
+
stub(client).domains { [fake(:domain, :owning_organization => fake(:organization)), domain] }
|
45
|
+
end
|
46
|
+
|
47
|
+
it "adds a new route to caldecott app" do
|
48
|
+
mock(app).create_route(:domain => domain, :host => host, :space => space)
|
49
|
+
|
50
|
+
subject.send("push_helper", "this is a token")
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.2.
|
4
|
+
version: 1.1.2.rc2
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-05-
|
13
|
+
date: 2013-05-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: addressable
|
@@ -51,10 +51,10 @@ dependencies:
|
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
54
|
+
version: 1.5.0
|
55
55
|
- - <
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version: '1.
|
57
|
+
version: '1.6'
|
58
58
|
type: :runtime
|
59
59
|
prerelease: false
|
60
60
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -62,10 +62,10 @@ dependencies:
|
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
64
64
|
- !ruby/object:Gem::Version
|
65
|
-
version: 1.
|
65
|
+
version: 1.5.0
|
66
66
|
- - <
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '1.
|
68
|
+
version: '1.6'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: interact
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -520,6 +520,7 @@ files:
|
|
520
520
|
- spec/support/shared_examples/errors.rb
|
521
521
|
- spec/support/shared_examples/input.rb
|
522
522
|
- spec/tunnel/plugin_spec.rb
|
523
|
+
- spec/tunnel/tunnel_spec.rb
|
523
524
|
- bin/cf
|
524
525
|
homepage: http://github.com/cloudfoundry/cf
|
525
526
|
licenses: []
|
@@ -535,7 +536,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
535
536
|
version: '0'
|
536
537
|
segments:
|
537
538
|
- 0
|
538
|
-
hash: -
|
539
|
+
hash: -4028856741876005173
|
539
540
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
540
541
|
none: false
|
541
542
|
requirements:
|
@@ -666,3 +667,4 @@ test_files:
|
|
666
667
|
- spec/support/shared_examples/errors.rb
|
667
668
|
- spec/support/shared_examples/input.rb
|
668
669
|
- spec/tunnel/plugin_spec.rb
|
670
|
+
- spec/tunnel/tunnel_spec.rb
|