Skip to content

Commit

Permalink
Fix the tests to not mess up one another
Browse files Browse the repository at this point in the history
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
  • Loading branch information
delfick committed Apr 22, 2017
1 parent 8b6fad9 commit 1b79a33
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions tests/amazon/test_credentials.py
Expand Up @@ -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)
Expand All @@ -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":
Expand All @@ -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'])
Expand Down

0 comments on commit 1b79a33

Please sign in to comment.