"""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 @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") @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") @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" ) @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" )