using System; using System.Text; using System.Collections.Generic; using System.Linq; using System.Threading; using Microsoft.VisualStudio.TestTools.UnitTesting; using AWSSDK_DotNet.IntegrationTests.Utils; using Amazon.Runtime; using Amazon.IdentityManagement; using Amazon.IdentityManagement.Model; namespace AWSSDK_DotNet.IntegrationTests.Tests.IAM { /// <summary> /// Summary description for AccountAliasTests /// </summary> [TestClass] public class AccountAliasTests : TestBase<AmazonIdentityManagementServiceClient> { public AccountAliasTests() { } private TestContext testContextInstance; /// <summary> ///Gets or sets the test context which provides ///information about and functionality for the current test run. ///</summary> public TestContext TestContext { get { return testContextInstance; } set { testContextInstance = value; } } [ClassCleanup] public static void Cleanup() { BaseClean(); } [TestMethod] [TestCategory("IdentityManagement")] [TestCategory("RequiresIAMUser")] public void ListAccessKeys() { ListAccessKeysResponse response = Client.ListAccessKeys(); Assert.IsNotNull(response); Assert.IsNotNull(response.AccessKeyMetadata); Assert.AreNotEqual(0, response.AccessKeyMetadata.Count); foreach (var akm in response.AccessKeyMetadata) { Assert.IsNotNull(akm); Assert.IsNotNull(akm.AccessKeyId); Assert.IsNotNull(akm.Status); } } [Ignore("Excluding tests that need IAM Write/Permissions management.")] [TestMethod] [TestCategory("IdentityManagement")] public void CreateAccountAlias() { string alias = "dotnetalias" + DateTime.Now.Ticks; CreateAccountAliasRequest createRequest = new CreateAccountAliasRequest() { AccountAlias = alias }; CreateAccountAliasResponse createResponse = Client.CreateAccountAlias(createRequest); Assert.IsNotNull(createResponse.ResponseMetadata.RequestId); try { ListAccountAliasesResponse listResponse = Client.ListAccountAliases(new ListAccountAliasesRequest()); Assert.IsNotNull(listResponse.ResponseMetadata.RequestId); Assert.AreEqual(alias, listResponse.AccountAliases[0]); } finally { DeleteAccountAliasResponse deleteResponse = Client.DeleteAccountAlias(new DeleteAccountAliasRequest() { AccountAlias = alias }); Assert.IsNotNull(deleteResponse.ResponseMetadata.RequestId); } } } }