Skip to content

Commit 7cc697c

Browse files
author
James Awesome
committed
Better test name spacing, correct false positive
1 parent 9853526 commit 7cc697c

File tree

1 file changed

+35
-28
lines changed

1 file changed

+35
-28
lines changed

spec/create_spec.rb

+35-28
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,14 @@
4141
Kitchen::Driver::Ec2.new(config)
4242
end
4343

44+
let(:iam_creds) do
45+
{
46+
aws_access_key_id: 'siam_creds_access_keu',
47+
aws_secret_access_key: 'iam_creds_secret_access_key',
48+
aws_session_token: 'iam_creds_session_token'
49+
}
50+
end
51+
4452
before do
4553
instance
4654
allow(driver).to receive(:create_server).and_return(server)
@@ -128,42 +136,41 @@
128136

129137
end
130138

131-
describe '#iam_creds' do
132-
let(:iam_creds) do
133-
{
134-
aws_access_key_id: 'siam_creds_access_keu',
135-
aws_secret_access_key: 'iam_creds_secret_access_key',
136-
aws_session_token: 'iam_creds_session_token'
137-
}
139+
context 'When #iam_creds returns values but they should not be used' do
140+
context 'because :aws_secret_key_id is not set via iam_creds' do
141+
it 'does not set config[:aws_session_token]' do
142+
config[:aws_secret_access_key] = 'adifferentsecret'
143+
allow(driver).to receive(:iam_creds).and_return(iam_creds)
144+
expect(driver.send(:config)[:aws_session_token]).to be_nil
145+
end
146+
end
147+
148+
context 'because :aws_access_key_id is not set via iam_creds' do
149+
it 'does not set config[:aws_session_token]' do
150+
allow(driver).to receive(:iam_creds).and_return(iam_creds)
151+
config[:aws_access_key_id] = 'adifferentsecret'
152+
expect(driver.send(:config)[:aws_session_token]).to be_nil
153+
end
154+
end
155+
156+
context 'because :aws_secret_key_id and :aws_access_key_id are set via iam_creds' do
157+
it 'does not set config[:aws_session_token]' do
158+
allow(driver).to receive(:iam_creds).and_return(iam_creds)
159+
expect(driver.send(:config)[:aws_session_token]).to be_nil
160+
end
138161
end
162+
end
139163

164+
describe '#iam_creds' do
140165
context 'when a metadata service is available' do
141166
before do
142167
allow(Net::HTTP).to receive(:get).with(URI.parse('http://169.254.169.254')).and_return(true)
143168
end
144169

145170
context 'and #fetch_credentials returns valid iam credentials' do
146-
context 'when :aws_secret_key_id is not set via iam_creds' do
147-
it 'does not set config[:aws_session_token] based on iam_creds' do
148-
config[:aws_secret_access_key] = 'adifferentsecret'
149-
allow(driver).to receive(:fetch_credentials).and_return(iam_creds)
150-
expect(driver.send(:config)[:aws_session_token]).to be_nil
151-
end
152-
end
153-
154-
context 'when :aws_access_key_id is not set via iam_creds' do
155-
it 'does not set config[:aws_session_token] based on iam_creds' do
156-
allow(driver).to receive(:fetch_credentials).and_return(iam_creds)
157-
config[:aws_access_key_id] = 'adifferentsecret'
158-
expect(driver.send(:config)[:aws_session_token]).to be_nil
159-
end
160-
end
161-
162-
context 'when :aws_secret_key_id and :aws_access_key_id are set via iam_creds' do
163-
it 'uses :aws_session_token from iam_creds' do
164-
allow(driver).to receive(:fetch_credentials).and_return(iam_creds)
165-
expect(driver.send(:config)[:aws_session_token]).to eq(iam_creds[:aws_session_token])
166-
end
171+
it '#iam_creds retuns the iam credentials from fetch_credentials' do
172+
allow(driver).to receive(:fetch_credentials).and_return(iam_creds)
173+
expect(driver.send(:iam_creds)).to eq(iam_creds)
167174
end
168175
end
169176

0 commit comments

Comments
 (0)