mirror of
https://github.com/inspec/inspec
synced 2024-09-21 06:51:56 +00:00
Incorporate PR feedback
Signed-off-by: Chris Redekop <chris.redekop@d2l.com>
This commit is contained in:
parent
44e15b85f9
commit
fcb8d17feb
2 changed files with 14 additions and 23 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue