Fix: yield tests ignored by pytest runner (#3500)

Closes #3499
This commit is contained in:
Brian Pandola 2020-11-25 02:48:05 -08:00 committed by GitHub
parent 5a2cbf1eca
commit d58d3e2c2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,6 +3,7 @@ import json
import boto3
from botocore.exceptions import ClientError
import pytest
import sure # noqa
from moto import mock_iam
@ -1611,31 +1612,25 @@ valid_policy_documents = [
]
def test_create_policy_with_invalid_policy_documents():
for test_case in invalid_policy_document_test_cases:
yield check_create_policy_with_invalid_policy_document, test_case
def test_create_policy_with_valid_policy_documents():
for valid_policy_document in valid_policy_documents:
yield check_create_policy_with_valid_policy_document, valid_policy_document
@pytest.mark.parametrize("invalid_policy_document", invalid_policy_document_test_cases)
@mock_iam
def check_create_policy_with_invalid_policy_document(test_case):
def test_create_policy_with_invalid_policy_document(invalid_policy_document):
conn = boto3.client("iam", region_name="us-east-1")
with pytest.raises(ClientError) as ex:
conn.create_policy(
PolicyName="TestCreatePolicy",
PolicyDocument=json.dumps(test_case["document"]),
PolicyDocument=json.dumps(invalid_policy_document["document"]),
)
ex.value.response["Error"]["Code"].should.equal("MalformedPolicyDocument")
ex.value.response["ResponseMetadata"]["HTTPStatusCode"].should.equal(400)
ex.value.response["Error"]["Message"].should.equal(test_case["error_message"])
ex.value.response["Error"]["Message"].should.equal(
invalid_policy_document["error_message"]
)
@pytest.mark.parametrize("valid_policy_document", valid_policy_documents)
@mock_iam
def check_create_policy_with_valid_policy_document(valid_policy_document):
def test_create_policy_with_valid_policy_document(valid_policy_document):
conn = boto3.client("iam", region_name="us-east-1")
conn.create_policy(
PolicyName="TestCreatePolicy", PolicyDocument=json.dumps(valid_policy_document)