diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/AWSSupport.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/AWSSupport.cs deleted file mode 100644 index f069d3b9f924..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/AWSSupport.cs +++ /dev/null @@ -1,151 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -using Amazon.AWSSupport; -using Amazon.AWSSupport.Model; -using Amazon; -using System.IO; -using System.Text; -using Amazon.DNXCore.IntegrationTests; -using Xunit; - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class AWSSupportTests : TestBase - { - private static String - SUBJECT = ".NET SDK Test Case " + DateTime.UtcNow.Ticks, - CATEGORY_CODE = "apis", - SERVICE_CODE = "amazon-dynamodb", - COMMUNICATION_BODY = "This is a test case generated by the .NET SDK integration test suite", - LANGUAGE = "ja", - SEVERITY_CODE = "low", - ATTACHMENT_CONTENTS = "This is test data"; - - protected override RegionEndpoint AlternateEndpoint - { - get - { - return RegionEndpoint.USEast1; - } - } - - // Test are disabled because not all acounts are subscribed to AWS Support - //[Fact] - public async Task TestCaseOperations() - { - string caseId = null; - - try - { - caseId = Client.CreateCaseAsync(new CreateCaseRequest - { - Subject = SUBJECT, - CategoryCode = CATEGORY_CODE, - ServiceCode = SERVICE_CODE, - Language = LANGUAGE, - SeverityCode = SEVERITY_CODE, - CommunicationBody = COMMUNICATION_BODY - }).Result.CaseId; - - Assert.NotNull(caseId); - - var cases = (await Client.DescribeCasesAsync(new DescribeCasesRequest { Language = LANGUAGE })).Cases; - Assert.True(cases.Count > 0); - - cases = (await Client.DescribeCasesAsync(new DescribeCasesRequest { Language = LANGUAGE, CaseIdList = new List { caseId } })).Cases; - Assert.Single(cases); - - Assert.Equal(caseId, cases[0].CaseId); - Assert.Equal(CATEGORY_CODE, cases[0].CategoryCode); - Assert.Equal(LANGUAGE, cases[0].Language); - Assert.Equal(SERVICE_CODE, cases[0].ServiceCode); - Assert.Equal(SEVERITY_CODE, cases[0].SeverityCode); - Assert.True(cases[0].RecentCommunications.Communications.Count > 0); - - var attachmentData = new MemoryStream(Encoding.UTF8.GetBytes(ATTACHMENT_CONTENTS)); - var filename = "file1.txt"; - var attachmentSetId = (await Client.AddAttachmentsToSetAsync(new AddAttachmentsToSetRequest - { - Attachments = new List - { - new Attachment - { - FileName = filename, - Data = attachmentData - } - } - })).AttachmentSetId; - - var result = await Client.AddCommunicationToCaseAsync(new AddCommunicationToCaseRequest - { - CaseId = caseId, - CcEmailAddresses = new List { "aws-dr-tools-test@amazon.com" }, - CommunicationBody = COMMUNICATION_BODY, - AttachmentSetId = attachmentSetId - }); - - Assert.NotNull(result); - - var comms = (await Client.DescribeCommunicationsAsync(new DescribeCommunicationsRequest { CaseId = caseId })).Communications; - Assert.True(comms.Count > 0); - Assert.Equal(caseId, comms[0].CaseId); - Assert.Equal(COMMUNICATION_BODY.Trim(), comms[0].Body.Trim()); - Assert.NotNull(comms[0].SubmittedBy); - Assert.NotNull(comms[0].TimeCreated); - - string attachmentId = null; - attachmentId = GetAttachmentId(comms, attachmentId); - Assert.NotNull(attachmentId); - - await VerifyAttachment(attachmentData, filename, attachmentId); - - cases = (await Client.DescribeCasesAsync(new DescribeCasesRequest { Language = LANGUAGE, CaseIdList = new List { caseId }, IncludeCommunications = true })).Cases; - Assert.Single(cases); - var communications = cases[0].RecentCommunications; - attachmentId = GetAttachmentId(communications.Communications, attachmentId); - await VerifyAttachment(attachmentData, filename, attachmentId); - } - finally - { - if (caseId != null) - { - await Client.ResolveCaseAsync(new ResolveCaseRequest { CaseId = caseId }); - } - } - } - - private async Task VerifyAttachment(MemoryStream attachmentData, string filename, string attachmentId) - { - var attachment = (await Client.DescribeAttachmentAsync(new DescribeAttachmentRequest - { - AttachmentId = attachmentId - })).Attachment; - Assert.NotNull(attachment); - Assert.Equal( - Encoding.UTF8.GetString(attachmentData.ToArray()), - Encoding.UTF8.GetString(attachment.Data.ToArray())); - Assert.Equal(filename, attachment.FileName); - } - - private static string GetAttachmentId(List comms, string attachmentId) - { - foreach (var comm in comms) - { - var attachmentSet = comm.AttachmentSet; - if (attachmentSet != null && attachmentSet.Count > 0) - { - foreach (var att in attachmentSet) - { - if (!string.IsNullOrEmpty(att.AttachmentId)) - attachmentId = att.AttachmentId; - } - } - } - return attachmentId; - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/ApplicationAutoscaling.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/ApplicationAutoscaling.cs deleted file mode 100644 index 5ee0b1091e66..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/ApplicationAutoscaling.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -using Amazon.ApplicationAutoScaling; - -using Xunit; - -namespace Amazon.DNXCore.IntegrationTests.IntegrationTests -{ - public class ApplicationAutoscaling : TestBase - { - [Fact] - [Trait(CategoryAttribute, "ApplicationAutoscaling")] - public async Task EndpointReachableTest() - { - var response = await Client.DescribeScalableTargetsAsync(new ApplicationAutoScaling.Model.DescribeScalableTargetsRequest - { - MaxResults = 5, - ServiceNamespace = "ecs" - }); - - Assert.NotNull(response); - Assert.NotNull(response.ResponseMetadata); - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/AutoScaling.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/AutoScaling.cs deleted file mode 100644 index 2d9c0686b4f2..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/AutoScaling.cs +++ /dev/null @@ -1,64 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; - -using Amazon.Runtime; -using Amazon.EC2; -using Amazon.AutoScaling; -using Amazon.AutoScaling.Model; - -using Amazon.DNXCore.IntegrationTests; -using Xunit; - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class AutoScaling : TestBase - { - [Fact] - [Trait(CategoryAttribute,"AutoScaling")] - public async Task DescribeAccountLimitsTest() - { - var response = await Client.DescribeAccountLimitsAsync(); - Assert.NotNull(response); - Assert.NotNull(response.ResponseMetadata); - Assert.NotNull(response.ResponseMetadata.RequestId); - Assert.NotEqual(0, response.MaxNumberOfAutoScalingGroups); - Assert.NotEqual(0, response.MaxNumberOfLaunchConfigurations); - } - - [Fact] - [Trait(CategoryAttribute,"AutoScaling")] - public async Task NoParamOperationsTest() - { - Assert.NotNull(await Client.DescribeAutoScalingGroupsAsync()); - Assert.NotNull(await Client.DescribePoliciesAsync()); - Assert.NotNull(await Client.DescribeScalingProcessTypesAsync()); - Assert.NotNull(await Client.DescribeScalingActivitiesAsync()); - Assert.NotNull(await Client.DescribeNotificationConfigurationsAsync()); - Assert.NotNull(await Client.DescribeAutoScalingNotificationTypesAsync()); - Assert.NotNull(await Client.DescribeAutoScalingInstancesAsync()); - Assert.NotNull(await Client.DescribeLaunchConfigurationsAsync()); - Assert.NotNull(await Client.DescribeAdjustmentTypesAsync()); - Assert.NotNull(await Client.DescribeScheduledActionsAsync()); - Assert.NotNull(await Client.DescribeMetricCollectionTypesAsync()); - } - - [Fact] - [Trait(CategoryAttribute,"AutoScaling")] - public async Task NoParamDescribeTerminationTests() - { - var response = await Client.DescribeTerminationPolicyTypesAsync(); - Assert.True(response.TerminationPolicyTypes.Count > 0); - } - - private static bool ActivitiesPending(IEnumerable activities) - { - return activities.All(activity => !activity.StatusCode.Equals(ScalingActivityStatusCode.Cancelled) - && !activity.StatusCode.Equals(ScalingActivityStatusCode.Failed) - && !activity.StatusCode.Equals(ScalingActivityStatusCode.Successful)); - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/Beanstalk.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/Beanstalk.cs deleted file mode 100644 index 83607d11d2b9..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/Beanstalk.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; - -using Amazon.ElasticBeanstalk; -using Amazon.ElasticBeanstalk.Model; - -using Xunit; -using Amazon.DNXCore.IntegrationTests; - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class Beanstalk : TestBase - { - [Fact] - [Trait(CategoryAttribute,"Beanstalk")] - public async Task ListAvailableSolutionStacksTest() - { - ListAvailableSolutionStacksResponse response = await Client.ListAvailableSolutionStacksAsync(new ListAvailableSolutionStacksRequest()); - Assert.NotNull(response); - Assert.True(response.SolutionStacks.Count > 0); - foreach (string stack in response.SolutionStacks) - { - Assert.NotNull(stack); - } - } - - [Fact] - [Trait(CategoryAttribute,"Beanstalk")] - public async Task CheckDNSAvailabilityTest() - { - CheckDNSAvailabilityRequest request = new CheckDNSAvailabilityRequest() - { - CNAMEPrefix = "mycnamecheck" + DateTime.UtcNow.Ticks - }; - - CheckDNSAvailabilityResponse response = await Client.CheckDNSAvailabilityAsync(request); - Assert.True(response.Available); - Assert.NotNull(response.FullyQualifiedCNAME); - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CloudFormation.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CloudFormation.cs deleted file mode 100644 index 1e501058773d..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CloudFormation.cs +++ /dev/null @@ -1,205 +0,0 @@ -using System; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; - -using Amazon; -using Amazon.CloudFormation; -using Amazon.CloudFormation.Model; -using Amazon.Runtime; -using Amazon.DNXCore.IntegrationTests; -using Xunit; -using System.Collections.Generic; - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class CloudFormation : TestBase - { - public const string TEMPLATE_URL = @"https://aws-vs-toolkit.s3.amazonaws.com/CloudFormationTemplates/SingleInstance.template"; - public const string TEMPLATE_TEXT = @"{ - ""AWSTemplateFormatVersion"" : ""2010-09-09"", - - ""Description"" : ""This is a sample template"", - - ""Parameters"" : { - ""TopicName"" : { - ""Type"" : ""String"", - ""Default"" : ""TheTopic"", - ""Description"" : ""A topic."" - }, - ""QueueName"" : { - ""Type"" : ""String"", - ""Default"" : ""TheQueue"", - ""Description"" : ""A queue."" - } - }, - - ""Resources"" : { - - ""TheQueue"" : { - ""Type"" : ""AWS::SQS::Queue"", - ""Properties"" : { - ""QueueName"" : { ""Ref"" : ""QueueName"" } - } - }, - - ""TheTopic"" : { - ""Type"" : ""AWS::SNS::Topic"", - ""Properties"" : { - ""TopicName"" : { ""Ref"" : ""TopicName"" }, - ""Subscription"" : [ - {""Protocol"" : ""sqs"", ""Endpoint"" : {""Fn::GetAtt"" : [ ""TheQueue"", ""Arn""]}} - ] - } - } - }, - - ""Outputs"" : { - ""TopicARN"" : { - ""Value"" : { ""Ref"" : ""TheTopic"" } - }, - ""QueueURL"" : { - ""Value"" : { ""Ref"" : ""TheQueue"" } - } - } -} -"; - - [Fact] - [Trait(CategoryAttribute,"CloudFormation")] - public async Task TestValidateTemplateURL() - { - ValidateTemplateResponse response = await Client.ValidateTemplateAsync(new ValidateTemplateRequest() { TemplateURL = TEMPLATE_URL }); - Assert.NotNull(response.ResponseMetadata.RequestId); - Assert.True(response.Parameters.Count > 0); - - foreach (TemplateParameter tp in response.Parameters) - { - Assert.NotNull(tp.ParameterKey); - } - } - - [Fact] - [Trait(CategoryAttribute,"CloudFormation")] - public async Task TestGetTemplateSummary() - { - GetTemplateSummaryResponse response = await Client.GetTemplateSummaryAsync(new GetTemplateSummaryRequest - { - TemplateURL = TEMPLATE_URL - }); - VerifyTemplateSummary(response); - - response = Client.GetTemplateSummaryAsync(new GetTemplateSummaryRequest - { - TemplateBody = TEMPLATE_TEXT - }).Result; - VerifyTemplateSummary(response); - } - - private static void VerifyTemplateSummary(GetTemplateSummaryResponse response) - { - Assert.NotNull(response.ResponseMetadata.RequestId); - - if (AWSConfigs.InitializeCollections) - { - Assert.NotNull(response.Capabilities); - Assert.Empty(response.Capabilities); - } - else - { - Assert.Null(response.Capabilities); - } - - Assert.Null(response.CapabilitiesReason); - Assert.NotNull(response.Description); - Assert.NotNull(response.Parameters); - foreach (ParameterDeclaration pd in response.Parameters) - { - Assert.NotNull(pd.ParameterKey); - Assert.NotNull(pd.ParameterType); - Assert.NotNull(pd.Description); - } - Assert.NotNull(response.Version); - } - - [Fact] - [Trait(CategoryAttribute,"CloudFormation")] - public void EstimateCostTest() - { - EstimateTemplateCostResponse response = Client.EstimateTemplateCostAsync(new EstimateTemplateCostRequest() { TemplateBody = TEMPLATE_TEXT }).Result; - Assert.NotNull(response.Url); - } - - - [Fact] - [Trait(CategoryAttribute,"CloudFormation")] - public async Task TestCreateStack() - { - string stackName = "test-stack-" + DateTime.UtcNow.Ticks; - try - { - CreateStackRequest createRequest = new CreateStackRequest - { - StackName = stackName, - TemplateBody = TEMPLATE_TEXT, - Parameters = new List - { - new Parameter - { - ParameterKey = "TopicName", - ParameterValue = "MyTopic" + DateTime.UtcNow.Ticks - }, - new Parameter - { - ParameterKey = "QueueName", - ParameterValue = "MyQueue" + DateTime.UtcNow.Ticks - } - } - }; - - await Client.CreateStackAsync(createRequest); - - await WaitTillStackNotInProcess(stackName); - - var stack = (await Client.DescribeStacksAsync(new DescribeStacksRequest - { - StackName = stackName - })).Stacks[0]; - - Assert.Equal(StackStatus.CREATE_COMPLETE , stack.StackStatus); - - var resources = (await Client.DescribeStackResourcesAsync(new DescribeStackResourcesRequest - { - StackName = stackName - })).StackResources; - - Assert.Equal(2, resources.Count); - - GetTemplateSummaryResponse templateSummaryResponse = await Client.GetTemplateSummaryAsync(new GetTemplateSummaryRequest - { - StackName = stackName - }); - VerifyTemplateSummary(templateSummaryResponse); - } - finally - { - await WaitTillStackNotInProcess(stackName); - await Client.DeleteStackAsync(new DeleteStackRequest() { StackName = stackName }); - } - } - - async Task WaitTillStackNotInProcess(string stackname) - { - DescribeStacksResponse response = null; - do - { - UtilityMethods.Sleep(TimeSpan.FromSeconds(2)); - response = await Client.DescribeStacksAsync(new DescribeStacksRequest - { - StackName = stackname - }); - } while (response.Stacks[0].StackStatus.Value.EndsWith("IN_PROGRESS")); - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CloudFront.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CloudFront.cs deleted file mode 100644 index 03c5d7672ab3..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CloudFront.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; - -using Amazon.CloudFront; -using Amazon.CloudFront.Model; -using Amazon.S3.Model; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class CloudFront : TestBase - { - [Fact] - [Trait(CategoryAttribute,"CloudFront")] - public async Task ListDistributions() - { - var response = await Client.ListDistributionsAsync(); - Assert.NotNull(response.DistributionList); - } - - [Fact] - [Trait(CategoryAttribute,"CloudFront")] - public async Task OriginTests() - { - var createRequest = new CreateCloudFrontOriginAccessIdentityRequest() - { - CloudFrontOriginAccessIdentityConfig = new CloudFrontOriginAccessIdentityConfig() - { - CallerReference = Guid.NewGuid().ToString(), - Comment = UtilityMethods.SDK_TEST_PREFIX - } - }; - var createResponse = await Client.CreateCloudFrontOriginAccessIdentityAsync(createRequest); - Assert.NotNull(createResponse.ETag); - Assert.NotNull(createResponse.CloudFrontOriginAccessIdentity.Id); - string etag = createResponse.ETag; - try - { - var updateRequest = new UpdateCloudFrontOriginAccessIdentityRequest() - { - CloudFrontOriginAccessIdentityConfig = new CloudFrontOriginAccessIdentityConfig() - { - CallerReference = createRequest.CloudFrontOriginAccessIdentityConfig.CallerReference, - Comment = UtilityMethods.SDK_TEST_PREFIX + "update" - }, - Id = createResponse.CloudFrontOriginAccessIdentity.Id, - IfMatch = createResponse.ETag - }; - var updateResponse = await Client.UpdateCloudFrontOriginAccessIdentityAsync(updateRequest); - Assert.NotNull(updateResponse.ETag); - etag = updateResponse.ETag; - Assert.NotNull(updateResponse.CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig.Comment); - - var listResponse = await Client.ListCloudFrontOriginAccessIdentitiesAsync(); - Assert.True(listResponse.CloudFrontOriginAccessIdentityList.Items.Count > 0); - } - finally - { - var deleteRequest = new DeleteCloudFrontOriginAccessIdentityRequest() - { - Id = createResponse.CloudFrontOriginAccessIdentity.Id, - IfMatch = etag - }; - var deleteResponse = await Client.DeleteCloudFrontOriginAccessIdentityAsync(deleteRequest); - Assert.NotNull(deleteResponse.ResponseMetadata.RequestId); - } - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CloudHSM.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CloudHSM.cs deleted file mode 100644 index 5789cbc9bccc..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CloudHSM.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; - -using System.Linq; -using System.Threading.Tasks; - -using Amazon; -using Amazon.CloudHSM; -using Amazon.CloudHSM.Model; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class CloudHSM : TestBase - { - [Fact(Skip="CloudHSM classic is not available to newly created AWS accounts.")] - public async Task TestSimpleMethods() - { - var zones = (await Client.ListAvailableZonesAsync()).AZList; - Assert.NotNull(zones); - Assert.True(zones.Count > 0); - var hsms = Client.ListHsmsAsync().Result.HsmList; - Assert.NotNull(hsms); - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CloudWatchLogs.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CloudWatchLogs.cs deleted file mode 100644 index 70ca115d46ae..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CloudWatchLogs.cs +++ /dev/null @@ -1,145 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; - -using Amazon.CloudWatchLogs; -using Amazon.CloudWatchLogs.Model; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class CloudWatchLogs : TestBase - { - [Fact] - [Trait(CategoryAttribute,"CloudWatchLogs")] - public async Task CRUDLogGroup() - { - var logGroupName = "sdk-dotnet-" + DateTime.UtcNow.Ticks; - await Client.CreateLogGroupAsync(new CreateLogGroupRequest - { - LogGroupName = logGroupName - }); - try - { - { - DescribeLogGroupsResponse response = await Client.DescribeLogGroupsAsync(new DescribeLogGroupsRequest - { - LogGroupNamePrefix = logGroupName - }); - - Assert.Single(response.LogGroups); - Assert.NotNull(response.LogGroups[0].Arn); - Assert.Null(response.LogGroups[0].RetentionInDays); - - await Client.PutRetentionPolicyAsync(new PutRetentionPolicyRequest - { - LogGroupName = logGroupName, - RetentionInDays = 1 - }); - - response = await Client.DescribeLogGroupsAsync(new DescribeLogGroupsRequest - { - LogGroupNamePrefix = logGroupName - }); - - Assert.Single(response.LogGroups); - Assert.Equal(1, response.LogGroups[0].RetentionInDays.GetValueOrDefault()); - } - - { - await Client.CreateLogStreamAsync(new CreateLogStreamRequest - { - LogGroupName = logGroupName, - LogStreamName = "sample" - }); - - DescribeLogStreamsResponse describeResponse = await Client.DescribeLogStreamsAsync(new DescribeLogStreamsRequest - { - LogGroupName = logGroupName, - LogStreamNamePrefix = "sample" - }); - - Assert.Single(describeResponse.LogStreams); - Assert.NotNull(describeResponse.LogStreams[0].Arn); - - PutLogEventsResponse putResponse1 = await Client.PutLogEventsAsync(new PutLogEventsRequest - { - LogGroupName = logGroupName, - LogStreamName = "sample", - LogEvents = new List - { - new InputLogEvent - { - Message = "First Data", - Timestamp = DateTime.UtcNow - } - } - }); - - // Pad the time so the 2 events are not at the same time. - UtilityMethods.Sleep(TimeSpan.FromSeconds(.1)); - - await Client.PutLogEventsAsync(new PutLogEventsRequest - { - SequenceToken = putResponse1.NextSequenceToken, - LogGroupName = logGroupName, - LogStreamName = "sample", - LogEvents = new List - { - new InputLogEvent - { - Message = "Second Data", - Timestamp = DateTime.UtcNow - } - } - }); - - GetLogEventsResponse getResponse = null; - - // Doing this in a loop to wait for the eventual consistency of the events - // being written to cloudwatch logs. - for (int i = 0; i < 20; i++) - { - - getResponse = await Client.GetLogEventsAsync(new GetLogEventsRequest - { - LogGroupName = logGroupName, - LogStreamName = "sample", - StartTime = DateTime.UtcNow.AddDays(-2), - EndTime = DateTime.UtcNow - }); - - if (getResponse.Events.Count == 2) - break; - - UtilityMethods.Sleep(TimeSpan.FromSeconds(2)); - } - - Assert.Equal(2, getResponse.Events.Count); - Assert.Equal("First Data", getResponse.Events[0].Message); - Assert.Equal(DateTime.UtcNow.Date, getResponse.Events[0].Timestamp.Value.Date); - - Assert.Equal("Second Data", getResponse.Events[1].Message); - Assert.Equal(DateTime.UtcNow.Date, getResponse.Events[1].Timestamp.Value.Date); - - Assert.True(getResponse.Events[0].Timestamp < getResponse.Events[1].Timestamp); - } - } - finally - { - await Client.DeleteLogStreamAsync(new DeleteLogStreamRequest - { - LogGroupName = logGroupName, - LogStreamName = "sample" - }); - await Client.DeleteLogGroupAsync(new DeleteLogGroupRequest - { - LogGroupName = logGroupName - }); - } - } - } -} \ No newline at end of file diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CodeDeploy.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CodeDeploy.cs deleted file mode 100644 index 622ec7c09fff..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CodeDeploy.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Amazon; -using Amazon.CodeDeploy; -using Amazon.CodeDeploy.Model; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class CodeDeploy : TestBase - { - [Fact] - public void TestListApplications() - { - Client.ListApplicationsAsync().Wait(); - } - - - [Fact] - public async Task TestDeleteApplication() - { - var appName = UtilityMethods.GenerateName(); - await Client.CreateApplicationAsync(new CreateApplicationRequest { ApplicationName = appName }); - Assert.Contains(appName, Client.ListApplicationsAsync().Result.Applications); - await Client.DeleteApplicationAsync(new DeleteApplicationRequest { ApplicationName = appName }); - Assert.DoesNotContain(appName, Client.ListApplicationsAsync().Result.Applications); - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CredentialsTests.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CredentialsTests.cs deleted file mode 100644 index a34259c50756..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/CredentialsTests.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Collections.Generic; -using Amazon.Runtime; -using Amazon; -using Amazon.S3; -using System.Threading.Tasks; -using System.IO; -using Xunit; -using Amazon.DNXCore.IntegrationTests; -using Amazon.SecurityToken; -using Amazon.SecurityToken.Model; -using Amazon.IdentityManagement; -using Amazon.IdentityManagement.Model; - -namespace Amazon.DNXCore.IntegrationTests -{ - [Trait(TestBase.CategoryAttribute, "RequiresIAMUser")] - public class CredentialsTests - { - [Fact] - [Trait(TestBase.CategoryAttribute,"Credentials")] - public async Task TestSessionCredentials() - { - using (var sts = TestBase.CreateClient()) - { - AWSCredentials credentials = (await sts.GetSessionTokenAsync()).Credentials; - - using (var ec2 = TestBase.CreateClient < Amazon.EC2.AmazonEC2Client>(credentials)) - { - var regions = (await ec2.DescribeRegionsAsync()).Regions; - Console.WriteLine(regions.Count); - } - - using (var s3 = TestBase.CreateClient < Amazon.S3.AmazonS3Client>(credentials)) - { - var buckets = (await s3.ListBucketsAsync()).Buckets; - Console.WriteLine(buckets.Count); - } - - using (var swf = TestBase.CreateClient < Amazon.SimpleWorkflow.AmazonSimpleWorkflowClient>(credentials)) - { - var domains = (await swf.ListDomainsAsync(new Amazon.SimpleWorkflow.Model.ListDomainsRequest { RegistrationStatus = "REGISTERED" })).DomainInfos; - Console.WriteLine(domains.Infos.Count); - } - - using (var swf = TestBase.CreateClient < Amazon.SimpleWorkflow.AmazonSimpleWorkflowClient>(credentials)) - { - var domains = (await swf.ListDomainsAsync(new Amazon.SimpleWorkflow.Model.ListDomainsRequest { RegistrationStatus = "REGISTERED" })).DomainInfos; - Console.WriteLine(domains.Infos.Count); - } - } - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/DataPipeline.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/DataPipeline.cs deleted file mode 100644 index a63f203eb113..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/DataPipeline.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using Amazon.DataPipeline; -using Amazon.DataPipeline.Model; -using Amazon.DNXCore.IntegrationTests; -using Xunit; - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class DataPipeline : TestBase - { - [Fact] - [Trait(CategoryAttribute,"DataPipeline")] - public async Task TestListPipelines() - { - var response = await Client.ListPipelinesAsync(); - Assert.NotNull(response); - - // if test a/c had some pipelines, iterate through - // to verify marshal - if (response.PipelineIdList.Count > 0) - { - foreach (var p in response.PipelineIdList) - { - Assert.NotNull(p); - Assert.False(string.IsNullOrEmpty(p.Id)); - } - } - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/DirectoryService.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/DirectoryService.cs deleted file mode 100644 index 0112ba9ca1db..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/DirectoryService.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Threading.Tasks; -using Amazon.DirectoryService; -using Amazon.DirectoryService.Model; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class DirectoryService : TestBase - { - [Fact] - [Trait(CategoryAttribute,"DirectoryService")] - public async Task TestGetDirectoryLimits() - { - var response = await Client.GetDirectoryLimitsAsync(); - Assert.NotNull(response); - Assert.True(response.DirectoryLimits.ConnectedDirectoriesLimit > 0); - } - } -} \ No newline at end of file diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/ECS.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/ECS.cs deleted file mode 100644 index 9fe137950bd1..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/ECS.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Amazon; -using Amazon.ECS; -using Amazon.ECS.Model; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class ECS : TestBase - { - [Fact] - public async System.Threading.Tasks.Task ListClusters() - { - var clusters = await Client.ListClustersAsync(new ListClustersRequest()); - Assert.True(clusters.ClusterArns.Count >= 0); - - foreach (var cluster in clusters.ClusterArns) - { - Assert.False(string.IsNullOrEmpty(cluster)); - } - - return; - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/IAM/AccessKeyTests.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/IAM/AccessKeyTests.cs deleted file mode 100644 index 4ca8b06ab490..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/IAM/AccessKeyTests.cs +++ /dev/null @@ -1,134 +0,0 @@ -using System; -using System.Text; -using System.Threading.Tasks; -using System.Collections.Generic; -using System.Linq; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - -using Amazon.IdentityManagement; -using Amazon.IdentityManagement.Model; - -namespace AWSSDK_DotNet.IntegrationTests.Tests.IAM -{ - /// - /// Summary description for AccessKeyTests - /// - - public class AccessKeyTests : TestBase - { - [Fact(Skip = "Excluding tests that need IAM Write/Permissions management.")] - [Trait(CategoryAttribute,"IAM")] - public async Task TestCreateAccessKey() - { - using (var session = new IAMTestSession("TestCreateAccessKey", Client)) - { - string username = session.CreateTestUser(); - string keyId = null; - try - { - CreateAccessKeyResponse response = - await Client.CreateAccessKeyAsync(new CreateAccessKeyRequest() { UserName = username }); - keyId = response.AccessKey.AccessKeyId; - Assert.True(response.AccessKey.CreateDate.Value.Date.CompareTo(DateTime.UtcNow.Date) == 0); - } - finally - { - if (keyId != null) - await Client.DeleteAccessKeyAsync(new DeleteAccessKeyRequest() { UserName = username, AccessKeyId = keyId }); - } - } - } - - [Fact(Skip = "Excluding tests that need IAM Write/Permissions management.")] - [Trait(CategoryAttribute,"IAM")] - //[ExpectedException(typeof(NoSuchEntityException))] - public async Task TestCreateAccessKeyNonExistentUserException() - { - string username = "sdk-testuser-" + DateTime.UtcNow.Ticks; - await AssertExtensions.ExpectExceptionAsync(Client.CreateAccessKeyAsync(new CreateAccessKeyRequest() { UserName = username })); - } - - [Fact(Skip="Excluding tests that need IAM Write/Permissions management.")] - [Trait(CategoryAttribute,"IAM")] - public async Task TestListAccessKeys() - { - using (var session = new IAMTestSession("TestListAccessKeys", Client)) - { - string username = session.CreateTestUser(); - string[] keyIds = new string[2]; - - for (int i = 0; i < 2; i++) - { - CreateAccessKeyResponse response = - await Client.CreateAccessKeyAsync(new CreateAccessKeyRequest() { UserName = username }); - - keyIds[i] = response.AccessKey.AccessKeyId; - } - - ListAccessKeysResponse listRes = - await Client.ListAccessKeysAsync(new ListAccessKeysRequest() { UserName = username }); - - int matches = 0; - foreach (AccessKeyMetadata akm in listRes.AccessKeyMetadata) - { - if (akm.AccessKeyId.Equals(keyIds[0])) - matches |= 1; - if (akm.AccessKeyId.Equals(keyIds[1])) - matches |= 2; - } - Assert.Equal(3, matches); - - } - } - - - [Fact(Skip = "Excluding tests that need IAM Write/Permissions management.")] - [Trait(CategoryAttribute, "IAM")] - public async Task TestDeleteAccessKey() - { - using (var session = new IAMTestSession("TestDeleteAccessKey", Client)) - { - string username = session.CreateTestUser(); - string[] keyIds = new string[2]; - - for (int i = 0; i < 2; i++) - { - CreateAccessKeyResponse response = - await Client.CreateAccessKeyAsync(new CreateAccessKeyRequest() { UserName = username }); - - keyIds[i] = response.AccessKey.AccessKeyId; - } - - ListAccessKeysResponse lakRes = - await Client.ListAccessKeysAsync(new ListAccessKeysRequest() { UserName = username }); - - Assert.Equal(2, lakRes.AccessKeyMetadata.Count()); - - await Client.DeleteAccessKeyAsync(new DeleteAccessKeyRequest() { UserName = username, AccessKeyId = keyIds[0] }); - - lakRes = await Client.ListAccessKeysAsync(new ListAccessKeysRequest() { UserName = username }); - - Assert.Single(lakRes.AccessKeyMetadata); - Assert.Equal(keyIds[1], lakRes.AccessKeyMetadata[0].AccessKeyId); - } - } - - [Fact(Skip = "Excluding tests that need IAM Write/Permissions management.")] - [Trait(CategoryAttribute,"IAM")] - public async Task TestDeleteNonExistentAccessKeyException() - { - using (var session = new IAMTestSession("TestDeleteNonExistentAccessKeyException", Client)) - { - string username = session.CreateTestUser(); - - CreateAccessKeyResponse response = await Client.CreateAccessKeyAsync(new CreateAccessKeyRequest() { UserName = username }); - - string keyId = response.AccessKey.AccessKeyId; - await Client.DeleteAccessKeyAsync(new DeleteAccessKeyRequest() { UserName = username, AccessKeyId = keyId }); - - await Assert.ThrowsAsync(() => Client.DeleteAccessKeyAsync(new DeleteAccessKeyRequest() { UserName = username, AccessKeyId = keyId })); - } - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/IAM/Util.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/IAM/Util.cs deleted file mode 100644 index 514db2bbc441..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/IAM/Util.cs +++ /dev/null @@ -1,136 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -using Amazon.IdentityManagement; -using Amazon.IdentityManagement.Model; -using Amazon.DNXCore.IntegrationTests; - -namespace AWSSDK_DotNet.IntegrationTests.Tests.IAM -{ - public class IAMTestSession : IDisposable - { - List _users = new List(); - List _groups = new List(); - AmazonIdentityManagementServiceClient _client; - string _testName; - - public string Prefix { get; set; } - - - public IAMTestSession(string testName, AmazonIdentityManagementServiceClient client) - { - Prefix = IAMUtil.MakePath(testName); - _testName = testName; - _client = client; - } - - public string CreateTestUser() - { - var user = IAMUtil.CreateTestUser(_client, _testName); - _users.Add(user); - return user; - } - - public void Dispose() - { - // Delete the users created in the session - IAMUtil.DeleteTestUsers(_client, _users.ToArray()); - _users.Clear(); - } - } - - class IAMUtil - { - public static string TEST_PATH = "/IntegrationTests/IAM/"; - - public static string MakePath(params string[] elements) - { - string path = TEST_PATH; - foreach (string s in elements) - { - path = string.Format("{0}{1}/", path, s); - } - - return path; - } - - public static void DeleteUsersAndGroupsInTestNameSpace(string testPrefix) - { - AmazonIdentityManagementServiceClient client = UtilityMethods.CreateClient(); - var prefix = MakePath(testPrefix); - ListGroupsResponse lgRes = client.ListGroupsAsync(new ListGroupsRequest() { PathPrefix = prefix }).Result; - foreach (Group g in lgRes.Groups) - { - GetGroupResponse ggRes = client.GetGroupAsync(new GetGroupRequest() { GroupName = g.GroupName }).Result; - foreach (User u in ggRes.Users) - { - client.RemoveUserFromGroupAsync(new RemoveUserFromGroupRequest() { GroupName = g.GroupName, UserName = u.UserName }).Wait(); - } - client.DeleteGroupAsync(new DeleteGroupRequest() { GroupName = g.GroupName }).Wait(); - } - - ListUsersResponse luRes = client.ListUsersAsync(new ListUsersRequest() { PathPrefix = prefix }).Result; - foreach (User u in luRes.Users) - { - DeleteTestUsers(client, u.UserName); - } - } - - public static void DeleteAccessKeysForUser(AmazonIdentityManagementServiceClient client, string username) - { - ListAccessKeysResponse response = client.ListAccessKeysAsync(new ListAccessKeysRequest() { UserName = username }).Result; - foreach (AccessKeyMetadata akm in response.AccessKeyMetadata) - { - client.DeleteAccessKeyAsync(new DeleteAccessKeyRequest() { UserName = username, AccessKeyId = akm.AccessKeyId }).Wait(); - } - } - - public static void DeleteUserPoliciesForUser(AmazonIdentityManagementServiceClient client, string username) - { - ListUserPoliciesResponse response = - client.ListUserPoliciesAsync(new ListUserPoliciesRequest() { UserName = username }).Result; - foreach (string pName in response.PolicyNames) - { - client.DeleteUserPolicyAsync(new DeleteUserPolicyRequest() { UserName = username, PolicyName = pName }).Wait(); - } - } - - public static void DeleteCertificatesForUser(AmazonIdentityManagementServiceClient client, string username) - { - ListSigningCertificatesResponse response = - client.ListSigningCertificatesAsync(new ListSigningCertificatesRequest() { UserName = username }).Result; - foreach (SigningCertificate cert in response.Certificates) - { - client.DeleteSigningCertificateAsync(new DeleteSigningCertificateRequest() { UserName = username, CertificateId = cert.CertificateId }).Wait(); - } - } - - internal static string CreateTestUser(AmazonIdentityManagementServiceClient client, string testPrefix) - { - var prefix = MakePath(testPrefix); - string username = "sdk-testuser-" + DateTime.UtcNow.Ticks; - client.CreateUserAsync(new CreateUserRequest() { UserName = username, Path = prefix }).Wait(); - return username; - } - - public static void DeleteTestUsers(AmazonIdentityManagementServiceClient client, params string[] usernames) - { - UtilityMethods.WaitUntilSuccess(() => { - foreach (string s in usernames) - { - DeleteAccessKeysForUser(client, s); - DeleteUserPoliciesForUser(client, s); - DeleteCertificatesForUser(client, s); - try - { - client.DeleteLoginProfileAsync(new DeleteLoginProfileRequest() { UserName = s }).Wait(); - } catch { } - - client.DeleteUserAsync(new DeleteUserRequest() { UserName = s }).Wait(); - } - },10,500); - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/Kinesis.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/Kinesis.cs deleted file mode 100644 index d0874df35de1..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/Kinesis.cs +++ /dev/null @@ -1,88 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; - -using Amazon.Kinesis; -using Amazon.Kinesis.Model; -using Amazon.Runtime; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class Kinesis : TestBase - { - private List _streamNames = new List(); - - protected override void Dispose(bool disposing) - { - foreach (var streamName in _streamNames) - { - try - { - Client.DeleteStreamAsync(new DeleteStreamRequest - { - StreamName = streamName - }).Wait(); - } - catch { }; - } - base.Dispose(disposing); - } - - [Fact] - [Trait(CategoryAttribute,"Kinesis")] - public async Task KinesisCRUD() - { - var streamName = UtilityMethods.GenerateName("KinesisCRUD"); - - // Create a stream. - await Client.CreateStreamAsync(new CreateStreamRequest - { - ShardCount = 1, - StreamName = streamName - }); - _streamNames.Add(streamName); - - // Describe the stream. - var stream = (await Client.DescribeStreamAsync(new DescribeStreamRequest - { - StreamName = streamName - })).StreamDescription; - Assert.False(stream.HasMoreShards); - Assert.False(string.IsNullOrEmpty(stream.StreamARN)); - Assert.Equal(stream.StreamName, streamName); - Assert.True(stream.StreamStatus == StreamStatus.CREATING || stream.StreamStatus == StreamStatus.ACTIVE); - - // List streams. - var streamNames = (await Client.ListStreamsAsync()).StreamNames; - Assert.True(streamNames.Count > 0); - Assert.Contains(streamName, streamNames); - } - - private StreamDescription WaitForStreamToBeActive(string streamName) - { - while (true) - { - var stream = Client.DescribeStreamAsync(new DescribeStreamRequest - { - StreamName = streamName - }).Result.StreamDescription; - - if (stream.StreamStatus != StreamStatus.ACTIVE) - { - UtilityMethods.Sleep(TimeSpan.FromSeconds(5)); - continue; - } - else - { - return stream; - } - } - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/MediaStoreData.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/MediaStoreData.cs deleted file mode 100644 index 462ac4bfd6db..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/MediaStoreData.cs +++ /dev/null @@ -1,310 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ -using System; -using System.Text; -using System.Threading.Tasks; -using Amazon.MediaStoreData; -using Amazon.MediaStoreData.Model; -using Xunit; -using System.IO; -using Amazon.MediaStore; -using Amazon.MediaStore.Model; -using System.Net; -using System.Threading; -using ContainerNotFoundException = Amazon.MediaStore.Model.ContainerNotFoundException; - -namespace Amazon.DNXCore.IntegrationTests -{ - /// - /// Tests for AWS MediaStoreData service - /// - public class MediaStoreData : TestBase - { - /// - /// Name of the container that we want to create in AWS MediaStore Data - /// - private const string ContainerName = "TestContainerNetStandard"; - /// - /// Object Path of the object that we want to create in AWS MediaStore Data - /// - private const string ObjectPath = "TestNetStandard"; - /// - /// Timeout for when a test to fail (in seconds) - /// - private const int TestTimeout = 300; - - /// - /// Creates a container in AWS MediaStore Data - /// - public async Task Init() - { - // AWS Media Store requires a container in order to call PutObject - await CreateContainerAsync(ContainerName); - } - - /// - /// Deletes created container - /// - public async Task Cleanup() - { - // Delete the created container - await DeleteContainerAsync(ContainerName); - } - - /// - /// Compresses a payload of type stream of a request using compression while calling . - /// - [Fact (Skip="This test is currently turned off because at the time it was written, the models for this service" + - " did not have compression traits required to compress the payload of the request. We added those traits manually" + - " in the model and ran those tests to make sure that request compression feature works for streams.")] - [Trait(CategoryAttribute, "MediaStoreData")] - public async Task PutObjectTestAsync() - { - await UtilityMethods.WaitUntilAsync(async () => - { - try - { - await Init(); - - // Get endpoint Url of the created container - var endpoint = GetEndpointUrl(ContainerName).Result; - - var config = new AmazonMediaStoreDataConfig - { - ServiceURL = endpoint, - DisableRequestCompression = false // Make sure that this flag is false in order to compress the stream - }; - - using (var client = new AmazonMediaStoreDataClient(config)) - { - var putObjectRequest = new PutObjectRequest - { - Path = ObjectPath, - Body = new MemoryStream(Encoding.UTF8.GetBytes("Testing 123")), // We are passing a stream to the payload - ContentType = "application/octet-stream" - }; - - // Upload the file to AWS MediaStore Data - var response = await client.PutObjectAsync(putObjectRequest); - - Assert.Equal(HttpStatusCode.OK, response.HttpStatusCode); - - await WaitForObjectToBeListedAsync(client); - } - } - finally - { - // If the test fails, we still want to clean up created resources - await Cleanup(); - } - }, TimeSpan.FromSeconds(TestTimeout)); - } - - /// - /// Creates a container with name if it doesn't already exist. - /// - /// Name of the container that we want to delete - private async Task CreateContainerAsync(string containerName) - { - var client = new AmazonMediaStoreClient(); - // Wait until an existing container has been deleted - var containerStatus = await WaitUntilDescribeContainerConditionMetAsync(client, containerName, (status) => status != ContainerStatus.DELETING, "Container is ready to use!"); - // Create a container only if it doesn't already exist - if (containerStatus == null || containerStatus != ContainerStatus.ACTIVE) - { - var containerRequest = new CreateContainerRequest() - { - ContainerName = containerName, - }; - - await client.CreateContainerAsync(containerRequest); - // Wait until container's status is set to active - await WaitUntilDescribeContainerConditionMetAsync(client, containerName, (status) => status == ContainerStatus.ACTIVE, "Container is ready to use!"); - } - } - - /// - /// Delete container given - /// - /// Name of the container that we want to delete - private async Task DeleteContainerAsync(string containerName) - { - var endpoint = GetEndpointUrl(containerName).Result; - - using (var client = new AmazonMediaStoreDataClient(endpoint)) - { - // Delete the objects (files) in the container - var listObjectsResponse = await client.ListItemsAsync(new ListItemsRequest()); - - foreach (var item in listObjectsResponse.Items) - { - await client.DeleteObjectAsync(new DeleteObjectRequest - { - Path = item.Name, - }); - - } - - var areObjectsDeleted = false; - // Wait for all objects to be deleted - do - { - var listItemsResponse = await client.ListItemsAsync(new ListItemsRequest()); - var remainingObjects = listItemsResponse.Items; - - // Check if there are any objects left in the container - if (remainingObjects.Count == 0) - { - areObjectsDeleted = true; - Console.WriteLine("All objects in the container are deleted."); - } - else - { - // Sleep for a few seconds before checking again - Thread.Sleep(5000); - } - } while (!areObjectsDeleted); - } - - using (var client = new AmazonMediaStoreClient()) - { - var containerRequest = new DeleteContainerRequest() - { - ContainerName = containerName, - }; - - await client.DeleteContainerAsync(containerRequest); - } - } - - /// - /// Get endpoint Url based off - /// - /// Endpoint Url of the container holding this name - /// Endpoint url of the container - private async Task GetEndpointUrl(string containerName) - { - using (var client = new AmazonMediaStoreClient()) - { - var containerRequest = new DescribeContainerRequest() - { - ContainerName = containerName, - }; - - DescribeContainerResponse describeContainerResponse; - describeContainerResponse = await client.DescribeContainerAsync(containerRequest); - - return describeContainerResponse.Container.Endpoint; - } - } - - - // Define a delegate for the condition - private delegate bool ConditionCheck(ContainerStatus containerStatus); - - /// - /// Call and wait until condition is met or an exception has been thrown - /// - /// client - /// Container name - /// When this condition is met, we stop calling - /// Console message for when the condiiton is met - /// Status of the container or null if an exception was thrown - private async Task WaitUntilDescribeContainerConditionMetAsync(AmazonMediaStoreClient client, string containerName, ConditionCheck conditionCheck, string successMessage) - { - bool isConditionMet = false; - - do - { - try - { - var describeContainerResponse = await client.DescribeContainerAsync(new DescribeContainerRequest() - { - ContainerName = containerName - }); - - var containerStatus = describeContainerResponse.Container.Status; - - // Check if the specified condition is met - if (conditionCheck(containerStatus)) - { - isConditionMet = true; - Console.WriteLine(successMessage); - return containerStatus; - } - else - { - // Sleep for a few seconds before checking the status again - Thread.Sleep(5000); - } - } - // We don't have an existing container - catch (ContainerNotFoundException e) - { - Console.WriteLine(e); - return null; - } - } while (!isConditionMet); - - return null; - } - - /// - /// Wait until objects are listed in the container - /// - /// client - private async Task WaitForObjectToBeListedAsync(AmazonMediaStoreDataClient client) - { - var isObjectProcessing = true; - - do - { - // Call DescribeObject to get the object's processing status - var describeObjectRequest = new ListItemsRequest - { - Path = "" - }; - - try - { - var describeObjectResponse = await client.ListItemsAsync(describeObjectRequest); - - - // Check if the processing status is "Completed" - if (describeObjectResponse?.Items != null) - { - foreach (var item in describeObjectResponse.Items) - { - if (item.Name.Equals(ObjectPath)) - { - isObjectProcessing = false; - Console.WriteLine("Object processing is complete."); - } - } - } - else - { - // Object is still processing, wait for the specified interval before retrying - Thread.Sleep(5000); - } - } - catch (Exception) - { - throw; - } - } while (isObjectProcessing); - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/ProtocolTests.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/ProtocolTests.cs index 28d4269619b9..5bfb3d2b0b4f 100644 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/ProtocolTests.cs +++ b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/ProtocolTests.cs @@ -1,18 +1,9 @@ -using Amazon.DynamoDBv2; -using Amazon.DynamoDBv2.Model; -using Amazon.ElasticTranscoder; -using Amazon.ElasticTranscoder.Model; using Amazon.Runtime; using Amazon.S3; using Amazon.S3.Model; -using Amazon.SimpleWorkflow; -using Amazon.SimpleWorkflow.Model; -using Amazon.DNXCore.IntegrationTests; using Xunit; using System; -using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; namespace Amazon.DNXCore.IntegrationTests @@ -23,53 +14,10 @@ namespace Amazon.DNXCore.IntegrationTests public class ProtocolTests { - //[Fact] - public void TestJson() - { - UtilityMethods.RunAsSync(TestJson_Async); - } - - private async Task TestJson_Async() - { - using (var client = UtilityMethods.CreateClient()) - { - var domainName = "dotnet-test-domain-" + DateTime.UtcNow.ToFileTime(); - - await client.RegisterDomainAsync(new RegisterDomainRequest - { - Name = domainName, - Description = "Test domain", - WorkflowExecutionRetentionPeriodInDays = "5" - }); - - var domains = (await client.ListDomainsAsync(new ListDomainsRequest - { - RegistrationStatus = RegistrationStatus.REGISTERED - })).DomainInfos; - - Assert.NotNull(domains); - Assert.NotNull(domains.Infos); - Assert.NotEmpty(domains.Infos); - - await client.DeprecateDomainAsync(new DeprecateDomainRequest - { - Name = domainName - }); - - var ure = await AssertExtensions.ExpectExceptionAsync(client.DeprecateDomainAsync(new DeprecateDomainRequest - { - Name = "really-fake-domain-that-should-not-exist" + DateTime.UtcNow.ToFileTime() - })); - Assert.NotNull(ure); - Assert.NotNull(ure.Message); - Assert.NotNull(ure.ErrorCode); - Assert.Equal(ErrorType.Unknown, ure.ErrorType); - } - } - [Fact] public async Task TestRestXml() { + // TODO: Validate this test is still necessary after the S3 codegen migration is complete. using (var client = UtilityMethods.CreateClient()) { var bucketName = await UtilityMethods.CreateBucketAsync(client, "TestRestXml_Async"); @@ -87,9 +35,9 @@ public async Task TestRestXml() { BucketName = fakeBucketName })); + Assert.NotNull(as3e); Assert.NotNull(as3e.Message); - //Assert.NotNull(aete.ErrorCode); Assert.Equal(ErrorType.Sender, as3e.ErrorType); } finally diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/RDS/BasicDescribes.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/RDS/BasicDescribes.cs deleted file mode 100644 index 7518ab0164dd..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/RDS/BasicDescribes.cs +++ /dev/null @@ -1,133 +0,0 @@ -using System; -using System.Threading.Tasks; -using Amazon.ElasticTranscoder.Model; -using Amazon.RDS; -using Amazon.RDS.Model; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - -namespace AWSSDK_DotNet.IntegrationTests.Tests.RDS -{ - - public class BasicDescribes : TestBase - { - [Fact] - [Trait(CategoryAttribute,"RDS")] - public async Task TestDescribeDBEngineVersions() - { - var response = await Client.DescribeDBEngineVersionsAsync(); - Assert.NotNull(response); - - string dbEngine = null; - if (response.DBEngineVersions.Count > 0) - { - foreach (var dbev in response.DBEngineVersions) - { - Assert.False(string.IsNullOrEmpty(dbev.Engine)); - if (dbEngine == null) - dbEngine = dbev.Engine; - - Assert.False(string.IsNullOrEmpty(dbev.EngineVersion)); - } - } - - if (dbEngine != null) - { - // can perform a filtering test - var specificEngineResponse = - await Client.DescribeDBEngineVersionsAsync(new DescribeDBEngineVersionsRequest {Engine = dbEngine}); - Assert.NotNull(specificEngineResponse); - foreach (var dbev in specificEngineResponse.DBEngineVersions) - { - Assert.Equal(dbev.Engine, dbEngine); - } - } - } - - [Fact] - [Trait(CategoryAttribute,"RDS")] - public async Task TestDescribeDBEngineVersionsForFamily() - { - var response = await Client.DescribeDBParameterGroupsAsync(); - Assert.NotNull(response); - - if (response.DBParameterGroups != null && response.DBParameterGroups.Count > 0) - { - var dbParamGroupFamily = response.DBParameterGroups[0]; - - var describeResponse = await Client.DescribeDBEngineVersionsAsync(new DescribeDBEngineVersionsRequest - { - DBParameterGroupFamily = dbParamGroupFamily.DBParameterGroupFamily - }); - Assert.NotNull(response); - - if (describeResponse.DBEngineVersions != null && describeResponse.DBEngineVersions.Count > 0) - { - foreach (var dbev in describeResponse.DBEngineVersions) - { - Assert.Equal(dbParamGroupFamily.DBParameterGroupFamily, dbev.DBParameterGroupFamily); - } - } - } - } - - [Fact] - [Trait(CategoryAttribute,"RDS")] - public async Task TestDescribeDBParameterGroups() - { - var response = await Client.DescribeDBParameterGroupsAsync(); - Assert.NotNull(response); - - if (response.DBParameterGroups != null && response.DBParameterGroups.Count > 0) - { - foreach (var dbpg in response.DBParameterGroups) - { - Assert.False(string.IsNullOrEmpty(dbpg.DBParameterGroupFamily)); - Assert.False(string.IsNullOrEmpty(dbpg.DBParameterGroupName)); - } - } - } - - [Fact] - [Trait(CategoryAttribute,"RDS")] - public async Task TestDescribeDBInstances() - { - var response = await Client.DescribeDBInstancesAsync(); - Assert.NotNull(response); - - string dbInstanceIdentifier = null; - if (response.DBInstances != null && response.DBInstances.Count > 0) - { - foreach (var dbi in response.DBInstances) - { - Assert.False(string.IsNullOrEmpty(dbi.DBInstanceIdentifier)); - if (dbInstanceIdentifier == null) - dbInstanceIdentifier = dbi.DBInstanceIdentifier; - - Assert.False(string.IsNullOrEmpty(dbi.Engine)); - Assert.False(string.IsNullOrEmpty(dbi.EngineVersion)); - - if (dbi.DBParameterGroups.Count > 0) - { - foreach (var dbpg in dbi.DBParameterGroups) - { - Assert.False(string.IsNullOrEmpty(dbpg.DBParameterGroupName)); - } - } - } - } - - if (dbInstanceIdentifier != null) - { - // can do a further filtering test - var specificIdResponse = - Client.DescribeDBInstancesAsync(new DescribeDBInstancesRequest - { - DBInstanceIdentifier = dbInstanceIdentifier - }).Result; - Assert.NotNull(specificIdResponse); - Assert.Single(specificIdResponse.DBInstances); - } - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/Route53Domains.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/Route53Domains.cs deleted file mode 100644 index fdd3cf8b67ef..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/Route53Domains.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System.Collections.Generic; - -using System.Threading.Tasks; -using Amazon.Route53Domains; -using Amazon.Route53Domains.Model; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class Route53Domains : TestBase - { - [Fact] - [Trait(CategoryAttribute,"Route53Domains")] - public async Task CheckDomainAvailabilityTest() - { - var checkRequest = new CheckDomainAvailabilityRequest - { - DomainName = "mydomain1111111111111.com" - }; - var response = await Client.CheckDomainAvailabilityAsync(checkRequest); - Assert.Equal(DomainAvailability.AVAILABLE, response.Availability); - - checkRequest = new CheckDomainAvailabilityRequest - { - DomainName = "mydomain1111111111111.fake" - }; - await AssertExtensions.ExpectExceptionAsync(Client.CheckDomainAvailabilityAsync(checkRequest)); - - var domains = (await Client.ListDomainsAsync()).Domains; - if (domains.Count > 0) - { - checkRequest.DomainName = domains[0].DomainName; - response = await Client.CheckDomainAvailabilityAsync(checkRequest); - Assert.Equal(DomainAvailability.UNAVAILABLE, response.Availability); - } - } - - [Fact] - [Trait(CategoryAttribute,"Route53Domains")] - public async Task TestTagging() - { - var domains = (await Client.ListDomainsAsync()).Domains; - if (domains.Count > 0) - { - await TestTaggingAsync(Client, domains[0].DomainName); - } - } - - private async Task TestTaggingAsync(AmazonRoute53DomainsClient client, string domain) - { - var existingTags = (await client.ListTagsForDomainAsync(domain)).TagList; - - await client.UpdateTagsForDomainAsync(domain, - new List -         { -             new Tag { Key = "tag1", Value = "42" }, -             new Tag { Key = "tag2", Value = "ALL" } -         }); - - var tags = client.ListTagsForDomainAsync(domain).Result.TagList; - var count = tags.Count; - Assert.Equal(2, count); - - await client.DeleteTagsForDomainAsync(domain, new List { "tag1" }); - - tags = (await client.ListTagsForDomainAsync(domain)).TagList; - Assert.Single(tags); - - // Restore previous tags - if (existingTags.Count > 0) - await client.UpdateTagsForDomainAsync(domain, existingTags); - else - await client.DeleteTagsForDomainAsync(domain, new List { "tag2" }); - - tags = (await client.ListTagsForDomainAsync(domain)).TagList; - count = tags.Count; - Assert.Equal(existingTags.Count, count); - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SNS.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SNS.cs index e24c67f9a493..b05d5980fe33 100644 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SNS.cs +++ b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SNS.cs @@ -209,7 +209,10 @@ private async Task> GetAllTopics() do { var listResponse = await Client.ListTopicsAsync(listRequest); - allTopics.AddRange(listResponse.Topics); + if (listResponse.Topics != null) + { + allTopics.AddRange(listResponse.Topics); + } listRequest.NextToken = listResponse.NextToken; } while (!string.IsNullOrEmpty(listRequest.NextToken)); diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SQS.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SQS.cs index ec0b2cfb5472..11e26702251d 100644 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SQS.cs +++ b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SQS.cs @@ -58,6 +58,20 @@ protected override void Dispose(bool disposing) base.Dispose(disposing); } + [Fact] + [Trait(CategoryAttribute, "SQS")] + public async Task ListQueues() + { + var request = new ListQueuesRequest(); + var response = await Client.ListQueuesAsync(request); + Assert.NotNull(response.ResponseMetadata.Metadata); + + if (AWSConfigs.InitializeCollections) + { + Assert.NotNull(response.QueueUrls); + } + } + [Fact] [Trait(CategoryAttribute,"SQS")] public async Task SQSDLQTest() @@ -261,11 +275,6 @@ public static string Reverse(string s) Array.Reverse(charArray); return new string(charArray); } - - private static string CalculateMD5(string message) - { - return Amazon.SQS.Internal.ValidationResponseHandler.CalculateMD5(message); - } private static void ValidateMD5(string message, string md5) { Amazon.SQS.Internal.ValidationResponseHandler.ValidateMD5(message, md5); @@ -296,25 +305,6 @@ private async Task getQueueArn(string queueUrl) })).QueueARN; } - - private async Task deleteQueueTest(string queueUrl) - { - var listResult = await Client.ListQueuesAsync(new ListQueuesRequest() { QueueNamePrefix = prefix }); - int count = listResult.QueueUrls.Count; - - await Client.DeleteQueueAsync(new DeleteQueueRequest() { QueueUrl = queueUrl }); - for (int i = 0; i < 10; i++) - { - listResult = await Client.ListQueuesAsync(new ListQueuesRequest() { QueueNamePrefix = prefix }); - if (count - 1 == listResult.QueueUrls.Count) - { - return; - } - Console.WriteLine("Sleeping 10s while queue is being deleted"); - UtilityMethods.Sleep(TimeSpan.FromSeconds(10)); - } - } - private async Task createQueueTest(string name) { var result = await Client.CreateQueueAsync( diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SecurityToken/AssumeRoleWithWebIdentityCredentialsTests.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SecurityToken/AssumeRoleWithWebIdentityCredentialsTests.cs deleted file mode 100644 index ed0eca941a3f..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SecurityToken/AssumeRoleWithWebIdentityCredentialsTests.cs +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ -using Amazon.Runtime; -using Amazon.IdentityManagement; -using Amazon.IdentityManagement.Model; -using Amazon.DNXCore.IntegrationTests; -using System.IO; -using Xunit; - -namespace AWSSDK_DotNet.IntegrationTests.Tests -{ - public class AssumeRoleWithWebIdentityAWSCredentialsTests : TestBase - { - [Fact(Skip="Disabling to avoid requiring permissions to create an IAM role.")] - [Trait(CategoryAttribute, "SecurityTokenService")] - public async void TestAssumeRoleWithWebIdentityCredentialsUsesAnonymousAWSCredentialsToFetch() - { - var user = await Client.GetUserAsync(); - var createRoleRequest = new CreateRoleRequest() - { - RoleName = "DummyAccountRole", - AssumeRolePolicyDocument = "{\"Version\": \"2012-10-17\", \"Statement\": [{ \"Effect\": \"Allow\",\"Principal\": {\"AWS\": \"" + user.User.Arn + "\"},\"Action\": \"sts:AssumeRole\",\"Condition\": {}}]}" - }; - var role = await Client.CreateRoleAsync(createRoleRequest); - - var dummyToken = "dummyToken"; - var dummyRoleArn = role.Role.Arn; - var dummyRoleSessionName = "dummyRoleSessionName"; - var dummyOptions = new AssumeRoleWithWebIdentityCredentialsOptions(); - var currentDirectory = Directory.GetCurrentDirectory(); - var webIdentityTokenFilePath = Path.Combine(currentDirectory, "my-token.jwt"); - File.WriteAllText(webIdentityTokenFilePath, dummyToken); - - var webIdentityCredentials = new AssumeRoleWithWebIdentityCredentials(webIdentityTokenFilePath, dummyRoleArn, dummyRoleSessionName, dummyOptions); - try - { - var fetchedCredentials = webIdentityCredentials.GetCredentials(); - } - catch (AmazonClientException e) - { - Assert.Equal("InvalidIdentityToken", ((AmazonServiceException)e.InnerException).ErrorCode); - } - finally - { - var deleteRoleRequest = new DeleteRoleRequest() { RoleName = role.Role.RoleName }; - await Client.DeleteRoleAsync(deleteRoleRequest); - } - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SecurityToken/GetFederationToken.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SecurityToken/GetFederationToken.cs deleted file mode 100644 index 5f9b96bf0e71..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SecurityToken/GetFederationToken.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System; -using System.Threading; -using System.Threading.Tasks; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - -using Amazon.SecurityToken; -using Amazon.SecurityToken.Model; - -namespace AWSSDK_DotNet.IntegrationTests.Tests -{ - [Trait(CategoryAttribute, "RequiresIAMUser")] - public class GetFederationTokenTest : TestBase - { - [Fact] - [Trait(CategoryAttribute,"SecurityTokenService")] - public async Task TestGetFederationToken() - { - var gftRequest = new GetFederationTokenRequest - { - Policy = @"{""Statement"":[{""Effect"":""Allow"",""Action"":""*"",""Resource"":""*""}]}", - Name = "BillyBob", - DurationSeconds = 3600 - }; - var gftResult = await Client.GetFederationTokenAsync(gftRequest); - - Assert.NotNull(gftResult.Credentials.AccessKeyId); - Assert.NotNull(gftResult.Credentials.SecretAccessKey); - Assert.NotNull(gftResult.Credentials.SessionToken); - Assert.NotEqual(DateTime.MinValue, gftResult.Credentials.Expiration); - - var time = DateTime.UtcNow; - var approximateExpires = time.AddHours(1); - var expiresAfter = approximateExpires.AddMinutes(-5); - var expiresBefore = approximateExpires.AddMinutes(5); - var expires = gftResult.Credentials.Expiration; - - Assert.True(expires > expiresAfter); - Assert.True(expires < expiresBefore); - - Assert.NotNull(gftResult.FederatedUser.FederatedUserId); - Assert.NotNull(gftResult.FederatedUser.Arn); - - Assert.EndsWith(gftRequest.Name, gftResult.FederatedUser.FederatedUserId, StringComparison.OrdinalIgnoreCase); - Assert.EndsWith(gftRequest.Name, gftResult.FederatedUser.Arn, StringComparison.OrdinalIgnoreCase); - } - - [Fact] - [Trait(CategoryAttribute,"SecurityTokenService")] - public async Task TestGetFederationTokenAsync() - { - var gftRequest = new GetFederationTokenRequest - { - Policy = @"{""Statement"":[{""Effect"":""Allow"",""Action"":""*"",""Resource"":""*""}]}", - Name = "BillyBob", - DurationSeconds = 3600 - }; - - GetFederationTokenResponse asyncResponse = null; - - asyncResponse = await Client.GetFederationTokenAsync(gftRequest); - - UtilityMethods.Sleep(TimeSpan.FromSeconds(5)); - Assert.NotNull(asyncResponse); - - var gftResult = asyncResponse; - Assert.NotNull(gftResult); - Assert.NotNull(gftResult.Credentials.AccessKeyId); - Assert.NotNull(gftResult.Credentials.SecretAccessKey); - Assert.NotNull(gftResult.Credentials.SessionToken); - Assert.NotEqual(DateTime.MinValue, gftResult.Credentials.Expiration); - - var time = DateTime.UtcNow; - var approximateExpires = time.AddHours(1); - var expiresAfter = approximateExpires.AddMinutes(-5); - var expiresBefore = approximateExpires.AddMinutes(5); - var expires = gftResult.Credentials.Expiration; - - Assert.True(expires > expiresAfter); - Assert.True(expires < expiresBefore); - - Assert.NotNull(gftResult.FederatedUser.FederatedUserId); - Assert.NotNull(gftResult.FederatedUser.Arn); - - Assert.EndsWith(gftRequest.Name, gftResult.FederatedUser.FederatedUserId, StringComparison.OrdinalIgnoreCase); - Assert.EndsWith(gftRequest.Name, gftResult.FederatedUser.Arn, StringComparison.OrdinalIgnoreCase); - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SecurityToken/GetSessionToken.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SecurityToken/GetSessionToken.cs deleted file mode 100644 index 9a4803ea0440..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SecurityToken/GetSessionToken.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using System.Threading; -using System.Threading.Tasks; -using Amazon; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - -using Amazon.SecurityToken; -using Amazon.SecurityToken.Model; - -namespace AWSSDK_DotNet.IntegrationTests.Tests -{ - [Trait(CategoryAttribute, "RequiresIAMUser")] - public class GetSessionToken : TestBase - { - [Fact] - [Trait(CategoryAttribute,"SecurityTokenService")] - public async Task TestGetSessionToken() - { - var gstRequest = new GetSessionTokenRequest() - { - DurationSeconds = 3600 - }; - - var gstResult = await Client.GetSessionTokenAsync(gstRequest); - - Assert.NotNull(gstResult.Credentials.AccessKeyId); - Assert.NotNull(gstResult.Credentials.SecretAccessKey); - Assert.NotNull(gstResult.Credentials.SessionToken); - Assert.NotEqual(DateTime.MinValue, gstResult.Credentials.Expiration); - - var time = DateTime.UtcNow; - var approximateExpires = time.AddHours(1); - var expiresAfter = approximateExpires.AddMinutes(-5); - var expiresBefore = approximateExpires.AddMinutes(5); - var expires = gstResult.Credentials.Expiration; - - Assert.True(expires > expiresAfter); - Assert.True(expires < expiresBefore); - } - - [Fact] - [Trait(CategoryAttribute,"SecurityTokenService")] - public async Task TestGetSessionTokenRegional() - { - using (var uswest2Client = TestBase.CreateClient(endpoint: RegionEndpoint.USWest2)) - { - var gstRequest = new GetSessionTokenRequest() - { - DurationSeconds = 3600 - }; - - var gstResult = await uswest2Client.GetSessionTokenAsync(gstRequest); - - Assert.NotNull(gstResult.Credentials.AccessKeyId); - Assert.NotNull(gstResult.Credentials.SecretAccessKey); - Assert.NotNull(gstResult.Credentials.SessionToken); - Assert.NotEqual(DateTime.MinValue, gstResult.Credentials.Expiration); - - var time = DateTime.UtcNow; - var approximateExpires = time.AddHours(1); - var expiresAfter = approximateExpires.AddMinutes(-5); - var expiresBefore = approximateExpires.AddMinutes(5); - var expires = gstResult.Credentials.Expiration; - - Assert.True(expires > expiresAfter); - Assert.True(expires < expiresBefore); - } - } - - [Fact] - [Trait(CategoryAttribute,"SecurityTokenService")] - public async Task TestGetSessionTokenAsync() - { - var gstRequest = new GetSessionTokenRequest() - { - DurationSeconds = 3600 - }; - - GetSessionTokenResponse asyncResponse = null; - - asyncResponse = await Client.GetSessionTokenAsync(gstRequest); - - UtilityMethods.Sleep(TimeSpan.FromSeconds(5)); - Assert.NotNull(asyncResponse); - - var gstResult = asyncResponse; - Assert.NotNull(gstResult); - Assert.NotNull(gstResult.Credentials.AccessKeyId); - Assert.NotNull(gstResult.Credentials.SecretAccessKey); - Assert.NotNull(gstResult.Credentials.SessionToken); - Assert.NotEqual(DateTime.MinValue, gstResult.Credentials.Expiration); - - var time = DateTime.UtcNow; - var approximateExpires = time.AddHours(1); - var expiresAfter = approximateExpires.AddMinutes(-5); - var expiresBefore = approximateExpires.AddMinutes(5); - var expires = gstResult.Credentials.Expiration; - - Assert.True(expires > expiresAfter); - Assert.True(expires < expiresBefore); - } - } -} \ No newline at end of file diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SimpleEmail.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SimpleEmail.cs deleted file mode 100644 index 996e36c0f12a..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SimpleEmail.cs +++ /dev/null @@ -1,92 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; - - - -using Amazon.SimpleEmail; -using Amazon.SimpleEmail.Model; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class SimpleEmail : TestBase - { - // Replace these email with valid emails. - private const string sourceAddress = "bruce@example.com"; - private const string destinationAddress = "alice@example.com"; - - // To run this test uncomment the TestMethod attribute and use - // valid email ids for sourceAddress and destinationAddress. - //[Fact] - [Trait(CategoryAttribute,"SimpleEmail")] - public async Task TestSendEmail() - { - // verify email addresses, both source and destination - await VerifyEmails(sourceAddress, destinationAddress); - - // send email - var sendEmailRequest = new SendEmailRequest - { - Source = sourceAddress, - Destination = new Destination - { - ToAddresses = new List { destinationAddress } - }, - Message = new Message - { - Subject = new Content("Re: Monday meeting"), - Body = new Body - { - Html = new Content(@"

Meeting on Monday


Monday's meeting to discuss intern projects
Let's start at 9:30am.") - } - } - }; - await Client.SendEmailAsync(sendEmailRequest); - } - - public async Task VerifyEmails(params string[] emails) - { - // start verification process for all email addresses - foreach (var email in emails) - { - await Client.VerifyEmailIdentityAsync(new VerifyEmailIdentityRequest - { - EmailAddress = email - }); - } - - // wait until all are verified, maximum wait time of two minutes - bool allVerified = true; - DateTime latest = DateTime.UtcNow + TimeSpan.FromMinutes(2); - while(DateTime.UtcNow < latest) - { - // get verification status for all emails - var verificationAttributes = (await Client.GetIdentityVerificationAttributesAsync(new GetIdentityVerificationAttributesRequest - { - Identities = new List(emails) - })).VerificationAttributes; - - // test verification status - allVerified = true; - foreach (var email in emails) - { - var attribute = verificationAttributes[email]; - if (attribute.VerificationStatus != VerificationStatus.Success) - allVerified = false; - } - - if (allVerified) - break; - - UtilityMethods.Sleep(TimeSpan.FromSeconds(15)); - } - - if (!allVerified) - throw new InvalidOperationException("Not all email addresses have been verified"); - } - } -} \ No newline at end of file diff --git a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SimpleSystemsManagement.cs b/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SimpleSystemsManagement.cs deleted file mode 100644 index 68eea75e7bd9..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/IntegrationTests/SimpleSystemsManagement.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; - - -using Amazon.SimpleSystemsManagement; -using Amazon.SimpleSystemsManagement.Model; -using Xunit; -using Amazon.DNXCore.IntegrationTests; - -namespace Amazon.DNXCore.IntegrationTests -{ - - public class SimpleSystemsManagement : TestBase - { - [Fact] - [Trait(CategoryAttribute,"SimpleSystemsManagement")] - public async Task TestListDocuments() - { - var response = await Client.ListDocumentsAsync(); - Assert.NotNull(response); - - // if test a/c had some documents, iterate through - // to verify marshal - if (response.DocumentIdentifiers.Count > 0) - { - foreach (var d in response.DocumentIdentifiers) - { - Assert.False(string.IsNullOrEmpty(d.Name)); - } - } - } - } -} diff --git a/sdk/test/NetStandard/IntegrationTests/SQSTests.cs b/sdk/test/NetStandard/IntegrationTests/SQSTests.cs deleted file mode 100644 index 17dd2d277a86..000000000000 --- a/sdk/test/NetStandard/IntegrationTests/SQSTests.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -using Amazon.SQS; -using Amazon.SQS.Model; - -using Xunit; - -namespace Amazon.DNXCore.IntegrationTests -{ - public class SQSTests : TestBase - { - [Fact] - public async Task ListQueues() - { - var request = new ListQueuesRequest(); - var response = await Client.ListQueuesAsync(request); - Assert.NotNull(response.ResponseMetadata.Metadata); - - if (AWSConfigs.InitializeCollections) - { - Assert.NotNull(response.QueueUrls); - } - } - - [Fact] - public async Task SendAndReceiveMessage() - { - - var createQueueRequest = new CreateQueueRequest() - { - QueueName = "aws-sdk-net-" + DateTime.UtcNow.Ticks - }; - var createQueueResponse = await Client.CreateQueueAsync(createQueueRequest); - try - { - var sendMessageRequest = new SendMessageRequest - { - QueueUrl = createQueueResponse.QueueUrl, - MessageBody = "Hello" - }; - await Client.SendMessageAsync(sendMessageRequest); - - var receiveRequest = new ReceiveMessageRequest { QueueUrl = createQueueResponse.QueueUrl }; - var receiveResponse = await Client.ReceiveMessageAsync(receiveRequest); - - Assert.True(receiveResponse.Messages.Count == 1); - Assert.Equal(sendMessageRequest.MessageBody, receiveResponse.Messages[0].Body); - - await Client.DeleteMessageAsync(new DeleteMessageRequest - { - QueueUrl = createQueueResponse.QueueUrl, - ReceiptHandle = receiveResponse.Messages[0].ReceiptHandle - }); - } - finally - { - await Client.DeleteQueueAsync(new DeleteQueueRequest - { - QueueUrl = createQueueResponse.QueueUrl - }); - } - - } - } -}