in dotnetv3/IAM/IAMUserExample/IAMUserExampleTests/IAMUserTests.cs [272:388]
public async Task CleanUpResourcesTest()
{
var mockIAMClient = new Mock<AmazonIdentityManagementServiceClient>();
var mockS3Client = new Mock<AmazonS3Client>();
mockIAMClient.Setup(client => client.RemoveUserFromGroupAsync(
It.IsAny<RemoveUserFromGroupRequest>(),
It.IsAny<CancellationToken>()
)).Callback<RemoveUserFromGroupRequest, CancellationToken>((request, token) =>
{
if (!string.IsNullOrEmpty(request.GroupName))
{
Assert.Equal(request.GroupName, GroupName);
}
}).Returns((RemoveUserFromGroupRequest r, CancellationToken token) =>
{
return Task.FromResult(new RemoveUserFromGroupResponse()
{
HttpStatusCode = System.Net.HttpStatusCode.OK,
});
});
mockIAMClient.Setup(client => client.DeleteAccessKeyAsync(
It.IsAny<DeleteAccessKeyRequest>(),
It.IsAny<CancellationToken>()
)).Callback<DeleteAccessKeyRequest, CancellationToken>((request, token) =>
{
if (!string.IsNullOrEmpty(request.UserName))
{
Assert.Equal(request.UserName, UserName);
}
if (!string.IsNullOrEmpty(request.AccessKeyId))
{
Assert.Equal(request.AccessKeyId, AccessKeyId);
}
}).Returns((DeleteAccessKeyRequest r, CancellationToken token) =>
{
return Task.FromResult(new DeleteAccessKeyResponse()
{
HttpStatusCode = System.Net.HttpStatusCode.OK,
});
});
mockIAMClient.Setup(client => client.DeleteUserAsync(
It.IsAny<DeleteUserRequest>(),
It.IsAny<CancellationToken>()
)).Callback<DeleteUserRequest, CancellationToken>((request, token) =>
{
if (!string.IsNullOrEmpty(request.UserName))
{
Assert.Equal(request.UserName, UserName);
}
}).Returns((DeleteUserRequest r, CancellationToken token) =>
{
return Task.FromResult(new DeleteUserResponse()
{
HttpStatusCode = System.Net.HttpStatusCode.OK,
});
});
mockIAMClient.Setup(client => client.DeleteGroupPolicyAsync(
It.IsAny<DeleteGroupPolicyRequest>(),
It.IsAny<CancellationToken>()
)).Callback<DeleteGroupPolicyRequest, CancellationToken>((request, token) =>
{
if (!string.IsNullOrEmpty(request.GroupName))
{
Assert.Equal(request.GroupName, GroupName);
}
}).Returns((DeleteGroupPolicyRequest r, CancellationToken token) =>
{
return Task.FromResult(new DeleteGroupPolicyResponse()
{
HttpStatusCode = System.Net.HttpStatusCode.OK,
});
});
mockIAMClient.Setup(client => client.DeleteGroupAsync(
It.IsAny<DeleteGroupRequest>(),
It.IsAny<CancellationToken>()
)).Callback<DeleteGroupRequest, CancellationToken>((request, token) =>
{
if (!string.IsNullOrEmpty(request.GroupName))
{
Assert.Equal(request.GroupName, GroupName);
}
}).Returns((DeleteGroupRequest r, CancellationToken token) =>
{
return Task.FromResult(new DeleteGroupResponse()
{
HttpStatusCode = System.Net.HttpStatusCode.OK,
});
});
var iamClient = mockIAMClient.Object;
mockS3Client.Setup(client => client.DeleteBucketAsync(
It.IsAny<string>(),
It.IsAny<CancellationToken>()
)).Callback<string, CancellationToken>((bucketName, token) =>
{
if (!string.IsNullOrEmpty(bucketName))
{
Assert.Equal(bucketName, BucketName);
}
}).Returns((string bucketName, CancellationToken token) =>
{
return Task.FromResult(new DeleteBucketResponse()
{
HttpStatusCode = System.Net.HttpStatusCode.OK,
});
});
var s3Client = mockS3Client.Object;
await IAMUserExample.IAMUser.CleanUpResources(iamClient, s3Client, UserName, GroupName, BucketName, AccessKeyId);
}