@@ -845,6 +845,7 @@ func Test_FilterZoneRecordsForPeers(t *testing.T) {
845845 peer * nbpeer.Peer
846846 customZone nbdns.CustomZone
847847 peersToConnect []* nbpeer.Peer
848+ expiredPeers []* nbpeer.Peer
848849 expectedRecords []nbdns.SimpleRecord
849850 }{
850851 {
@@ -857,6 +858,7 @@ func Test_FilterZoneRecordsForPeers(t *testing.T) {
857858 },
858859 },
859860 peersToConnect : []* nbpeer.Peer {},
861+ expiredPeers : []* nbpeer.Peer {},
860862 peer : & nbpeer.Peer {ID : "router" , IP : net .ParseIP ("10.0.0.100" )},
861863 expectedRecords : []nbdns.SimpleRecord {
862864 {Name : "router.netbird.cloud" , Type : int (dns .TypeA ), Class : nbdns .DefaultClass , TTL : 300 , RData : "10.0.0.100" },
@@ -890,7 +892,8 @@ func Test_FilterZoneRecordsForPeers(t *testing.T) {
890892 }
891893 return peers
892894 }(),
893- peer : & nbpeer.Peer {ID : "router" , IP : net .ParseIP ("10.0.0.100" )},
895+ expiredPeers : []* nbpeer.Peer {},
896+ peer : & nbpeer.Peer {ID : "router" , IP : net .ParseIP ("10.0.0.100" )},
894897 expectedRecords : func () []nbdns.SimpleRecord {
895898 var records []nbdns.SimpleRecord
896899 for _ , i := range []int {1 , 5 , 10 , 25 , 50 , 75 , 100 } {
@@ -924,7 +927,8 @@ func Test_FilterZoneRecordsForPeers(t *testing.T) {
924927 {ID : "peer1" , IP : net .ParseIP ("10.0.0.1" ), DNSLabel : "peer1" , ExtraDNSLabels : []string {"peer1-alt" , "peer1-backup" }},
925928 {ID : "peer2" , IP : net .ParseIP ("10.0.0.2" ), DNSLabel : "peer2" , ExtraDNSLabels : []string {"peer2-service" }},
926929 },
927- peer : & nbpeer.Peer {ID : "router" , IP : net .ParseIP ("10.0.0.100" )},
930+ expiredPeers : []* nbpeer.Peer {},
931+ peer : & nbpeer.Peer {ID : "router" , IP : net .ParseIP ("10.0.0.100" )},
928932 expectedRecords : []nbdns.SimpleRecord {
929933 {Name : "peer1.netbird.cloud" , Type : int (dns .TypeA ), Class : nbdns .DefaultClass , TTL : 300 , RData : "10.0.0.1" },
930934 {Name : "peer1-alt.netbird.cloud" , Type : int (dns .TypeA ), Class : nbdns .DefaultClass , TTL : 300 , RData : "10.0.0.1" },
@@ -934,11 +938,35 @@ func Test_FilterZoneRecordsForPeers(t *testing.T) {
934938 {Name : "router.netbird.cloud" , Type : int (dns .TypeA ), Class : nbdns .DefaultClass , TTL : 300 , RData : "10.0.0.100" },
935939 },
936940 },
941+ {
942+ name : "expired peers are included in DNS entries" ,
943+ customZone : nbdns.CustomZone {
944+ Domain : "netbird.cloud." ,
945+ Records : []nbdns.SimpleRecord {
946+ {Name : "peer1.netbird.cloud" , Type : int (dns .TypeA ), Class : nbdns .DefaultClass , TTL : 300 , RData : "10.0.0.1" },
947+ {Name : "peer2.netbird.cloud" , Type : int (dns .TypeA ), Class : nbdns .DefaultClass , TTL : 300 , RData : "10.0.0.2" },
948+ {Name : "expired-peer.netbird.cloud" , Type : int (dns .TypeA ), Class : nbdns .DefaultClass , TTL : 300 , RData : "10.0.0.99" },
949+ {Name : "router.netbird.cloud" , Type : int (dns .TypeA ), Class : nbdns .DefaultClass , TTL : 300 , RData : "10.0.0.100" },
950+ },
951+ },
952+ peersToConnect : []* nbpeer.Peer {
953+ {ID : "peer1" , IP : net .ParseIP ("10.0.0.1" )},
954+ },
955+ expiredPeers : []* nbpeer.Peer {
956+ {ID : "expired-peer" , IP : net .ParseIP ("10.0.0.99" )},
957+ },
958+ peer : & nbpeer.Peer {ID : "router" , IP : net .ParseIP ("10.0.0.100" )},
959+ expectedRecords : []nbdns.SimpleRecord {
960+ {Name : "peer1.netbird.cloud" , Type : int (dns .TypeA ), Class : nbdns .DefaultClass , TTL : 300 , RData : "10.0.0.1" },
961+ {Name : "expired-peer.netbird.cloud" , Type : int (dns .TypeA ), Class : nbdns .DefaultClass , TTL : 300 , RData : "10.0.0.99" },
962+ {Name : "router.netbird.cloud" , Type : int (dns .TypeA ), Class : nbdns .DefaultClass , TTL : 300 , RData : "10.0.0.100" },
963+ },
964+ },
937965 }
938966
939967 for _ , tt := range tests {
940968 t .Run (tt .name , func (t * testing.T ) {
941- result := filterZoneRecordsForPeers (tt .peer , tt .customZone , tt .peersToConnect )
969+ result := filterZoneRecordsForPeers (tt .peer , tt .customZone , tt .peersToConnect , tt . expiredPeers )
942970 assert .Equal (t , len (tt .expectedRecords ), len (result ))
943971 assert .ElementsMatch (t , tt .expectedRecords , result )
944972 })
0 commit comments