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); }
public void GetDomainProperties() { string expected = File.ReadAllText(Path.Combine(_requestsTestDataPath, "GetDomainProperties.xml")); var request = new GetDomainProperties { SessionId = "sid", DomainStr = "testing.co.uk", DomainPropertyList = new TDomainPropertyList { Items = new List <TAPIProperty> { new TAPIProperty { PropName = "d_adminemail" }, new TAPIProperty { PropName = "d_aliases" }, new TAPIProperty { PropName = "d_postmaster" }, new TAPIProperty { PropName = "d_unknownforwardto" }, new TAPIProperty { PropName = "d_unknownuserstype" } } } }; var xml = request.ToXml().InnerXmlFormatted(); Assert.AreEqual(expected, xml); XmlDocument doc = new XmlDocument(); doc.LoadXml(File.ReadAllText(Path.Combine(_responsesTestDataPath, "GetDomainProperties.xml"))); var response = request.FromHttpRequestResult(new HttpRequestResult { Response = doc.InnerXml }); Assert.AreEqual("result", response.Type); Assert.AreEqual(5, response.Items.Count); var adminEmail = response.Items.FirstOrDefault(x => x.APIProperty.PropName == "d_adminemail"); Assert.NotNull(adminEmail); Assert.AreEqual(typeof(TPropertyString), adminEmail.PropertyVal.GetType()); Assert.AreEqual("*****@*****.**", ((TPropertyString)adminEmail.PropertyVal).Val); Assert.AreEqual(TPermission.ReadWrite, response.Items.First().PropertyRight); var aliases = response.Items.FirstOrDefault(x => x.APIProperty.PropName == "d_aliases"); Assert.NotNull(aliases); Assert.AreEqual(typeof(TPropertyString), aliases.PropertyVal.GetType()); Assert.True(String.IsNullOrEmpty(((TPropertyString)aliases.PropertyVal).Val)); Assert.AreEqual(TPermission.ReadWrite, response.Items.Last().PropertyRight); var postmaster = response.Items.FirstOrDefault(x => x.APIProperty.PropName == "d_postmaster"); Assert.NotNull(postmaster); Assert.AreEqual(typeof(TPropertyString), postmaster.PropertyVal.GetType()); Assert.AreEqual("postmaster;admin;administrator;supervisor;hostmaster;webmaster;abuse", ((TPropertyString)postmaster.PropertyVal).Val); Assert.AreEqual(TPermission.ReadWrite, response.Items.Last().PropertyRight); var unknownForwardTo = response.Items.FirstOrDefault(x => x.APIProperty.PropName == "d_unknownforwardto"); Assert.NotNull(unknownForwardTo); Assert.AreEqual(typeof(TPropertyString), unknownForwardTo.PropertyVal.GetType()); Assert.True(String.IsNullOrEmpty(((TPropertyString)unknownForwardTo.PropertyVal).Val)); Assert.AreEqual(TPermission.ReadWrite, response.Items.Last().PropertyRight); var unknownUsersType = response.Items.FirstOrDefault(x => x.APIProperty.PropName == "d_unknownuserstype"); Assert.NotNull(unknownUsersType); Assert.AreEqual(typeof(TPropertyString), unknownUsersType.PropertyVal.GetType()); Assert.AreEqual("0", ((TPropertyString)unknownUsersType.PropertyVal).Val); Assert.AreEqual(TPermission.ReadWrite, response.Items.Last().PropertyRight); }