dpl 1.6.1.travis.447.1 → 1.6.1.travis.449.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YWFhNTIzYjc4N2E2ZmJiMTkzYWM2ZjRjNDcxMzcxZjQ3NjY0YjNmMg==
4
+ ZWU5ZmI4OWQ0OTNlOTA0MmRhZDEwN2QyMjc1YzEyMTc2MTJiZWI3NQ==
5
5
  data.tar.gz: !binary |-
6
- NzI4NTNkMmQ1MmIyNzUzZTVjMTI2ZThlYmQxN2UzYzdkYTkyODkwYQ==
6
+ ODBkMzg4MjdiMWM4ODRjYWExMDY2YzMzMDk1ZDQ4NzJlZjE5YWU0Mg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NDc5Y2Y1NmQ1OWFkYjliYzE0MTEyZTkzZWJhZDgxMzExYzRiYmFkOTU4YjFh
10
- YjA1NmU0ZDMzYTc2YTk2Y2M1NTU0ZWFiOTUxMjYzNDk0MTAyN2YzZGM1ZjNl
11
- YWFkNmExM2ZkYWJjNmFiMGM5ZDZhYjBiY2MyNzRiOWQxZWY0NDI=
9
+ MzlkMzhiZDdiZjRmODgxZTEyODE1NmFhOGIwZTMwZmE2ZDRjZGQyMWRkZmNh
10
+ ZDJhMDZmZDVlMmMzMDg3NWNhNTJiMDcwZTg3OTIyZjhlNTkzNGE0M2JjMDIz
11
+ ZmQ2YWVmYWVjMzI5MGU0ZTgxZDFlYmEzNjE5M2EyYjhkNzA0MTk=
12
12
  data.tar.gz: !binary |-
13
- NzkyY2Q3Y2M5MTcwYjY1ZDZkNjVmNjZiY2UyMzViNzNjZWJlMzA0N2U3NzMx
14
- MmUxYzFjYjQwMzMyOWMzZGIyMTQ5YzU4NzVhOTdjMjU3NThkZDdlZDhhMzJl
15
- ZmQzY2ZhYWE5NzA3NzhiYmMxNjNkZWE3NDkxMGIwNTBmNjExYzU=
13
+ NDYyZGQ3YTVmZjBiMjg2YzA5YzQ4YTFmYzYwZTJjY2EwYjQzMDBmNjZiYzU0
14
+ MzM0ZTk2ZTY4ZGZmMTIwZTM4NGMyMmUzYzFkODRlNTIwMTkzMTJkM2FkYjJm
15
+ MTdmOWU1ZTVhZDcwNTIwMTU3MjUzZTVmMjg0ZjdkZWUxZGMwZmI=
data/dpl.gemspec CHANGED
@@ -16,7 +16,8 @@ Gem::Specification.new do |s|
16
16
  s.require_path = 'lib'
17
17
  s.required_ruby_version = '>= 1.8.7'
18
18
 
19
- s.add_development_dependency 'rspec', '~> 2.99.0'
19
+ s.add_development_dependency 'rspec', '~> 3.0.0'
20
+ s.add_development_dependency 'rspec-its'
20
21
  s.add_development_dependency 'rake'
21
22
  s.add_development_dependency 'simplecov'
22
23
  s.add_development_dependency 'json'
data/spec/cli_spec.rb CHANGED
@@ -2,30 +2,30 @@ require 'spec_helper'
2
2
  require 'dpl/cli'
3
3
 
4
4
  describe DPL::CLI do
5
- describe :options do
6
- example { described_class.new.options[:app] .should be == File.basename(Dir.pwd) }
7
- example { described_class.new(:app => 'foo') .options[:app].should be == 'foo' }
8
- example { described_class.new("--app=foo") .options[:app].should be == 'foo' }
9
- example { described_class.new("--app") .options[:app].should be == true }
10
- example { described_class.new("--app=foo", "--app=bar") .options[:app].should be == ['foo', 'bar'] }
5
+ describe "#options" do
6
+ example { expect(described_class.new.options[:app]) .to eq(File.basename(Dir.pwd)) }
7
+ example { expect(described_class.new(:app => 'foo') .options[:app]).to eq('foo') }
8
+ example { expect(described_class.new("--app=foo") .options[:app]).to eq('foo') }
9
+ example { expect(described_class.new("--app") .options[:app]).to eq(true) }
10
+ example { expect(described_class.new("--app=foo", "--app=bar") .options[:app]).to eq(['foo', 'bar']) }
11
11
 
