mirror of
https://github.com/netbirdio/netbird.git
synced 2026-08-28 02:21:30 +02:00
63 lines
2.5 KiB
Go
63 lines
2.5 KiB
Go
//go:build integration
|
|
|
|
package networkmap_pgsql
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/miekg/dns"
|
|
"github.com/netbirdio/netbird/shared/management/networkmap"
|
|
"github.com/netbirdio/netbird/shared/management/networkmap/nmdata"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestGetAppliedZoneCandidatesViaPgxConnection(t *testing.T) {
|
|
ctx := context.TODO()
|
|
|
|
execQuery(t, ctx,
|
|
`insert into zones (id, account_id, domain, enable_search_domain, distribution_groups)
|
|
VALUES('zone-1','account-1','test-1.com',true,'["group-one-resource-id"]')`)
|
|
execQuery(t, ctx,
|
|
`insert into zones (id, account_id, domain, enable_search_domain, distribution_groups)
|
|
VALUES('zone-2','account-1','test-2.com',false,'["group-two-resources-id"]')`)
|
|
execQuery(t, ctx,
|
|
`insert into records (id, account_id, zone_id, name, type, ttl, content)
|
|
VALUES('record-1','account-1','zone-1','test.test-1.com','A',1800,'1.1.1.1')`)
|
|
execQuery(t, ctx,
|
|
`insert into records (id, account_id, zone_id, name, type, ttl, content)
|
|
VALUES('record-2','account-1','zone-1','test2.test-1.com','A',1800,'1.1.1.2')`)
|
|
execQuery(t, ctx,
|
|
`insert into records (id, account_id, zone_id, name, type, ttl, content)
|
|
VALUES('record-3','account-1','zone-1','test3.test-1.com','CNAME',1800,'test4.test-1.com')`)
|
|
execQuery(t, ctx,
|
|
`insert into records (id, account_id, zone_id, name, type, ttl, content)
|
|
VALUES('record-4','account-1','zone-2','test2.test-2.com','CNAME',1800,'test3.test-2.com')`)
|
|
|
|
zoneCandidates, err := conn(t, ctx).GetAppliedZoneCandidates(ctx, "account-1")
|
|
assert.NoError(t, err)
|
|
|
|
assert.Contains(t, zoneCandidates, networkmap.AppliedZoneCandidate{
|
|
DistributionGroups: []string{"group-one-resource-id"},
|
|
Zone: nmdata.CustomZone{
|
|
Domain: "test-1.com",
|
|
SearchDomainDisabled: false,
|
|
Records: []nmdata.SimpleRecord{
|
|
{Name: "test.test-1.com", Type: int(dns.TypeA), Class: "IN", TTL: 1800, RData: "1.1.1.1"},
|
|
{Name: "test2.test-1.com", Type: int(dns.TypeA), Class: "IN", TTL: 1800, RData: "1.1.1.2"},
|
|
{Name: "test3.test-1.com", Type: int(dns.TypeCNAME), Class: "IN", TTL: 1800, RData: "test4.test-1.com."},
|
|
},
|
|
},
|
|
})
|
|
assert.Contains(t, zoneCandidates, networkmap.AppliedZoneCandidate{
|
|
DistributionGroups: []string{"group-two-resources-id"},
|
|
Zone: nmdata.CustomZone{
|
|
Domain: "test-2.com",
|
|
SearchDomainDisabled: true,
|
|
Records: []nmdata.SimpleRecord{
|
|
{Name: "test2.test-2.com", Type: int(dns.TypeCNAME), Class: "IN", TTL: 1800, RData: "test3.test-2.com."},
|
|
},
|
|
},
|
|
})
|
|
}
|