public async Task <ActionResult> PostAsync([FromBody] BusinessDomain businessDomain) { var createDomain = new CreateDomain() { Name = businessDomain.Name, Description = businessDomain.Description, SubDomains = businessDomain.SubDomains.Select(x => new CreateSubDomain() { Name = x.Name, Description = x.Description, ParentDomainName = businessDomain.Name }).ToList() }; var response = await _mediator.Send(createDomain); if (response.Result == CreateResult.Created) { return(Created($"api/business-domains/{businessDomain.Name}", null)); } else { return(StatusCode(500)); } }
public void domain_should_not_be_duplicated() { var domainName = Fixture.Create <DomainName>(); var createDomainCommand = new CreateDomain(domainName); Assert(new Scenario() .Given(domainName, new DomainWasCreated(domainName)) .When(createDomainCommand) .Throws(new WrongExpectedVersionException($"Append failed due to WrongExpectedVersion.Stream: {domainName}, Expected version: -1"))); }
public void CreateDomain() { string expected = File.ReadAllText(Path.Combine(_requestsTestDataPath, "CreateDomain.xml")); var request = new CreateDomain { SessionId = "sid", DomainStr = "testing.com", DomainProperties = new TPropertyValueList { Items = new List <TPropertyValue> { new TPropertyValue { APIProperty = new TAPIProperty { PropName = "d_adminemail" }, PropertyVal = new TPropertyString { Val = "*****@*****.**" }, PropertyRight = TPermission.ReadWrite }, new TPropertyValue { APIProperty = new TAPIProperty { PropName = "d_mailboxsize" }, PropertyVal = new TPropertyString { Val = "934" }, PropertyRight = TPermission.ReadWrite } } } }; var xml = request.ToXml().InnerXmlFormatted(); Assert.AreEqual(expected, xml); XmlDocument doc = new XmlDocument(); doc.LoadXml(File.ReadAllText(Path.Combine(_responsesTestDataPath, "CreateDomain.xml"))); var response = request.FromHttpRequestResult(new HttpRequestResult { Response = doc.InnerXml }); Assert.AreEqual("result", response.Type); Assert.True(response.Success); }
public async Task <Response <CreateResult> > Handle(CreateDomain request) { var businessDomainId = Guid.NewGuid(); var businessDomain = new BusinessDomain() { Id = businessDomainId, Name = request.Name, Description = request.Description, SubDomains = request.SubDomains.Select(x => new BusinessSubDomain() { Id = Guid.NewGuid(), Description = x.Description, Name = x.Name, ParentId = businessDomainId }).ToList() }; await _context.AddAsync(businessDomain); await _context.SaveChangesAsync(); return(new Response <CreateResult>(CreateResult.Created)); }
public void DeleteDomain() { var api = new IceWarpRpcApi(); var authResult = Authenticate(api); var domainToDelete = "deletedomain.com"; var deleteDomainAdminEmail = "*****@*****.**"; //Check domain does not exist var getDomainProperties = new GetDomainProperties { SessionId = authResult.SessionId, DomainStr = domainToDelete, DomainPropertyList = new TDomainPropertyList { Items = new List <TAPIProperty> { new TAPIProperty { PropName = "D_AdminEmail" } } } }; try { var domainCheckResult = api.Execute(_url, getDomainProperties); } catch (IceWarpErrorException e) { //Create domain var createDomain = new CreateDomain { SessionId = authResult.SessionId, DomainStr = domainToDelete, DomainProperties = new TPropertyValueList { Items = new List <TPropertyValue> { new TPropertyValue { APIProperty = new TAPIProperty { PropName = "D_AdminEmail" }, PropertyVal = new TPropertyString { Val = deleteDomainAdminEmail }, PropertyRight = TPermission.ReadWrite } } } }; var createDomainResult = api.Execute(_url, createDomain); Assert.True(createDomainResult.Success); //Check can get properties for new domain var getDomainPropertiesResult = api.Execute(_url, getDomainProperties); Assert.AreEqual(1, getDomainPropertiesResult.Items.Count); Assert.AreEqual("tpropertystring", getDomainPropertiesResult.Items.First().PropertyVal.ClassName); Assert.AreEqual(deleteDomainAdminEmail, ((TPropertyString)getDomainPropertiesResult.Items.First().PropertyVal).Val); } //Delete domain var deleteDomain = new DeleteDomain { SessionId = authResult.SessionId, DomainStr = domainToDelete }; var deleteDomainResult = api.Execute(_url, deleteDomain); Assert.True(deleteDomainResult.Success); //Check domain does not exist var exception = Assert.Throws <IceWarpErrorException>(() => api.Execute(_url, getDomainProperties)); Assert.AreEqual("domain_invalid", exception.IceWarpError); LogOut(api, authResult.SessionId); }