mirror of
https://github.com/VinylDNS/vinyldns
synced 2025-08-22 10:10:12 +00:00
Add test
This commit is contained in:
parent
a0448b922b
commit
3527fdb722
@ -644,6 +644,47 @@ class RecordSetServiceSpec
|
|||||||
|
|
||||||
result.recordSet.name shouldBe record.name
|
result.recordSet.name shouldBe record.name
|
||||||
}
|
}
|
||||||
|
"fail if the record is dotted and zone, user in group, record type is allowed but record name has dot in the end and is not an apex record" in {
|
||||||
|
val record =
|
||||||
|
cname.copy(name = "new.name.", zoneId = xyzZone.id, status = RecordSetStatus.Active)
|
||||||
|
|
||||||
|
val dottedHostsConfigZonesAllowed: List[String] = VinylDNSTestHelpers.dottedHostsConfig.zoneAuthConfigs.map(x => x.zone)
|
||||||
|
|
||||||
|
val dottedHostsConfigGroupsAllowed: List[String] = getDottedHostsConfigGroupsAllowed(xyzZone, VinylDNSTestHelpers.dottedHostsConfig)
|
||||||
|
|
||||||
|
doReturn(IO.pure(Some(xyzZone))).when(mockZoneRepo).getZone(xyzZone.id)
|
||||||
|
doReturn(IO.pure(List()))
|
||||||
|
.when(mockRecordRepo)
|
||||||
|
.getRecordSets(xyzZone.id, record.name, record.typ)
|
||||||
|
doReturn(IO.pure(List()))
|
||||||
|
.when(mockRecordRepo)
|
||||||
|
.getRecordSetsByName(xyzZone.id, record.name)
|
||||||
|
doReturn(IO.pure(Set(xyzZone, abcZone, xyzZone)))
|
||||||
|
.when(mockZoneRepo)
|
||||||
|
.getZonesByNames(dottedHostsConfigZonesAllowed.toSet)
|
||||||
|
doReturn(IO.pure(Set()))
|
||||||
|
.when(mockZoneRepo)
|
||||||
|
.getZonesByFilters(Set.empty)
|
||||||
|
doReturn(IO.pure(None))
|
||||||
|
.when(mockZoneRepo)
|
||||||
|
.getZoneByName(record.name + "." + xyzZone.name)
|
||||||
|
doReturn(IO.pure(List()))
|
||||||
|
.when(mockRecordRepo)
|
||||||
|
.getRecordSetsByFQDNs(Set(record.name + "." + xyzZone.name))
|
||||||
|
doReturn(IO.pure(Set()))
|
||||||
|
.when(mockZoneRepo)
|
||||||
|
.getZonesByFilters(record.name.split('.').map(x => x + "." + xyzZone.name).toSet)
|
||||||
|
doReturn(IO.pure(Set(xyzGroup)))
|
||||||
|
.when(mockGroupRepo)
|
||||||
|
.getGroupsByName(dottedHostsConfigGroupsAllowed.toSet)
|
||||||
|
doReturn(IO.pure(ListUsersResults(Seq(xyzUser), None)))
|
||||||
|
.when(mockUserRepo)
|
||||||
|
.getUsers(xyzGroup.memberIds, None, None)
|
||||||
|
|
||||||
|
// fails as dotted host record name has dot at the end and is not an apex record
|
||||||
|
val result = leftResultOf(underTest.addRecordSet(record, xyzAuth).value)
|
||||||
|
result shouldBe an[InvalidRequest]
|
||||||
|
}
|
||||||
"fail if the record is dotted and zone, user, record type is allowed but number of dots allowed in config is 0" in {
|
"fail if the record is dotted and zone, user, record type is allowed but number of dots allowed in config is 0" in {
|
||||||
val record =
|
val record =
|
||||||
cname.copy(name = "new.name", zoneId = dotZone.id, status = RecordSetStatus.Active)
|
cname.copy(name = "new.name", zoneId = dotZone.id, status = RecordSetStatus.Active)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user