12
12
  example "error handling" do
13
- $stderr.should_receive(:puts).with('invalid option "app"')
13
+ expect($stderr).to receive(:puts).with('invalid option "app"')
14
14
  expect { described_class.new("app") }.to raise_error(SystemExit)
15
15
  end
16
16
  end
17
17
 
18
- describe :run do
18
+ describe "#run" do
19
19
  example "triggers deploy" do
20
20
  provider = double('provider')
21
- DPL::Provider.should_receive(:new).and_return(provider)
22
- provider.should_receive(:deploy)
21
+ expect(DPL::Provider).to receive(:new).and_return(provider)
22
+ expect(provider).to receive(:deploy)
23
23
 
24
24
  described_class.run("--provider=foo")
25
25
  end
26
26
 
27
27
  example "error handling" do
28
- $stderr.should_receive(:puts).with('missing provider')
28
+ expect($stderr).to receive(:puts).with('missing provider')
29
29
  expect { described_class.run }.to raise_error(SystemExit)
30
30
  end
31
31
 
@@ -6,29 +6,29 @@ describe DPL::Provider::Appfog do
6
6
  described_class.new(DummyContext.new, :email => 'blah@foo.com', :password => 'bar')
7
7
  end
8
8
 
9
- describe :check_auth do
9
+ describe "#check_auth" do
10
10
  example do
11
- provider.context.should_receive(:shell).with("af login --email=blah@foo.com --password=bar")
11
+ expect(provider.context).to receive(:shell).with("af login --email=blah@foo.com --password=bar")
12
12
  provider.check_auth
13
13
  end
14
14
  end
15
15
 
16
- describe :needs_key? do
16
+ describe "#needs_key?" do
17
17
  example do
18
- provider.needs_key?.should == false
18
+ expect(provider.needs_key?).to eq(false)
19
19
  end
20
20
  end
21
21
 
22
- describe :push_app do
22
+ describe "#push_app" do
23
23
  example "Without :app" do
24
- provider.context.should_receive(:shell).with("af update dpl")
25
- provider.context.should_receive(:shell).with("af logout")
24
+ expect(provider.context).to receive(:shell).with("af update dpl")
25
+ expect(provider.context).to receive(:shell).with("af logout")
26
26
  provider.push_app
27
27
  end
28
28
  example "With :app" do
29
29
  provider.options.update(:app => 'test')
30
- provider.context.should_receive(:shell).with("af update test")
31
- provider.context.should_receive(:shell).with("af logout")
30
+ expect(provider.context).to receive(:shell).with("af update test")
31
+ expect(provider.context).to receive(:shell).with("af logout")
32
32
  provider.push_app
33
33
  end
34
34
  end
@@ -10,12 +10,12 @@ describe DPL::Provider::Cloud66 do
10
10
  let(:not_found_response){ double(code: '404') }
11
11
  let(:options){ {} }
12
12
 
13
- describe :push_app do
13
+ describe "#push_app" do
14
14
  context 'with a successful response' do
15
15
  let(:options){ {:redeployment_hook => 'https://hooks.cloud66.com/stacks/redeploy/0101010101010101'} }
16
16
 
17
17
  example do
18
- provider.should_receive(:webhook_call).with('https', 'hooks.cloud66.com', 443, '/stacks/redeploy/0101010101010101').and_return(successful_response)
18
+ expect(provider).to receive(:webhook_call).with('https', 'hooks.cloud66.com', 443, '/stacks/redeploy/0101010101010101').and_return(successful_response)
19
19
  provider.push_app
20
20
  end
21
21
  end
@@ -24,21 +24,21 @@ describe DPL::Provider::Cloud66 do
24
24
  let(:options){ {:redeployment_hook => 'https://hooks.cloud66.com/stacks/redeploy/0101010101010101'} }
25
25
 
26
26
  it 'should raise an error' do
