| 
									
										
										
										
											2021-10-18 19:44:29 +00:00
										 |  |  | import sure  # noqa # pylint: disable=unused-import | 
					
						
							| 
									
										
										
										
											2013-07-08 19:40:24 -04:00
										 |  |  | import requests | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-23 19:43:48 -05:00
										 |  |  | from moto import mock_ec2, settings | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if settings.TEST_SERVER_MODE: | 
					
						
							| 
									
										
										
										
											2017-03-12 21:04:19 -04:00
										 |  |  |     BASE_URL = "http://localhost:5000" | 
					
						
							| 
									
										
										
										
											2017-02-23 19:43:48 -05:00
										 |  |  | else: | 
					
						
							|  |  |  |     BASE_URL = "http://169.254.169.254" | 
					
						
							| 
									
										
										
										
											2013-07-08 19:40:24 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_ec2 | 
					
						
							|  |  |  | def test_latest_meta_data(): | 
					
						
							| 
									
										
										
										
											2022-11-17 21:41:08 -01:00
										 |  |  |     res = requests.get(f"{BASE_URL}/latest/meta-data/") | 
					
						
							| 
									
										
										
										
											2014-08-26 13:25:50 -04:00
										 |  |  |     res.content.should.equal(b"iam") | 
					
						
							| 
									
										
										
										
											2013-07-08 19:40:24 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_ec2 | 
					
						
							|  |  |  | def test_meta_data_iam(): | 
					
						
							| 
									
										
										
										
											2022-11-17 21:41:08 -01:00
										 |  |  |     res = requests.get(f"{BASE_URL}/latest/meta-data/iam") | 
					
						
							| 
									
										
										
										
											2013-07-08 19:40:24 -04:00
										 |  |  |     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(): | 
					
						
							| 
									
										
										
										
											2022-11-17 21:41:08 -01:00
										 |  |  |     res = requests.get(f"{BASE_URL}/latest/meta-data/iam/security-credentials/") | 
					
						
							| 
									
										
										
										
											2014-08-26 13:25:50 -04:00
										 |  |  |     res.content.should.equal(b"default-role") | 
					
						
							| 
									
										
										
										
											2013-07-08 19:40:24 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_ec2 | 
					
						
							|  |  |  | def test_meta_data_default_role(): | 
					
						
							| 
									
										
										
										
											2017-02-23 21:37:43 -05:00
										 |  |  |     res = requests.get( | 
					
						
							| 
									
										
										
										
											2022-11-17 21:41:08 -01:00
										 |  |  |         f"{BASE_URL}/latest/meta-data/iam/security-credentials/default-role" | 
					
						
							| 
									
										
										
										
											2019-10-31 08:44:26 -07:00
										 |  |  |     ) | 
					
						
							| 
									
										
										
										
											2013-07-08 19:40:24 -04:00
										 |  |  |     json_response = res.json() | 
					
						
							|  |  |  |     json_response.should.contain("AccessKeyId") | 
					
						
							|  |  |  |     json_response.should.contain("SecretAccessKey") | 
					
						
							|  |  |  |     json_response.should.contain("Token") | 
					
						
							|  |  |  |     json_response.should.contain("Expiration") |