75 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			75 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | """Unit tests for pinpoint-supported APIs.""" | ||
|  | import boto3 | ||
|  | import pytest | ||
|  | import sure  # noqa # pylint: disable=unused-import | ||
|  | 
 | ||
|  | from botocore.exceptions import ClientError | ||
|  | from moto import mock_pinpoint | ||
|  | 
 | ||
|  | # See our Development Tips on writing tests for hints on how to write good tests: | ||
|  | # http://docs.getmoto.org/en/latest/docs/contributing/development_tips/tests.html | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_pinpoint | ||
|  | def test_put_event_stream(): | ||
|  |     client = boto3.client("pinpoint", region_name="eu-west-1") | ||
|  |     resp = client.create_app(CreateApplicationRequest={"Name": "myfirstapp"}) | ||
|  |     app_id = resp["ApplicationResponse"]["Id"] | ||
|  | 
 | ||
|  |     resp = client.put_event_stream( | ||
|  |         ApplicationId=app_id, | ||
|  |         WriteEventStream={"DestinationStreamArn": "kinesis:arn", "RoleArn": "iam:arn"}, | ||
|  |     ) | ||
|  | 
 | ||
|  |     resp.should.have.key("EventStream") | ||
|  |     resp["EventStream"].should.have.key("ApplicationId").equals(app_id) | ||
|  |     resp["EventStream"].should.have.key("DestinationStreamArn").equals("kinesis:arn") | ||
|  |     resp["EventStream"].should.have.key("LastModifiedDate") | ||
|  |     resp["EventStream"].should.have.key("RoleArn").equals("iam:arn") | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_pinpoint | ||
|  | def test_get_event_stream(): | ||
|  |     client = boto3.client("pinpoint", region_name="us-east-1") | ||
|  |     resp = client.create_app(CreateApplicationRequest={"Name": "myfirstapp"}) | ||
|  |     app_id = resp["ApplicationResponse"]["Id"] | ||
|  | 
 | ||
|  |     client.put_event_stream( | ||
|  |         ApplicationId=app_id, | ||
|  |         WriteEventStream={"DestinationStreamArn": "kinesis:arn", "RoleArn": "iam:arn"}, | ||
|  |     ) | ||
|  | 
 | ||
|  |     resp = client.get_event_stream(ApplicationId=app_id) | ||
|  | 
 | ||
|  |     resp.should.have.key("EventStream") | ||
|  |     resp["EventStream"].should.have.key("ApplicationId").equals(app_id) | ||
|  |     resp["EventStream"].should.have.key("DestinationStreamArn").equals("kinesis:arn") | ||
|  |     resp["EventStream"].should.have.key("LastModifiedDate") | ||
|  |     resp["EventStream"].should.have.key("RoleArn").equals("iam:arn") | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_pinpoint | ||
|  | def test_delete_event_stream(): | ||
|  |     client = boto3.client("pinpoint", region_name="us-east-1") | ||
|  |     resp = client.create_app(CreateApplicationRequest={"Name": "myfirstapp"}) | ||
|  |     app_id = resp["ApplicationResponse"]["Id"] | ||
|  | 
 | ||
|  |     client.put_event_stream( | ||
|  |         ApplicationId=app_id, | ||
|  |         WriteEventStream={"DestinationStreamArn": "kinesis:arn", "RoleArn": "iam:arn"}, | ||
|  |     ) | ||
|  | 
 | ||
|  |     resp = client.delete_event_stream(ApplicationId=app_id) | ||
|  | 
 | ||
|  |     resp.should.have.key("EventStream") | ||
|  |     resp["EventStream"].should.have.key("ApplicationId").equals(app_id) | ||
|  |     resp["EventStream"].should.have.key("DestinationStreamArn").equals("kinesis:arn") | ||
|  |     resp["EventStream"].should.have.key("LastModifiedDate") | ||
|  |     resp["EventStream"].should.have.key("RoleArn").equals("iam:arn") | ||
|  | 
 | ||
|  |     with pytest.raises(ClientError) as exc: | ||
|  |         client.get_event_stream(ApplicationId=app_id) | ||
|  |     err = exc.value.response["Error"] | ||
|  |     err["Code"].should.equal("NotFoundException") | ||
|  |     err["Message"].should.equal("Resource not found") |