diff --git a/tests/test_core/test_instance_metadata.py b/tests/test_core/test_instance_metadata.py new file mode 100644 index 000000000..e11e67b94 --- /dev/null +++ b/tests/test_core/test_instance_metadata.py @@ -0,0 +1,36 @@ +import requests + +from moto import mock_ec2 + + +@mock_ec2 +def test_latest_meta_data(): + res = requests.get("http://169.254.169.254/latest/meta-data/") + res.content.should.equal("iam") + + +@mock_ec2 +def test_meta_data_iam(): + res = requests.get("http://169.254.169.254/latest/meta-data/iam") + json_response = res.json() + default_role = json_response['security-credentials']['default-role'] + default_role.should.contain('AccessKeyId') + default_role.should.contain('SecretAccessKey') + default_role.should.contain('Token') + default_role.should.contain('Expiration') + + +@mock_ec2 +def test_meta_data_security_credentials(): + res = requests.get("http://169.254.169.254/latest/meta-data/iam/security-credentials/") + res.content.should.equal("default-role") + + +@mock_ec2 +def test_meta_data_default_role(): + res = requests.get("http://169.254.169.254/latest/meta-data/iam/security-credentials/default-role") + json_response = res.json() + json_response.should.contain('AccessKeyId') + json_response.should.contain('SecretAccessKey') + json_response.should.contain('Token') + json_response.should.contain('Expiration')