def METHOD_NAME(make_stubber, make_faces, error_code):
    rekognition_client = boto3.client('rekognition')
    rekognition_stubber = make_stubber(rekognition_client)
    image = RekognitionImage(TEST_IMAGE, 'test-image', rekognition_client)
    celebrities = [RekognitionCelebrity(face)
                   for face in make_faces(3, is_celebrity=True)]
    normals = [RekognitionFace(face) for face in make_faces(2)]
    rekognition_stubber.stub_recognize_celebrities(
        image.image, celebrities, normals, error_code=error_code)
    if error_code is None:
        got_celebrities, got_normals = image.recognize_celebrities()
        assert (
            [celeb.to_dict() for celeb in celebrities] ==
            [celeb.to_dict() for celeb in got_celebrities])
        assert (
            [normal.to_dict() for normal in normals] ==
            [normal.to_dict() for normal in got_normals])
    else:
        with pytest.raises(ClientError) as exc_info:
            image.recognize_celebrities()
        assert exc_info.value.response['Error']['Code'] == error_code