| 
									
										
										
										
											2022-03-29 14:15:25 +01:00
										 |  |  | """Unit tests for rekognition-supported APIs.""" | 
					
						
							|  |  |  | import random | 
					
						
							|  |  |  | import string | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import boto3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import sure  # noqa # pylint: disable=unused-import | 
					
						
							|  |  |  | from moto import mock_rekognition | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # 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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-10 23:02:21 +01:00
										 |  |  | @mock_rekognition | 
					
						
							|  |  |  | def test_start_face_search(): | 
					
						
							|  |  |  |     client = boto3.client("rekognition", region_name="ap-southeast-1") | 
					
						
							|  |  |  |     collection_id = "collection_id" | 
					
						
							|  |  |  |     video = { | 
					
						
							|  |  |  |         "S3Object": { | 
					
						
							|  |  |  |             "Bucket": "bucket", | 
					
						
							|  |  |  |             "Name": "key", | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     resp = client.start_face_search(CollectionId=collection_id, Video=video) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     resp["ResponseMetadata"]["HTTPStatusCode"].should.equal(200) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     resp.should.have.key("JobId") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-29 14:15:25 +01:00
										 |  |  | @mock_rekognition | 
					
						
							|  |  |  | def test_start_text_detection(): | 
					
						
							|  |  |  |     client = boto3.client("rekognition", region_name="ap-southeast-1") | 
					
						
							|  |  |  |     video = { | 
					
						
							|  |  |  |         "S3Object": { | 
					
						
							|  |  |  |             "Bucket": "bucket", | 
					
						
							|  |  |  |             "Name": "key", | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     resp = client.start_text_detection(Video=video) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     resp["ResponseMetadata"]["HTTPStatusCode"].should.equal(200) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     resp.should.have.key("JobId") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-10 23:02:21 +01:00
										 |  |  | @mock_rekognition | 
					
						
							|  |  |  | def test_get_face_search(): | 
					
						
							|  |  |  |     client = boto3.client("rekognition", region_name="us-east-2") | 
					
						
							|  |  |  |     job_id = "".join( | 
					
						
							|  |  |  |         random.choice(string.ascii_uppercase + string.digits) for _ in range(64) | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     resp = client.get_face_search(JobId=job_id) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     resp["ResponseMetadata"]["HTTPStatusCode"].should.equal(200) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     resp["JobStatus"].should.equal("SUCCEEDED") | 
					
						
							|  |  |  |     resp["Persons"][0]["FaceMatches"][0]["Face"]["ExternalImageId"].should.equal( | 
					
						
							|  |  |  |         "Dave_Bloggs" | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-29 14:15:25 +01:00
										 |  |  | @mock_rekognition | 
					
						
							|  |  |  | def test_get_text_detection(): | 
					
						
							|  |  |  |     client = boto3.client("rekognition", region_name="us-east-2") | 
					
						
							|  |  |  |     job_id = "".join( | 
					
						
							|  |  |  |         random.choice(string.ascii_uppercase + string.digits) for _ in range(64) | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     resp = client.get_text_detection(JobId=job_id) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     resp["ResponseMetadata"]["HTTPStatusCode"].should.equal(200) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     resp["JobStatus"].should.equal("SUCCEEDED") | 
					
						
							|  |  |  |     resp["TextDetections"][0]["TextDetection"]["DetectedText"].should.equal( | 
					
						
							|  |  |  |         "Hello world" | 
					
						
							|  |  |  |     ) |