27
- provider.should_receive(:webhook_call).with('https', 'hooks.cloud66.com', 443, '/stacks/redeploy/0101010101010101').and_return(not_found_response)
28
- lambda { provider.push_app }.should raise_error(DPL::Error, "Redeployment failed [404]")
27
+ expect(provider).to receive(:webhook_call).with('https', 'hooks.cloud66.com', 443, '/stacks/redeploy/0101010101010101').and_return(not_found_response)
28
+ expect { provider.push_app }.to raise_error(DPL::Error, "Redeployment failed [404]")
29
29
  end
30
30
  end
31
31
 
32
32
  context 'with missing redeployment_hook option' do
33
33
  it 'should raise an error' do
34
- lambda { provider.push_app }.should raise_error(DPL::Error, "missing redeployment_hook")
34
+ expect { provider.push_app }.to raise_error(DPL::Error, "missing redeployment_hook")
35
35
  end
36
36
  end
37
37
  end
38
38
 
39
- describe :needs_key? do
39
+ describe "#needs_key?" do
40
40
  example do
41
- provider.needs_key?.should == false
41
+ expect(provider.needs_key?).to eq(false)
42
42
  end
43
43
  end
44
44
  end
@@ -11,65 +11,65 @@ describe DPL::Provider::CloudFiles do
11
11
  described_class.new(DummyContext.new, :username => 'username', :api_key => 'api key', :container => 'travis', :region => 'dfw')
12
12
  end
13
13
 
14
- describe :needs_key? do
14
+ describe "#needs_key?" do
15
15
  example do
16
- provider.needs_key?.should == false
16
+ expect(provider.needs_key?).to eq(false)
17
17
  end
18
18
  end
19
19
 
20
- describe :api do
20
+ describe "#api" do
21
21
  example do
22
- Fog::Storage.should_receive(:new).with(:provider => 'Rackspace', :rackspace_username => 'username', :rackspace_api_key => 'api key', :rackspace_region => 'dfw')
22
+ expect(Fog::Storage).to receive(:new).with(:provider => 'Rackspace', :rackspace_username => 'username', :rackspace_api_key => 'api key', :rackspace_region => 'dfw')
23
23
 
24
24
  provider.api
25
25
  end
26
26
  end
27
27
 
28
- describe :check_auth do
28
+ describe "#check_auth" do
29
29
  example do
30
- provider.should_receive(:log).with('Authenticated as username')
30
+ expect(provider).to receive(:log).with('Authenticated as username')
31
31
 
32
32
  provider.check_auth
33
33
  end
34
34
  end
35
35
 
36
- describe :push_app do
36
+ describe "#push_app" do
37
37
  let :files do
38
38
  files = double
39
39
 
40
40
  directory = double
41
- directory.stub(:files) { files }
41
+ allow(directory).to receive(:files) { files }
42
42
 
43
43
  directories = double
44
- directories.should_receive(:get).with('travis').and_return(directory)
44
+ expect(directories).to receive(:get).with('travis').and_return(directory)
45
45
 
46
46
  service = double(:service)
47
- service.stub(:directories) { directories }
48
- provider.stub(:api) { service }
47
+ allow(service).to receive(:directories) { directories }
48
+ allow(provider).to receive(:api) { service }
49
49
 
50
50
  files
51
51
  end
52
52
 
53
53
  example do
54
- files.should_receive(:create).with(:key => 'a', :body => 'a body')
55
- files.should_receive(:create).with(:key => 'b', :body => 'b body')
56
- files.should_receive(:create).with(:key => 'c', :body => 'c body')
54
+ expect(files).to receive(:create).with(:key => 'a', :body => 'a body')
55
+ expect(files).to receive(:create).with(:key => 'b', :body => 'b body')
56
+ expect(files).to receive(:create).with(:key => 'c', :body => 'c body')
57
57
 
58
- Dir.should_receive(:glob).with('**/*').and_return(['a', 'b', 'c'])
59
- File.stub(:open) { |name| "#{name} body" }
58
+ expect(Dir).to receive(:glob).with('**/*').and_return(['a', 'b', 'c'])
59
+ allow(File).to receive(:open) { |name| "#{name} body" }
60
60
 
61
61
  provider.push_app
62
62
  end
63
63
  end
64
64
 
65
- describe :deploy do
65
+ describe "#deploy" do
66
66
  example 'Not Found' do
67
67
  directories = double
