inspec/test/unit/resources/aws_iam_root_user_test.rb

41 lines
1.2 KiB
Ruby
Raw Normal View History

# author: Miles Tjandrawidjaja
require 'helper'
require 'aws_iam_root_user'
class AwsIamRootUserTest < Minitest::Test
def setup
@mock_conn = Minitest::Mock.new
@mock_client = Minitest::Mock.new
@mock_conn.expect :iam_client, @mock_client
end
def test_access_key_count_returns_from_summary_account
expected_keys = 2
test_summary_map = OpenStruct.new(
summary_map: { 'AccountAccessKeysPresent' => expected_keys },
)
@mock_client.expect :get_account_summary, test_summary_map
assert_equal expected_keys, AwsIamRootUser.new(@mock_conn).access_key_count
end
def test_has_mfa_enabled_returns_true_when_account_mfa_devices_is_one
test_summary_map = OpenStruct.new(
summary_map: { 'AccountMFAEnabled' => 1 },
)
@mock_client.expect :get_account_summary, test_summary_map
assert_equal true, AwsIamRootUser.new(@mock_conn).has_mfa_enabled?
end
def test_has_mfa_enabled_returns_false_when_account_mfa_devices_is_zero
test_summary_map = OpenStruct.new(
summary_map: { 'AccountMFAEnabled' => 0 },
)
@mock_client.expect :get_account_summary, test_summary_map
assert_equal false, AwsIamRootUser.new(@mock_conn).has_mfa_enabled?
end
end