Validate collisions in domain assignments (#15759)
* Validate collisions in domain assignments * Update OpenApi.json
This commit is contained in:
@@ -101,7 +101,7 @@ public class DomainAndUrlsTests : UmbracoIntegrationTest
|
||||
}
|
||||
}
|
||||
|
||||
VerifyDomains(result.Result.ToArray());
|
||||
VerifyDomains(result.Result.Domains.ToArray());
|
||||
|
||||
// re-get and verify again
|
||||
var domains = await domainService.GetAssignedDomainsAsync(Root.Key, true);
|
||||
@@ -135,7 +135,7 @@ public class DomainAndUrlsTests : UmbracoIntegrationTest
|
||||
}
|
||||
}
|
||||
|
||||
VerifyDomains(result.Result.ToArray());
|
||||
VerifyDomains(result.Result.Domains.ToArray());
|
||||
|
||||
// re-get and verify again
|
||||
var domains = await domainService.GetAssignedDomainsAsync(Root.Key, true);
|
||||
@@ -157,14 +157,14 @@ public class DomainAndUrlsTests : UmbracoIntegrationTest
|
||||
var result = await domainService.UpdateDomainsAsync(Root.Key, updateModel);
|
||||
Assert.IsTrue(result.Success);
|
||||
Assert.AreEqual(DomainOperationStatus.Success, result.Status);
|
||||
Assert.AreEqual(3, result.Result.Count());
|
||||
Assert.AreEqual(3, result.Result.Domains.Count());
|
||||
|
||||
updateModel.Domains = Enumerable.Empty<DomainModel>();
|
||||
|
||||
result = await domainService.UpdateDomainsAsync(Root.Key, updateModel);
|
||||
Assert.IsTrue(result.Success);
|
||||
Assert.AreEqual(DomainOperationStatus.Success, result.Status);
|
||||
Assert.AreEqual(0, result.Result.Count());
|
||||
Assert.AreEqual(0, result.Result.Domains.Count());
|
||||
|
||||
// re-get and verify again
|
||||
var domains = await domainService.GetAssignedDomainsAsync(Root.Key, true);
|
||||
@@ -186,16 +186,16 @@ public class DomainAndUrlsTests : UmbracoIntegrationTest
|
||||
var result = await domainService.UpdateDomainsAsync(Root.Key, updateModel);
|
||||
Assert.IsTrue(result.Success);
|
||||
Assert.AreEqual(DomainOperationStatus.Success, result.Status);
|
||||
Assert.AreEqual(3, result.Result.Count());
|
||||
Assert.AreEqual(3, result.Result.Domains.Count());
|
||||
|
||||
updateModel.Domains = new[] { updateModel.Domains.First(), updateModel.Domains.Last() };
|
||||
|
||||
result = await domainService.UpdateDomainsAsync(Root.Key, updateModel);
|
||||
Assert.IsTrue(result.Success);
|
||||
Assert.AreEqual(DomainOperationStatus.Success, result.Status);
|
||||
Assert.AreEqual(2, result.Result.Count());
|
||||
Assert.AreEqual(Cultures.First(), result.Result.First().LanguageIsoCode);
|
||||
Assert.AreEqual(Cultures.Last(), result.Result.Last().LanguageIsoCode);
|
||||
Assert.AreEqual(2, result.Result.Domains.Count());
|
||||
Assert.AreEqual(Cultures.First(), result.Result.Domains.First().LanguageIsoCode);
|
||||
Assert.AreEqual(Cultures.Last(), result.Result.Domains.Last().LanguageIsoCode);
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -275,10 +275,10 @@ public class DomainAndUrlsTests : UmbracoIntegrationTest
|
||||
|
||||
var result = await domainService.UpdateDomainsAsync(Root.Key, updateModel);
|
||||
Assert.IsTrue(result.Success);
|
||||
Assert.AreEqual(1, result.Result.Count());
|
||||
Assert.AreEqual(1, result.Result.Domains.Count());
|
||||
|
||||
// default culture is represented as a wildcard domain
|
||||
var domain = result.Result.First();
|
||||
var domain = result.Result.Domains.First();
|
||||
Assert.IsTrue(domain.IsWildcard);
|
||||
Assert.AreEqual(culture, domain.LanguageIsoCode);
|
||||
Assert.AreEqual("*" + Root.Id, domain.DomainName);
|
||||
@@ -352,7 +352,15 @@ public class DomainAndUrlsTests : UmbracoIntegrationTest
|
||||
|
||||
result = await domainService.UpdateDomainsAsync(copy.Key, updateModel);
|
||||
Assert.IsFalse(result.Success);
|
||||
Assert.AreEqual(DomainOperationStatus.DuplicateDomainName, result.Status);
|
||||
Assert.AreEqual(DomainOperationStatus.ConflictingDomainName, result.Status);
|
||||
|
||||
Assert.IsNotNull(result.Result.ConflictingDomains);
|
||||
Assert.IsNotEmpty(result.Result.ConflictingDomains);
|
||||
Assert.AreEqual(updateModel.Domains.Count(), result.Result.ConflictingDomains.Count());
|
||||
foreach (var culture in Cultures)
|
||||
{
|
||||
Assert.IsNotNull(result.Result.ConflictingDomains.SingleOrDefault(c => c.RootContentId == Root.Id && c.DomainName == GetDomainUrlFromCultureCode(culture)));
|
||||
}
|
||||
}
|
||||
|
||||
private static string GetDomainUrlFromCultureCode(string culture) =>
|
||||
|
||||
Reference in New Issue
Block a user