68
- directories.stub(:get) { nil }
68
+ allow(directories).to receive(:get) { nil }
69
69
 
70
70
  service = double(:service)
71
- service.stub(:directories) { directories }
72
- provider.stub(:api) { service }
71
+ allow(service).to receive(:directories) { directories }
72
+ allow(provider).to receive(:api) { service }
73
73
 
74
74
  expect { provider.deploy }.to raise_error(DPL::Error, 'The specified container does not exist.')
75
75
  end
@@ -20,46 +20,46 @@ describe DPL::Provider::CloudControl do
20
20
  end
21
21
 
22
22
  it '#check_auth should call #headers_with_token' do
23
- provider.should receive(:headers_with_token)
24
- provider.check_auth.should
23
+ expect(provider).to receive(:headers_with_token)
24
+ provider.check_auth
25
25
  end
26
26
 
27
27
  describe '#check_app' do
28
28
  it 'on deployment found' do
29
- provider.should receive(:api_call).and_return double(
29
+ expect(provider).to receive(:api_call).and_return double(
30
30
  :code => '200',
31
31
  :body => '{"branch":"foo_repo.git"}'
32
32
  )
33
- provider.instance_variable_get(:@repository).should be_nil
33
+ expect(provider.instance_variable_get(:@repository)).to be_nil
34
34
  provider.check_app
35
- provider.instance_variable_get(:@repository).should == 'foo_repo.git'
35
+ expect(provider.instance_variable_get(:@repository)).to eq('foo_repo.git')
36
36
  end
37
37
 
38
38
  it 'on deployment not found' do
39
- provider.should receive(:api_call).and_return double(:code => '410')
39
+ expect(provider).to receive(:api_call).and_return double(:code => '410')
40
40
  expect { provider.check_app }.to raise_error(DPL::Error)
41
41
  end
42
42
  end
43
43
 
44
44
  describe '#setup_key' do
45
45
  before do
46
- File.should receive(:read).with('file').and_return('foo_key')
47
- provider.should receive(:user).and_return({ 'username' => 'foo_user' })
46
+ expect(File).to receive(:read).with('file').and_return('foo_key')
47
+ expect(provider).to receive(:user).and_return({ 'username' => 'foo_user' })
48
48
  end
49
49
 
50
50
  it 'on api success' do
51
- provider.should receive(:api_call).with('POST', '/user/foo_user/key', '{"key":"foo_key"}').and_return double(
51
+ expect(provider).to receive(:api_call).with('POST', '/user/foo_user/key', '{"key":"foo_key"}').and_return double(
52
52
  :code => '200',
53
53
  :body => '{ "key": "foo_key", "key_id": "foo_key_id"}'
54
54
  )
55
55
 
56
- provider.instance_variable_get(:@ssh_key_id).should be_nil
56
+ expect(provider.instance_variable_get(:@ssh_key_id)).to be_nil
57
57
  provider.setup_key 'file'
58
- provider.instance_variable_get(:@ssh_key_id).should == 'foo_key_id'
58
+ expect(provider.instance_variable_get(:@ssh_key_id)).to eq('foo_key_id')
59
59
  end
60
60
 
61
61
  it 'on api failure' do
62
- provider.should receive(:api_call).with('POST', '/user/foo_user/key', '{"key":"foo_key"}').and_return double(:code => '401')
62
+ expect(provider).to receive(:api_call).with('POST', '/user/foo_user/key', '{"key":"foo_key"}').and_return double(:code => '401')
63
63
 
64
64
  expect { provider.setup_key 'file' }.to raise_error(DPL::Error)
65
65
  end
@@ -68,16 +68,16 @@ describe DPL::Provider::CloudControl do
68
68
  describe '#remove_key' do
69
69
  before do
70
70
  provider.instance_variable_set(:@ssh_key_id, 'foo_key_id')
71
- provider.should receive(:user).and_return({ 'username' => 'foo_user' })
71
+ expect(provider).to receive(:user).and_return({ 'username' => 'foo_user' })
72
72
  end
73
73
 
74
74
  it 'on api success' do
75
- provider.should receive(:api_call).with('DELETE', '/user/foo_user/key/foo_key_id').and_return double(:code => '204')
75
+ expect(provider).to receive(:api_call).with('DELETE', '/user/foo_user/key/foo_key_id').and_return double(:code => '204')
76
76
  provider.remove_key
77
77
  end
78
78
 
79
79
  it 'on api failure' do
80
- provider.should receive(:api_call).with('DELETE', '/user/foo_user/key/foo_key_id').and_return double(:code => '410')
80
+ expect(provider).to receive(:api_call).with('DELETE', '/user/foo_user/key/foo_key_id').and_return double(:code => '410')
81
81
  expect { provider.remove_key }.to raise_error(DPL::Error)
82
82
  end
83
83
  end
@@ -85,9 +85,9 @@ describe DPL::Provider::CloudControl do
85
85
  it '#push_app shuld deploy the app' do
86
86
  provider.instance_variable_set(:@repository, 'foo_repo.git')
87
87
  context = double(:shell)
88
- context.should receive(:shell).with("git push foo_repo.git HEAD:master -f")
89
- provider.should receive(:context).and_return context
90
- provider.should receive(:deploy_app)
88
+ expect(context).to receive(:shell).with("git push foo_repo.git HEAD:master -f")
89
+ expect(provider).to receive(:context).and_return context
90
+ expect(provider).to receive(:deploy_app)
91
91
 
92
92
  provider.push_app
93
93
  end
@@ -96,19 +96,19 @@ describe DPL::Provider::CloudControl do
96
96
  describe '#get_token' do
97
97
  it 'on api success' do
98
98
  request = double()
99
- request.should receive(:basic_auth).with('foo@test.com', 'password')
100
- Net::HTTP::Post.should receive(:new).with('/token/').and_return request
99
+ expect(request).to receive(:basic_auth).with('foo@test.com', 'password')
100
+ expect(Net::HTTP::Post).to receive(:new).with('/token/').and_return request
101
101
 
102
- provider.instance_variable_get(:@http).should receive(:request).and_return double(
102
+ expect(provider.instance_variable_get(:@http)).to receive(:request).and_return double(
103
103
  :code => '200',
104
104
  :body => '{ "token": "foo_token"}'
105
105
  )
106
106
 
107
- provider.instance_eval { get_token }.should == { 'token' => 'foo_token' }
107
+ expect(provider.instance_eval { get_token }).to eq({ 'token' => 'foo_token' })
108
108
  end
109
109
 
110
110
  it 'on api failure' do
111
- provider.instance_variable_get(:@http).should receive(:request).and_return double(:code => '401')
111
+ expect(provider.instance_variable_get(:@http)).to receive(:request).and_return double(:code => '401')
112
112
 
113
113
  expect do
114
114
  provider.instance_eval { get_token }
@@ -117,30 +117,30 @@ describe DPL::Provider::CloudControl do
117
117
  end
118
118
 
119
119
  it '#headers_with_token should return headers' do
120
- provider.should receive(:get_token).and_return({ 'token' => 'foo_token' })
120
+ expect(provider).to receive(:get_token).and_return({ 'token' => 'foo_token' })
121
121
  expected_return = {
122
122
  'Authorization' => 'cc_auth_token="foo_token"',
123
123
  'Content-Type' => 'application/json'
124
124
  }
125
125
 
126
- provider.instance_eval { headers_with_token }.should == expected_return
126
+ expect(provider.instance_eval { headers_with_token }).to eq(expected_return)
127
127
  end
128
128
 
129
129
  describe '#get_headers' do
130
130
  let(:expected_args) { [ 'GET', '/user/', nil, {'foo' => 'headers'} ] }
131
131
 
132
132
  before do
133
- provider.should receive(:headers_with_token).and_return({ 'foo' => 'headers' })
133
+ expect(provider).to receive(:headers_with_token).and_return({ 'foo' => 'headers' })
134
134
  end
135
135
 
136
136
  it 'on token valid' do
137
- provider.should receive(:api_call).with(*expected_args).and_return double(:code => '200')
138
- provider.instance_eval { get_headers }.should == { 'foo' => 'headers' }
137
+ expect(provider).to receive(:api_call).with(*expected_args).and_return double(:code => '200')
138
+ expect(provider.instance_eval { get_headers }).to eq({ 'foo' => 'headers' })
139
139
  end
140
140
 
141
141
  it 'on token expired' do
142
- provider.should receive(:api_call).with(*expected_args).and_return double(:code => '401')
143
- provider.should receive(:headers_with_token).with({ :new_token => true})
142
+ expect(provider).to receive(:api_call).with(*expected_args).and_return double(:code => '401')
143
+ expect(provider).to receive(:headers_with_token).with({ :new_token => true})
144
144
 
145
145
  provider.instance_eval { get_headers }
146
146
  end
@@ -148,7 +148,7 @@ describe DPL::Provider::CloudControl do
148
148
 
149
149
  it '#api_call should send request' do
150
150
  expected_args = [ "foo_method", "foo_path", "\"foo\":\"data\"", {"foo"=>"headers"} ]
151
- provider.instance_variable_get(:@http).should receive(:send_request).with(*expected_args)
151
+ expect(provider.instance_variable_get(:@http)).to receive(:send_request).with(*expected_args)
152
152
 
153
153
  provider.instance_eval do
154
154
  api_call('foo_method', 'foo_path', '"foo":"data"', { 'foo' => 'headers'})
@@ -157,12 +157,12 @@ describe DPL::Provider::CloudControl do
157
157
 
158
158
  describe '#deploy_app' do
159
159
  it 'on api success' do
160
- provider.should receive(:api_call).with('PUT', '/app/foo_app/deployment/default', '{"version":-1}').and_return double(:code => '200')
160
+ expect(provider).to receive(:api_call).with('PUT', '/app/foo_app/deployment/default', '{"version":-1}').and_return double(:code => '200')
161
161
  provider.instance_eval { deploy_app }
162
162
  end
163
163
 
164
164
  it 'on api failure' do
165
- provider.should receive(:api_call).with('PUT', '/app/foo_app/deployment/default', '{"version":-1}').and_return double(:code => '410')
165
+ expect(provider).to receive(:api_call).with('PUT', '/app/foo_app/deployment/default', '{"version":-1}').and_return double(:code => '410')
166
166
  expect do
167
167
  provider.instance_eval { deploy_app }
168
168
  end.to raise_error(DPL::Error)
@@ -171,16 +171,16 @@ describe DPL::Provider::CloudControl do
171
171
 
172
172
  describe '#user' do
173
173
  it 'on api success' do
174
- provider.should receive(:api_call).with('GET', '/user/').and_return double(
174
+ expect(provider).to receive(:api_call).with('GET', '/user/').and_return double(
175
175
  :code => '200',
176
176
  :body => '["foo_user"]'
177
177
  )
178
178
 
179
- provider.instance_eval { user }.should == 'foo_user'
179
+ expect(provider.instance_eval { user }).to eq('foo_user')
180
180
  end
181
181
 
182
182
  it 'on api failure' do
183
- provider.should receive(:api_call).with('GET', '/user/').and_return double(:code => '410')
183
+ expect(provider).to receive(:api_call).with('GET', '/user/').and_return double(:code => '410')
184
184
 
185
185
  expect do
186
186
  provider.instance_eval { user }
@@ -9,7 +9,7 @@ describe DPL::Provider::CloudFoundry do
9
9
  space: 'outer')
10
10
  end
11
11
 
12
- describe :check_auth do
12
+ describe "#check_auth" do
13
13
  example do
14
14
  expect(provider.context).to receive(:shell).with('wget http://go-cli.s3-website-us-east-1.amazonaws.com/releases/latest/cf-cli_amd64.deb -qO temp.deb && sudo dpkg -i temp.deb')
15
15
  expect(provider.context).to receive(:shell).with('rm temp.deb')
@@ -19,19 +19,19 @@ describe DPL::Provider::CloudFoundry do
19
19
  end
20
20
  end
21
21
 
22
- describe :check_app do
22
+ describe "#check_app" do
23
23
  example do
24
24
  expect{provider.check_app}.to raise_error('Application must have a manifest.yml for unattended deployment')
25
25
  end
26
26
  end
27
27
 
28
- describe :needs_key? do
28
+ describe "#needs_key?" do
29
29
  example do
30
30
  expect(provider.needs_key?).to eq(false)
31
31
  end
32
32
  end
33
33
 
34
- describe :push_app do
34
+ describe "#push_app" do
35
35
  example do
36
36
  expect(provider.context).to receive(:shell).with('cf push')
37
37
  expect(provider.context).to receive(:shell).with('cf logout')