113 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			113 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | import boto3 | ||
|  | 
 | ||
|  | from datetime import timedelta, datetime | ||
|  | from moto import mock_appsync | ||
|  | from moto.core.utils import unix_time | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_appsync | ||
|  | def test_create_api_key_simple(): | ||
|  |     client = boto3.client("appsync", region_name="eu-west-1") | ||
|  | 
 | ||
|  |     api_id = client.create_graphql_api(name="api1", authenticationType="API_KEY")[ | ||
|  |         "graphqlApi" | ||
|  |     ]["apiId"] | ||
|  |     resp = client.create_api_key(apiId=api_id) | ||
|  | 
 | ||
|  |     resp.should.have.key("apiKey") | ||
|  |     api_key = resp["apiKey"] | ||
|  | 
 | ||
|  |     api_key.should.have.key("id") | ||
|  |     api_key.shouldnt.have.key("description") | ||
|  |     api_key.should.have.key("expires") | ||
|  |     api_key.should.have.key("deletes") | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_appsync | ||
|  | def test_create_api_key(): | ||
|  |     client = boto3.client("appsync", region_name="ap-southeast-1") | ||
|  |     tomorrow = datetime.now() + timedelta(days=1) | ||
|  |     tomorrow_in_secs = int(unix_time(tomorrow)) | ||
|  | 
 | ||
|  |     api_id = client.create_graphql_api(name="api1", authenticationType="API_KEY")[ | ||
|  |         "graphqlApi" | ||
|  |     ]["apiId"] | ||
|  |     resp = client.create_api_key( | ||
|  |         apiId=api_id, description="my first api key", expires=tomorrow_in_secs | ||
|  |     ) | ||
|  | 
 | ||
|  |     resp.should.have.key("apiKey") | ||
|  |     api_key = resp["apiKey"] | ||
|  | 
 | ||
|  |     api_key.should.have.key("id") | ||
|  |     api_key.should.have.key("description").equals("my first api key") | ||
|  |     api_key.should.have.key("expires").equals(tomorrow_in_secs) | ||
|  |     api_key.should.have.key("deletes").equals(tomorrow_in_secs) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_appsync | ||
|  | def test_delete_api_key(): | ||
|  |     client = boto3.client("appsync", region_name="us-east-1") | ||
|  | 
 | ||
|  |     api_id = client.create_graphql_api(name="api1", authenticationType="API_KEY")[ | ||
|  |         "graphqlApi" | ||
|  |     ]["apiId"] | ||
|  |     api_key_id = client.create_api_key(apiId=api_id)["apiKey"]["id"] | ||
|  | 
 | ||
|  |     client.delete_api_key(apiId=api_id, id=api_key_id) | ||
|  | 
 | ||
|  |     resp = client.list_api_keys(apiId=api_id) | ||
|  |     resp.should.have.key("apiKeys").length_of(0) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_appsync | ||
|  | def test_list_api_keys_unknown_api(): | ||
|  |     client = boto3.client("appsync", region_name="ap-southeast-1") | ||
|  |     resp = client.list_api_keys(apiId="unknown") | ||
|  |     resp.should.have.key("apiKeys").equals([]) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_appsync | ||
|  | def test_list_api_keys_empty(): | ||
|  |     client = boto3.client("appsync", region_name="ap-southeast-1") | ||
|  |     api_id = client.create_graphql_api(name="api1", authenticationType="API_KEY")[ | ||
|  |         "graphqlApi" | ||
|  |     ]["apiId"] | ||
|  | 
 | ||
|  |     resp = client.list_api_keys(apiId=api_id) | ||
|  |     resp.should.have.key("apiKeys").equals([]) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_appsync | ||
|  | def test_list_api_keys(): | ||
|  |     client = boto3.client("appsync", region_name="ap-southeast-1") | ||
|  |     api_id = client.create_graphql_api(name="api1", authenticationType="API_KEY")[ | ||
|  |         "graphqlApi" | ||
|  |     ]["apiId"] | ||
|  |     client.create_api_key(apiId=api_id) | ||
|  |     client.create_api_key(apiId=api_id, description="my first api key") | ||
|  |     resp = client.list_api_keys(apiId=api_id) | ||
|  |     resp.should.have.key("apiKeys").length_of(2) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_appsync | ||
|  | def test_update_api_key(): | ||
|  |     client = boto3.client("appsync", region_name="eu-west-1") | ||
|  | 
 | ||
|  |     api_id = client.create_graphql_api(name="api1", authenticationType="API_KEY")[ | ||
|  |         "graphqlApi" | ||
|  |     ]["apiId"] | ||
|  | 
 | ||
|  |     original = client.create_api_key(apiId=api_id, description="my first api key")[ | ||
|  |         "apiKey" | ||
|  |     ] | ||
|  | 
 | ||
|  |     updated = client.update_api_key( | ||
|  |         apiId=api_id, id=original["id"], description="my second api key" | ||
|  |     )["apiKey"] | ||
|  | 
 | ||
|  |     updated.should.have.key("id").equals(original["id"]) | ||
|  |     updated.should.have.key("description").equals("my second api key") | ||
|  |     updated.should.have.key("expires").equals(original["expires"]) | ||
|  |     updated.should.have.key("deletes").equals(original["deletes"]) |