From 1b79a338bb4d729d65672da0972dad5e7d392a27 Mon Sep 17 00:00:00 2001 From: Stephen Moore Date: Sat, 22 Apr 2017 11:01:54 +1000 Subject: [PATCH] Fix the tests to not mess up one another It would appear the verifies credentials without assuming a role test was using the credentials put in the environment by the test that was assuming a role --- tests/amazon/test_credentials.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/tests/amazon/test_credentials.py b/tests/amazon/test_credentials.py index 0195b4f..7d00d71 100644 --- a/tests/amazon/test_credentials.py +++ b/tests/amazon/test_credentials.py @@ -5,12 +5,19 @@ from tests.helpers import BespinCase +from noseOfYeti.tokeniser.support import noy_sup_setUp from input_algorithms.spec_base import NotSpecified from moto import mock_sts import os # NOTE: moto uses account_id 123456789012 describe BespinCase, "Credentials": + before_each: + # Make sure the environ doesn't already have credentials + for key in ("AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN", "AWS_SECURITY_TOKEN"): + if key in os.environ: + del os.environ[key] + @mock_sts it "verifies credentials": credentials = Credentials('us-west-1', 123456789012, NotSpecified) @@ -23,10 +30,11 @@ self.assertEquals(credentials.session.region_name, 'us-west-1') aws_creds = credentials.session.get_credentials() - # NOTE: moto creds - self.assertEquals(aws_creds.access_key, 'AKIAIOSFODNN7EXAMPLE') - self.assertEquals(aws_creds.secret_key, 'aJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY') - self.assertEquals(aws_creds.token, 'BQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE') + + # Moto provides the following credentials from 169.254.269.254 + self.assertEquals(aws_creds.access_key, 'test-key') + self.assertEquals(aws_creds.secret_key, 'test-secret-key') + self.assertEquals(aws_creds.token, 'test-session-token') @mock_sts it "verify_creds ensures account_id matches aws": @@ -47,6 +55,12 @@ self.assertTrue('AWS_SECURITY_TOKEN' in os.environ) self.assertTrue('AWS_SESSION_TOKEN' in os.environ) + # Moto provides the following credentials from an sts assume role + self.assertEquals(os.environ["AWS_ACCESS_KEY_ID"], 'AKIAIOSFODNN7EXAMPLE') + self.assertEquals(os.environ["AWS_SECRET_ACCESS_KEY"], 'aJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY') + self.assertEquals(os.environ["AWS_SECURITY_TOKEN"], 'BQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE') + self.assertEquals(os.environ["AWS_SESSION_TOKEN"], 'BQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE') + aws_creds = credentials.session.get_credentials() self.assertEquals(aws_creds.access_key, os.environ['AWS_ACCESS_KEY_ID']) self.assertEquals(aws_creds.secret_key, os.environ['AWS_SECRET_ACCESS_KEY'])