Techdebt: Replace sure with regular assertions in ssoadmin (#6611)
This commit is contained in:
parent
2a1d07c961
commit
6297361d1e
@ -1,5 +1,4 @@
|
|||||||
import json
|
import json
|
||||||
import sure # noqa # pylint: disable=unused-import
|
|
||||||
|
|
||||||
import moto.server as server
|
import moto.server as server
|
||||||
|
|
||||||
@ -10,7 +9,10 @@ def test_ssoadmin_list():
|
|||||||
|
|
||||||
headers = {
|
headers = {
|
||||||
"X-Amz-Target": "SWBExternalService.ListAccountAssignments",
|
"X-Amz-Target": "SWBExternalService.ListAccountAssignments",
|
||||||
"User-Agent": "aws-cli/2.2.47 Python/3.8.8 Linux/5.11.0-44-generic exe/x86_64.ubuntu.20 prompt/off command/sso-admin.list-account-assignments",
|
"User-Agent": (
|
||||||
|
"aws-cli/2.2.47 Python/3.8.8 Linux/5.11.0-44-generic exe"
|
||||||
|
"/x86_64.ubuntu.20 prompt/off command/sso-admin.list-account-assignments",
|
||||||
|
),
|
||||||
}
|
}
|
||||||
data = {
|
data = {
|
||||||
"InstanceArn": "arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
"InstanceArn": "arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
@ -20,5 +22,5 @@ def test_ssoadmin_list():
|
|||||||
|
|
||||||
resp = test_client.post("/", headers=headers, data=json.dumps(data))
|
resp = test_client.post("/", headers=headers, data=json.dumps(data))
|
||||||
|
|
||||||
resp.status_code.should.equal(200)
|
assert resp.status_code == 200
|
||||||
json.loads(resp.data).should.equal({"AccountAssignments": []})
|
assert json.loads(resp.data) == {"AccountAssignments": []}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
import boto3
|
|
||||||
import datetime
|
import datetime
|
||||||
import pytest
|
|
||||||
import sure # noqa # pylint: disable=unused-import
|
|
||||||
|
|
||||||
from botocore.exceptions import ClientError
|
|
||||||
from moto import mock_ssoadmin
|
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
|
||||||
|
import boto3
|
||||||
|
from botocore.exceptions import ClientError
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from moto import mock_ssoadmin
|
||||||
|
|
||||||
# See our Development Tips on writing tests for hints on how to write good tests:
|
# 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
|
# http://docs.getmoto.org/en/latest/docs/contributing/development_tips/tests.html
|
||||||
|
|
||||||
@ -29,17 +29,17 @@ def test_create_account_assignment():
|
|||||||
PrincipalId=principal_id,
|
PrincipalId=principal_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
resp.should.have.key("AccountAssignmentCreationStatus")
|
assert "AccountAssignmentCreationStatus" in resp
|
||||||
|
|
||||||
status = resp["AccountAssignmentCreationStatus"]
|
status = resp["AccountAssignmentCreationStatus"]
|
||||||
status.should.have.key("Status").equals("SUCCEEDED")
|
assert status["Status"] == "SUCCEEDED"
|
||||||
status.should.have.key("RequestId")
|
assert "RequestId" in status
|
||||||
status.shouldnt.have.key("FailureReason")
|
assert "FailureReason" not in status
|
||||||
status.should.have.key("TargetId").equals(target_id)
|
assert status["TargetId"] == target_id
|
||||||
status.should.have.key("TargetType").equals("AWS_ACCOUNT")
|
assert status["TargetType"] == "AWS_ACCOUNT"
|
||||||
status.should.have.key("PermissionSetArn").equals(permission_set_arn)
|
assert status["PermissionSetArn"] == permission_set_arn
|
||||||
status.should.have.key("PrincipalType").equals("USER")
|
assert status["PrincipalType"] == "USER"
|
||||||
status.should.have.key("PrincipalId").equals(principal_id)
|
assert status["PrincipalId"] == principal_id
|
||||||
|
|
||||||
|
|
||||||
@mock_ssoadmin
|
@mock_ssoadmin
|
||||||
@ -69,19 +69,19 @@ def test_delete_account_assignment():
|
|||||||
PrincipalType="USER",
|
PrincipalType="USER",
|
||||||
PrincipalId=principal_id,
|
PrincipalId=principal_id,
|
||||||
)
|
)
|
||||||
resp.should.have.key("AccountAssignmentDeletionStatus")
|
assert "AccountAssignmentDeletionStatus" in resp
|
||||||
|
|
||||||
# Verify the correct response
|
# Verify the correct response
|
||||||
status = resp["AccountAssignmentDeletionStatus"]
|
status = resp["AccountAssignmentDeletionStatus"]
|
||||||
status.should.have.key("Status").equals("SUCCEEDED")
|
assert status["Status"] == "SUCCEEDED"
|
||||||
status.should.have.key("RequestId")
|
assert "RequestId" in status
|
||||||
status.shouldnt.have.key("FailureReason")
|
assert "FailureReason" not in status
|
||||||
status.should.have.key("TargetId").equals(target_id)
|
assert status["TargetId"] == target_id
|
||||||
status.should.have.key("TargetType").equals("AWS_ACCOUNT")
|
assert status["TargetType"] == "AWS_ACCOUNT"
|
||||||
status.should.have.key("PermissionSetArn").equals(permission_set_arn)
|
assert status["PermissionSetArn"] == permission_set_arn
|
||||||
status.should.have.key("PrincipalType").equals("USER")
|
assert status["PrincipalType"] == "USER"
|
||||||
status.should.have.key("PrincipalId").equals(principal_id)
|
assert status["PrincipalId"] == principal_id
|
||||||
status.should.have.key("CreatedDate").should.be.a(datetime.datetime)
|
assert isinstance(status["CreatedDate"], datetime.datetime)
|
||||||
|
|
||||||
# Verify this account assignment can no longer be found
|
# Verify this account assignment can no longer be found
|
||||||
resp = client.list_account_assignments(
|
resp = client.list_account_assignments(
|
||||||
@ -90,7 +90,7 @@ def test_delete_account_assignment():
|
|||||||
PermissionSetArn=permission_set_arn,
|
PermissionSetArn=permission_set_arn,
|
||||||
)
|
)
|
||||||
|
|
||||||
resp.should.have.key("AccountAssignments").equals([])
|
assert resp["AccountAssignments"] == []
|
||||||
|
|
||||||
|
|
||||||
@mock_ssoadmin
|
@mock_ssoadmin
|
||||||
@ -114,7 +114,7 @@ def test_delete_account_assignment_unknown():
|
|||||||
PrincipalId=principal_id,
|
PrincipalId=principal_id,
|
||||||
)
|
)
|
||||||
err = exc.value.response["Error"]
|
err = exc.value.response["Error"]
|
||||||
err["Code"].should.equal("ResourceNotFound")
|
assert err["Code"] == "ResourceNotFound"
|
||||||
|
|
||||||
|
|
||||||
@mock_ssoadmin
|
@mock_ssoadmin
|
||||||
@ -135,7 +135,7 @@ def test_list_account_assignments():
|
|||||||
PermissionSetArn=permission_set_arn,
|
PermissionSetArn=permission_set_arn,
|
||||||
)
|
)
|
||||||
|
|
||||||
resp.should.have.key("AccountAssignments").equals([])
|
assert resp["AccountAssignments"] == []
|
||||||
|
|
||||||
client.create_account_assignment(
|
client.create_account_assignment(
|
||||||
InstanceArn=instance_arn,
|
InstanceArn=instance_arn,
|
||||||
@ -152,8 +152,7 @@ def test_list_account_assignments():
|
|||||||
PermissionSetArn=permission_set_arn,
|
PermissionSetArn=permission_set_arn,
|
||||||
)
|
)
|
||||||
|
|
||||||
resp.should.have.key("AccountAssignments").equals(
|
assert resp["AccountAssignments"] == [
|
||||||
[
|
|
||||||
{
|
{
|
||||||
"AccountId": target_id1,
|
"AccountId": target_id1,
|
||||||
"PermissionSetArn": permission_set_arn,
|
"PermissionSetArn": permission_set_arn,
|
||||||
@ -161,7 +160,6 @@ def test_list_account_assignments():
|
|||||||
"PrincipalId": principal_id,
|
"PrincipalId": principal_id,
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
)
|
|
||||||
|
|
||||||
client.create_account_assignment(
|
client.create_account_assignment(
|
||||||
InstanceArn=instance_arn,
|
InstanceArn=instance_arn,
|
||||||
@ -178,8 +176,7 @@ def test_list_account_assignments():
|
|||||||
PermissionSetArn=permission_set_arn,
|
PermissionSetArn=permission_set_arn,
|
||||||
)
|
)
|
||||||
|
|
||||||
resp.should.have.key("AccountAssignments").equals(
|
assert resp["AccountAssignments"] == [
|
||||||
[
|
|
||||||
{
|
{
|
||||||
"AccountId": target_id2,
|
"AccountId": target_id2,
|
||||||
"PermissionSetArn": permission_set_arn,
|
"PermissionSetArn": permission_set_arn,
|
||||||
@ -187,7 +184,6 @@ def test_list_account_assignments():
|
|||||||
"PrincipalId": principal_id,
|
"PrincipalId": principal_id,
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@mock_ssoadmin
|
@mock_ssoadmin
|
||||||
@ -200,14 +196,14 @@ def test_create_permission_set():
|
|||||||
SessionDuration="PT1H",
|
SessionDuration="PT1H",
|
||||||
RelayState="https://console.aws.amazon.com/ec2",
|
RelayState="https://console.aws.amazon.com/ec2",
|
||||||
)
|
)
|
||||||
resp.should.have.key("PermissionSet")
|
assert "PermissionSet" in resp
|
||||||
permissionSet = resp["PermissionSet"]
|
permission_set = resp["PermissionSet"]
|
||||||
permissionSet.should.have.key("Name").equals("test")
|
assert permission_set["Name"] == "test"
|
||||||
permissionSet.should.have.key("PermissionSetArn")
|
assert "PermissionSetArn" in permission_set
|
||||||
permissionSet.should.have.key("Description")
|
assert "Description" in permission_set
|
||||||
permissionSet.should.have.key("CreatedDate")
|
assert "CreatedDate" in permission_set
|
||||||
permissionSet.should.have.key("SessionDuration")
|
assert "SessionDuration" in permission_set
|
||||||
permissionSet.should.have.key("RelayState")
|
assert "RelayState" in permission_set
|
||||||
|
|
||||||
|
|
||||||
@mock_ssoadmin
|
@mock_ssoadmin
|
||||||
@ -219,28 +215,26 @@ def test_update_permission_set():
|
|||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
SessionDuration="PT1H",
|
SessionDuration="PT1H",
|
||||||
)
|
)
|
||||||
permissionSet = resp["PermissionSet"]
|
permission_set = resp["PermissionSet"]
|
||||||
|
|
||||||
resp = client.update_permission_set(
|
resp = client.update_permission_set(
|
||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
PermissionSetArn=permissionSet["PermissionSetArn"],
|
PermissionSetArn=permission_set["PermissionSetArn"],
|
||||||
Description="New description",
|
Description="New description",
|
||||||
SessionDuration="PT2H",
|
SessionDuration="PT2H",
|
||||||
RelayState="https://console.aws.amazon.com/s3",
|
RelayState="https://console.aws.amazon.com/s3",
|
||||||
)
|
)
|
||||||
resp = client.describe_permission_set(
|
resp = client.describe_permission_set(
|
||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
PermissionSetArn=permissionSet["PermissionSetArn"],
|
PermissionSetArn=permission_set["PermissionSetArn"],
|
||||||
)
|
|
||||||
resp.should.have.key("PermissionSet")
|
|
||||||
permissionSet = resp["PermissionSet"]
|
|
||||||
permissionSet.should.have.key("Name").equals("test")
|
|
||||||
permissionSet.should.have.key("Description").equals("New description")
|
|
||||||
permissionSet.should.have.key("CreatedDate")
|
|
||||||
permissionSet.should.have.key("SessionDuration").equals("PT2H")
|
|
||||||
permissionSet.should.have.key("RelayState").equals(
|
|
||||||
"https://console.aws.amazon.com/s3"
|
|
||||||
)
|
)
|
||||||
|
assert "PermissionSet" in resp
|
||||||
|
permission_set = resp["PermissionSet"]
|
||||||
|
assert permission_set["Name"] == "test"
|
||||||
|
assert permission_set["Description"] == "New description"
|
||||||
|
assert "CreatedDate" in permission_set
|
||||||
|
assert permission_set["SessionDuration"] == "PT2H"
|
||||||
|
assert permission_set["RelayState"] == "https://console.aws.amazon.com/s3"
|
||||||
|
|
||||||
|
|
||||||
@mock_ssoadmin
|
@mock_ssoadmin
|
||||||
@ -250,13 +244,16 @@ def test_update_permission_set_unknown():
|
|||||||
with pytest.raises(ClientError) as exc:
|
with pytest.raises(ClientError) as exc:
|
||||||
client.update_permission_set(
|
client.update_permission_set(
|
||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
PermissionSetArn="arn:aws:sso:::permissionSet/ins-eeeeffffgggghhhh/ps-hhhhkkkkppppoooo",
|
PermissionSetArn=(
|
||||||
|
"arn:aws:sso:::permissionSet/ins-eeeeffffgggghhhh/"
|
||||||
|
"ps-hhhhkkkkppppoooo"
|
||||||
|
),
|
||||||
Description="New description",
|
Description="New description",
|
||||||
SessionDuration="PT2H",
|
SessionDuration="PT2H",
|
||||||
RelayState="https://console.aws.amazon.com/s3",
|
RelayState="https://console.aws.amazon.com/s3",
|
||||||
)
|
)
|
||||||
err = exc.value.response["Error"]
|
err = exc.value.response["Error"]
|
||||||
err["Code"].should.equal("ResourceNotFound")
|
assert err["Code"] == "ResourceNotFound"
|
||||||
|
|
||||||
|
|
||||||
@mock_ssoadmin
|
@mock_ssoadmin
|
||||||
@ -268,19 +265,19 @@ def test_describe_permission_set():
|
|||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
SessionDuration="PT1H",
|
SessionDuration="PT1H",
|
||||||
)
|
)
|
||||||
permissionSet = resp["PermissionSet"]
|
permission_set = resp["PermissionSet"]
|
||||||
|
|
||||||
resp = client.describe_permission_set(
|
resp = client.describe_permission_set(
|
||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
PermissionSetArn=permissionSet["PermissionSetArn"],
|
PermissionSetArn=permission_set["PermissionSetArn"],
|
||||||
)
|
)
|
||||||
resp.should.have.key("PermissionSet")
|
assert "PermissionSet" in resp
|
||||||
permissionSet = resp["PermissionSet"]
|
permission_set = resp["PermissionSet"]
|
||||||
permissionSet.should.have.key("Name").equals("test")
|
assert permission_set["Name"] == "test"
|
||||||
permissionSet.should.have.key("PermissionSetArn")
|
assert "PermissionSetArn" in permission_set
|
||||||
permissionSet.should.have.key("Description")
|
assert "Description" in permission_set
|
||||||
permissionSet.should.have.key("CreatedDate")
|
assert "CreatedDate" in permission_set
|
||||||
permissionSet.should.have.key("SessionDuration")
|
assert "SessionDuration" in permission_set
|
||||||
|
|
||||||
|
|
||||||
@mock_ssoadmin
|
@mock_ssoadmin
|
||||||
@ -293,7 +290,7 @@ def test_describe_permission_set_unknown():
|
|||||||
PermissionSetArn="arn:aws:sso:::permissionSet/ins-eeeeffffgggghhhh/ps-hhhhkkkkppppoooo",
|
PermissionSetArn="arn:aws:sso:::permissionSet/ins-eeeeffffgggghhhh/ps-hhhhkkkkppppoooo",
|
||||||
)
|
)
|
||||||
err = exc.value.response["Error"]
|
err = exc.value.response["Error"]
|
||||||
err["Code"].should.equal("ResourceNotFound")
|
assert err["Code"] == "ResourceNotFound"
|
||||||
|
|
||||||
|
|
||||||
@mock_ssoadmin
|
@mock_ssoadmin
|
||||||
@ -305,18 +302,18 @@ def test_delete_permission_set():
|
|||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
SessionDuration="PT1H",
|
SessionDuration="PT1H",
|
||||||
)
|
)
|
||||||
permissionSet = resp["PermissionSet"]
|
permission_set = resp["PermissionSet"]
|
||||||
resp = client.delete_permission_set(
|
resp = client.delete_permission_set(
|
||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
PermissionSetArn=permissionSet["PermissionSetArn"],
|
PermissionSetArn=permission_set["PermissionSetArn"],
|
||||||
)
|
)
|
||||||
with pytest.raises(ClientError) as exc:
|
with pytest.raises(ClientError) as exc:
|
||||||
client.describe_permission_set(
|
client.describe_permission_set(
|
||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
PermissionSetArn=permissionSet["PermissionSetArn"],
|
PermissionSetArn=permission_set["PermissionSetArn"],
|
||||||
)
|
)
|
||||||
err = exc.value.response["Error"]
|
err = exc.value.response["Error"]
|
||||||
err["Code"].should.equal("ResourceNotFound")
|
assert err["Code"] == "ResourceNotFound"
|
||||||
|
|
||||||
|
|
||||||
@mock_ssoadmin
|
@mock_ssoadmin
|
||||||
@ -329,7 +326,7 @@ def test_delete_permission_set_unknown():
|
|||||||
PermissionSetArn="arn:aws:sso:::permissionSet/ins-eeeeffffgggghhhh/ps-hhhhkkkkppppoooo",
|
PermissionSetArn="arn:aws:sso:::permissionSet/ins-eeeeffffgggghhhh/ps-hhhhkkkkppppoooo",
|
||||||
)
|
)
|
||||||
err = exc.value.response["Error"]
|
err = exc.value.response["Error"]
|
||||||
err["Code"].should.equal("ResourceNotFound")
|
assert err["Code"] == "ResourceNotFound"
|
||||||
|
|
||||||
|
|
||||||
@mock_ssoadmin
|
@mock_ssoadmin
|
||||||
@ -339,9 +336,9 @@ def test_list_permission_sets():
|
|||||||
response = client.list_permission_sets(
|
response = client.list_permission_sets(
|
||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
)
|
)
|
||||||
response.should.have.key("PermissionSets")
|
assert "PermissionSets" in response
|
||||||
permissionSets = response["PermissionSets"]
|
permission_sets = response["PermissionSets"]
|
||||||
len(permissionSets).should.equal(0)
|
assert not permission_sets
|
||||||
|
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
client.create_permission_set(
|
client.create_permission_set(
|
||||||
@ -353,9 +350,9 @@ def test_list_permission_sets():
|
|||||||
response = client.list_permission_sets(
|
response = client.list_permission_sets(
|
||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
)
|
)
|
||||||
response.should.have.key("PermissionSets")
|
assert "PermissionSets" in response
|
||||||
permissionSets = response["PermissionSets"]
|
permission_sets = response["PermissionSets"]
|
||||||
len(permissionSets).should.equal(5)
|
assert len(permission_sets) == 5
|
||||||
|
|
||||||
|
|
||||||
@mock_ssoadmin
|
@mock_ssoadmin
|
||||||
@ -365,9 +362,9 @@ def test_list_permission_sets_pagination():
|
|||||||
response = client.list_permission_sets(
|
response = client.list_permission_sets(
|
||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
)
|
)
|
||||||
response.should.have.key("PermissionSets")
|
assert "PermissionSets" in response
|
||||||
permissionSets = response["PermissionSets"]
|
permission_sets = response["PermissionSets"]
|
||||||
len(permissionSets).should.equal(0)
|
assert not permission_sets
|
||||||
|
|
||||||
for i in range(25):
|
for i in range(25):
|
||||||
client.create_permission_set(
|
client.create_permission_set(
|
||||||
@ -379,12 +376,12 @@ def test_list_permission_sets_pagination():
|
|||||||
response = client.list_permission_sets(
|
response = client.list_permission_sets(
|
||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd",
|
||||||
)
|
)
|
||||||
response.should.have.key("PermissionSets")
|
assert "PermissionSets" in response
|
||||||
response.should_not.have.key("NextToken")
|
assert "NextToken" not in response
|
||||||
|
|
||||||
paginator = client.get_paginator("list_permission_sets")
|
paginator = client.get_paginator("list_permission_sets")
|
||||||
page_iterator = paginator.paginate(
|
page_iterator = paginator.paginate(
|
||||||
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd", MaxResults=5
|
InstanceArn="arn:aws:sso:::instance/ins-aaaabbbbccccdddd", MaxResults=5
|
||||||
)
|
)
|
||||||
for page in page_iterator:
|
for page in page_iterator:
|
||||||
len(page["PermissionSets"]).should.be.lower_than_or_equal_to(5)
|
assert len(page["PermissionSets"]) <= 5
|
||||||
|
Loading…
Reference in New Issue
Block a user