fp-lab4/test/zone/zone_rules_test.exs
2026-01-13 18:26:26 +03:00

40 lines
877 B
Elixir

defmodule Exdns.ZoneRulesTest do
use ExUnit.Case, async: true
alias Exdns.DnsPacket.ResourceRecord
alias Exdns.DnsPacket.RRData.Types
alias Exdns.ZoneRules
test "find_authority returns NS or SOA from nearest suffix" do
zone_name = ["example", "com"]
ns = %ResourceRecord{
name: zone_name,
type: :ns,
class: 1,
ttl: 60,
rdata: %Types.NS{name: ["ns1" | zone_name]}
}
soa = %ResourceRecord{
name: zone_name,
type: :soa,
class: 1,
ttl: 60,
rdata: %Types.SOA{
mname: ["ns1" | zone_name],
rname: ["hostmaster" | zone_name],
serial: 1,
refresh: 1,
retry: 1,
expire: 1,
minimum: 1
}
}
zones = %{zone_name => [ns, soa]}
assert {:ok, %{ns: [_], soa: [_]}} = ZoneRules.find_authority(zones, ["www" | zone_name])
end
end