Incorporate PR feedback

Signed-off-by: Chris Redekop <chris.redekop@d2l.com>
This commit is contained in:
Chris Redekop 2017-04-05 17:23:54 +00:00 committed by Christoph Hartmann
parent 44e15b85f9
commit fcb8d17feb
2 changed files with 14 additions and 23 deletions

View file

@ -9,20 +9,19 @@ class AwsIamAccessKey < Inspec.resource(1)
"
def initialize(opts, conn = AWSConnection.new)
@opts = opts
@access_key = opts[:access_key]
@iam_client = conn.iam_client
end
def id
access_key.access_key_id
access_key_metadata.access_key_id
end
def active?
'Active'.eql? access_key.status
'Active'.eql? access_key_metadata.status
end
def create_date
access_key.create_date
access_key_metadata.create_date
end
def last_used_date
@ -32,19 +31,19 @@ class AwsIamAccessKey < Inspec.resource(1)
private
def access_key_last_used
@access_key_last_used ||= @iam_client.get_access_key_last_used({ access_key_id: access_key.access_key_id }).access_key_last_used
@access_key_last_used ||= @iam_client.get_access_key_last_used({ access_key_id: access_key_metadata.access_key_id }).access_key_last_used
end
def access_key
if !@access_key
@iam_client.list_access_keys({ user_name: @opts[:username] }).access_key_metadata.each do |access_key|
if access_key.access_key_id.eql? @opts[:id]
@access_key = access_key
def access_key_metadata
if !(defined? @access_key_metadata) || !@access_key_metadata
@iam_client.list_access_keys({ user_name: @opts[:username] }).access_key_metadata.each do |access_key_metadata|
if access_key_metadata.access_key_id.eql? @opts[:id]
@access_key_metadata = access_key_metadata
break
end
end
end
@access_key
@access_key_metadata
end
end

View file

@ -15,38 +15,36 @@ class AwsIamAccessKeyTest < Minitest::Test
@mockAccessKey = Minitest::Mock.new
@mockConn.expect :iam_client, @mockClient
@mockClient.expect :list_access_keys, OpenStruct.new({'access_key_metadata' => [@mockAccessKey]}), [{user_name: Username}]
@mockAccessKey.expect :access_key_id, Id
end
def test_that_id_returns_access_key_id_always
mock_access_key_lookup
@mockAccessKey.expect :access_key_id, Id
assert_equal AwsIamAccessKey.new({username: Username, id: Id}, @mockConn).id, Id
end
=begin
def test_that_active_returns_true_when_access_key_status_is_active
mock_access_key_lookup
@mockAccessKey.expect :status, 'Active'
assert AwsIamAccessKey.new({username: Username, id: Id}, @mockConn).active?
end
def test_that_active_returns_false_when_access_key_status_is_not_active
mock_access_key_lookup
@mockAccessKey.expect :status, 'Foo'
assert !AwsIamAccessKey.new({username: Username, id: Id}, @mockConn).active?
end
def test_that_create_date_returns_access_key_last_used_date_always
mock_access_key_lookup
@mockAccessKey.expect :create_date, Date
assert_equal AwsIamAccessKey.new({username: Username, id: Id}, @mockConn).create_date, Date
end
def test_that_create_returns_access_key_create_date_always
mock_access_key_lookup
@mockAccessKey.expect :access_key_id, Id
mockAccessKeyLastUsed = Minitest::Mock.new
mockAccessKeyLastUsed.expect :last_used_date, Date
@ -54,11 +52,5 @@ class AwsIamAccessKeyTest < Minitest::Test
assert_equal AwsIamAccessKey.new({username: Username, id: Id}, @mockConn).last_used_date, Date
end
private
def mock_access_key_lookup
@mockClient.expect :list_access_keys, OpenStruct.new({'access_key_metadata' => [@mockAccessKey]}), [{user_name: Username}]
@mockAccessKey.expect :access_key_id, Id
end
=end
end