public static void Cleanup() { var deprecateWorkflowRequest = new DeprecateWorkflowTypeRequest() { Domain = DOMAIN, WorkflowType = WORKFLOW_TYPE }; var deprecateWorkflowTypeResponse = Client.DeprecateWorkflowType(deprecateWorkflowRequest); Assert.IsNotNull(deprecateWorkflowTypeResponse.ResponseMetadata.RequestId); var deprecateDomainRequest = new DeprecateDomainRequest() { Name = DOMAIN }; var deprecateDomainResponse = Client.DeprecateDomain(deprecateDomainRequest); Assert.IsNotNull(deprecateDomainResponse.ResponseMetadata.RequestId); BaseClean(); }
public void CRUDTest() { var domainName = "sdk-dotnet-crud-" + DateTime.Now.Ticks; var regRequest = new RegisterDomainRequest() { Name = domainName, Description = "A Description", WorkflowExecutionRetentionPeriodInDays = "3" }; var regResponse = Client.RegisterDomain(regRequest); try { Sleep(); // Sleep for the eventual consistency Assert.IsNotNull(regResponse.ResponseMetadata.RequestId); var descRequest = new DescribeDomainRequest() { Name = domainName }; var descResponse = Client.DescribeDomain(descRequest); Assert.AreEqual(domainName, descResponse.DomainDetail.DomainInfo.Name); Assert.AreEqual("A Description", descResponse.DomainDetail.DomainInfo.Description); Assert.AreEqual("3", descResponse.DomainDetail.Configuration.WorkflowExecutionRetentionPeriodInDays); Assert.IsNotNull(descResponse.DomainDetail.DomainInfo.Status); DomainInfo info = null; for (int i = 0; i < MaxRetries; i++) { Sleep(); // Sleep for the eventual consistency var listDomainResponse = Client.ListDomains( new ListDomainsRequest() { RegistrationStatus = descResponse.DomainDetail.DomainInfo.Status }); Assert.IsTrue(listDomainResponse.DomainInfos.Infos.Count > 0); info = listDomainResponse.DomainInfos.Infos.FirstOrDefault(x => string.Equals(x.Name, domainName)); if (info != null) { break; } } Assert.IsNotNull(info); Assert.IsNotNull(info.Status); var activityDescription = "My Description Activity" + DateTime.Now.Ticks; var regActivityRequest = new RegisterActivityTypeRequest() { Name = "My Activity", Domain = domainName, Description = activityDescription, Version = "1.0", DefaultTaskList = new TaskList() { Name = "ImportantTasks" }, DefaultTaskHeartbeatTimeout = ONE_HOUR_DURATION, DefaultTaskScheduleToCloseTimeout = TWO_HOUR_DURATION, DefaultTaskScheduleToStartTimeout = THREE_HOUR_DURATION, DefaultTaskStartToCloseTimeout = FOUR_HOUR_DURATION }; var regActivityResponse = Client.RegisterActivityType(regActivityRequest); Assert.IsNotNull(regActivityResponse.ResponseMetadata.RequestId); try { Sleep(); // Sleep for the eventual consistency var descActivityTypeRequest = new DescribeActivityTypeRequest() { Domain = domainName, ActivityType = new ActivityType() { Name = "My Activity", Version = "1.0" } }; var descActivityTypeResponse = Client.DescribeActivityType(descActivityTypeRequest); Assert.AreEqual(ONE_HOUR_DURATION, descActivityTypeResponse.ActivityTypeDetail.Configuration.DefaultTaskHeartbeatTimeout); Assert.AreEqual(TWO_HOUR_DURATION, descActivityTypeResponse.ActivityTypeDetail.Configuration.DefaultTaskScheduleToCloseTimeout); Assert.AreEqual(THREE_HOUR_DURATION, descActivityTypeResponse.ActivityTypeDetail.Configuration.DefaultTaskScheduleToStartTimeout); Assert.AreEqual(FOUR_HOUR_DURATION, descActivityTypeResponse.ActivityTypeDetail.Configuration.DefaultTaskStartToCloseTimeout); ListActivityTypesResponse listActivityResponse = null; for (int i = 0; i < MaxRetries; i++) { Sleep(); // Sleep for the eventual consistency listActivityResponse = Client.ListActivityTypes( new ListActivityTypesRequest() { Domain = domainName, RegistrationStatus = descActivityTypeResponse.ActivityTypeDetail.TypeInfo.Status }); if (listActivityResponse.ActivityTypeInfos.TypeInfos.Count > 0) { break; } } Assert.IsNotNull(listActivityResponse); Assert.IsTrue(listActivityResponse.ActivityTypeInfos.TypeInfos.Count > 0); var acInfo = listActivityResponse.ActivityTypeInfos.TypeInfos.FirstOrDefault(x => x.Description == activityDescription); Assert.IsNotNull(acInfo); } finally { var depActivityRequest = new DeprecateActivityTypeRequest() { Domain = domainName, ActivityType = new ActivityType() { Name = "My Activity", Version = "1.0" } }; var depActivityTypeResponse = Client.DeprecateActivityType(depActivityRequest); } var workflowDescription = "My Workflow Description" + DateTime.Now.Ticks; var regWorkflowRequest = new RegisterWorkflowTypeRequest() { Name = "My Workflow", Domain = domainName, Description = workflowDescription, Version = "1.0", DefaultTaskList = new TaskList() { Name = "ImportantTasks" }, DefaultExecutionStartToCloseTimeout = THREE_HOUR_DURATION, DefaultTaskStartToCloseTimeout = FOUR_HOUR_DURATION }; var regWorkflowResponse = Client.RegisterWorkflowType(regWorkflowRequest); try { Sleep(); // Sleep for the eventual consistency var descWorkFlowRequest = new DescribeWorkflowTypeRequest() { Domain = domainName, WorkflowType = new WorkflowType() { Name = "My Workflow", Version = "1.0" } }; var descWorkflowResponse = Client.DescribeWorkflowType(descWorkFlowRequest); Assert.AreEqual("My Workflow", descWorkflowResponse.WorkflowTypeDetail.TypeInfo.WorkflowType.Name); Assert.AreEqual("1.0", descWorkflowResponse.WorkflowTypeDetail.TypeInfo.WorkflowType.Version); Assert.AreEqual(THREE_HOUR_DURATION, descWorkflowResponse.WorkflowTypeDetail.Configuration.DefaultExecutionStartToCloseTimeout); Assert.AreEqual(FOUR_HOUR_DURATION, descWorkflowResponse.WorkflowTypeDetail.Configuration.DefaultTaskStartToCloseTimeout); Assert.AreEqual("ImportantTasks", descWorkflowResponse.WorkflowTypeDetail.Configuration.DefaultTaskList.Name); ListWorkflowTypesResponse listWorkflowResponse = null; for (int retries = 0; retries < 5; retries++) { Thread.Sleep(1000 * retries); listWorkflowResponse = Client.ListWorkflowTypes( new ListWorkflowTypesRequest() { Domain = domainName, RegistrationStatus = descWorkflowResponse.WorkflowTypeDetail.TypeInfo.Status }); if (listWorkflowResponse.WorkflowTypeInfos.TypeInfos.Count > 0) { break; } } Assert.IsTrue(listWorkflowResponse.WorkflowTypeInfos.TypeInfos.Count > 0); var wfInfo = listWorkflowResponse.WorkflowTypeInfos.TypeInfos.FirstOrDefault(x => x.Description == workflowDescription); Assert.IsNotNull(wfInfo); } finally { var depWorkflowRequest = new DeprecateWorkflowTypeRequest() { Domain = domainName, WorkflowType = new WorkflowType() { Name = "My Workflow", Version = "1.0" } }; var depWorkflowTypeResponse = Client.DeprecateWorkflowType(depWorkflowRequest); Assert.IsNotNull(depWorkflowTypeResponse.ResponseMetadata.RequestId); } } finally { var depRequest = new DeprecateDomainRequest() { Name = domainName }; var depResponse = Client.DeprecateDomain(depRequest); Assert.IsNotNull(depResponse.ResponseMetadata.RequestId); } }