appc: factor app connector arguments into a Config type (#17389)
Replace the positional arguments to NewAppConnector with a Config struct. Update the existing uses. Other than the API change, there are no functional changes in this commit. Updates #15160 Updates #17192 Change-Id: Ibf37f021372155a4db8aaf738f4b4f2c746bf623 Signed-off-by: M. J. Fromberger <fromberger@tailscale.com>
This commit is contained in:
+68
-19
@@ -28,9 +28,14 @@ func TestUpdateDomains(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
var a *AppConnector
|
||||
if shouldStore {
|
||||
a = NewAppConnector(t.Logf, &appctest.RouteCollector{}, &RouteInfo{}, fakeStoreRoutes)
|
||||
a = NewAppConnector(Config{
|
||||
Logf: t.Logf,
|
||||
RouteAdvertiser: &appctest.RouteCollector{},
|
||||
RouteInfo: &RouteInfo{},
|
||||
StoreRoutesFunc: fakeStoreRoutes,
|
||||
})
|
||||
} else {
|
||||
a = NewAppConnector(t.Logf, &appctest.RouteCollector{}, nil, nil)
|
||||
a = NewAppConnector(Config{Logf: t.Logf, RouteAdvertiser: &appctest.RouteCollector{}})
|
||||
}
|
||||
a.UpdateDomains([]string{"example.com"})
|
||||
|
||||
@@ -63,9 +68,13 @@ func TestUpdateRoutes(t *testing.T) {
|
||||
rc := &appctest.RouteCollector{}
|
||||
var a *AppConnector
|
||||
if shouldStore {
|
||||
a = NewAppConnector(t.Logf, rc, &RouteInfo{}, fakeStoreRoutes)
|
||||
a = NewAppConnector(Config{
|
||||
Logf: t.Logf,
|
||||
RouteAdvertiser: rc,
|
||||
RouteInfo: &RouteInfo{}, StoreRoutesFunc: fakeStoreRoutes,
|
||||
})
|
||||
} else {
|
||||
a = NewAppConnector(t.Logf, rc, nil, nil)
|
||||
a = NewAppConnector(Config{Logf: t.Logf, RouteAdvertiser: rc})
|
||||
}
|
||||
a.updateDomains([]string{"*.example.com"})
|
||||
|
||||
@@ -112,9 +121,14 @@ func TestUpdateRoutesUnadvertisesContainedRoutes(t *testing.T) {
|
||||
rc := &appctest.RouteCollector{}
|
||||
var a *AppConnector
|
||||
if shouldStore {
|
||||
a = NewAppConnector(t.Logf, rc, &RouteInfo{}, fakeStoreRoutes)
|
||||
a = NewAppConnector(Config{
|
||||
Logf: t.Logf,
|
||||
RouteAdvertiser: rc,
|
||||
RouteInfo: &RouteInfo{},
|
||||
StoreRoutesFunc: fakeStoreRoutes,
|
||||
})
|
||||
} else {
|
||||
a = NewAppConnector(t.Logf, rc, nil, nil)
|
||||
a = NewAppConnector(Config{Logf: t.Logf, RouteAdvertiser: rc})
|
||||
}
|
||||
mak.Set(&a.domains, "example.com", []netip.Addr{netip.MustParseAddr("192.0.2.1")})
|
||||
rc.SetRoutes([]netip.Prefix{netip.MustParsePrefix("192.0.2.1/32")})
|
||||
@@ -133,9 +147,14 @@ func TestDomainRoutes(t *testing.T) {
|
||||
rc := &appctest.RouteCollector{}
|
||||
var a *AppConnector
|
||||
if shouldStore {
|
||||
a = NewAppConnector(t.Logf, rc, &RouteInfo{}, fakeStoreRoutes)
|
||||
a = NewAppConnector(Config{
|
||||
Logf: t.Logf,
|
||||
RouteAdvertiser: rc,
|
||||
RouteInfo: &RouteInfo{},
|
||||
StoreRoutesFunc: fakeStoreRoutes,
|
||||
})
|
||||
} else {
|
||||
a = NewAppConnector(t.Logf, rc, nil, nil)
|
||||
a = NewAppConnector(Config{Logf: t.Logf, RouteAdvertiser: rc})
|
||||
}
|
||||
a.updateDomains([]string{"example.com"})
|
||||
if err := a.ObserveDNSResponse(dnsResponse("example.com.", "192.0.0.8")); err != nil {
|
||||
@@ -159,9 +178,14 @@ func TestObserveDNSResponse(t *testing.T) {
|
||||
rc := &appctest.RouteCollector{}
|
||||
var a *AppConnector
|
||||
if shouldStore {
|
||||
a = NewAppConnector(t.Logf, rc, &RouteInfo{}, fakeStoreRoutes)
|
||||
a = NewAppConnector(Config{
|
||||
Logf: t.Logf,
|
||||
RouteAdvertiser: rc,
|
||||
RouteInfo: &RouteInfo{},
|
||||
StoreRoutesFunc: fakeStoreRoutes,
|
||||
})
|
||||
} else {
|
||||
a = NewAppConnector(t.Logf, rc, nil, nil)
|
||||
a = NewAppConnector(Config{Logf: t.Logf, RouteAdvertiser: rc})
|
||||
}
|
||||
|
||||
// a has no domains configured, so it should not advertise any routes
|
||||
@@ -248,9 +272,14 @@ func TestWildcardDomains(t *testing.T) {
|
||||
rc := &appctest.RouteCollector{}
|
||||
var a *AppConnector
|
||||
if shouldStore {
|
||||
a = NewAppConnector(t.Logf, rc, &RouteInfo{}, fakeStoreRoutes)
|
||||
a = NewAppConnector(Config{
|
||||
Logf: t.Logf,
|
||||
RouteAdvertiser: rc,
|
||||
RouteInfo: &RouteInfo{},
|
||||
StoreRoutesFunc: fakeStoreRoutes,
|
||||
})
|
||||
} else {
|
||||
a = NewAppConnector(t.Logf, rc, nil, nil)
|
||||
a = NewAppConnector(Config{Logf: t.Logf, RouteAdvertiser: rc})
|
||||
}
|
||||
|
||||
a.updateDomains([]string{"*.example.com"})
|
||||
@@ -408,9 +437,14 @@ func TestUpdateRouteRouteRemoval(t *testing.T) {
|
||||
|
||||
var a *AppConnector
|
||||
if shouldStore {
|
||||
a = NewAppConnector(t.Logf, rc, &RouteInfo{}, fakeStoreRoutes)
|
||||
a = NewAppConnector(Config{
|
||||
Logf: t.Logf,
|
||||
RouteAdvertiser: rc,
|
||||
RouteInfo: &RouteInfo{},
|
||||
StoreRoutesFunc: fakeStoreRoutes,
|
||||
})
|
||||
} else {
|
||||
a = NewAppConnector(t.Logf, rc, nil, nil)
|
||||
a = NewAppConnector(Config{Logf: t.Logf, RouteAdvertiser: rc})
|
||||
}
|
||||
// nothing has yet been advertised
|
||||
assertRoutes("appc init", []netip.Prefix{}, []netip.Prefix{})
|
||||
@@ -453,9 +487,14 @@ func TestUpdateDomainRouteRemoval(t *testing.T) {
|
||||
|
||||
var a *AppConnector
|
||||
if shouldStore {
|
||||
a = NewAppConnector(t.Logf, rc, &RouteInfo{}, fakeStoreRoutes)
|
||||
a = NewAppConnector(Config{
|
||||
Logf: t.Logf,
|
||||
RouteAdvertiser: rc,
|
||||
RouteInfo: &RouteInfo{},
|
||||
StoreRoutesFunc: fakeStoreRoutes,
|
||||
})
|
||||
} else {
|
||||
a = NewAppConnector(t.Logf, rc, nil, nil)
|
||||
a = NewAppConnector(Config{Logf: t.Logf, RouteAdvertiser: rc})
|
||||
}
|
||||
assertRoutes("appc init", []netip.Prefix{}, []netip.Prefix{})
|
||||
|
||||
@@ -508,9 +547,14 @@ func TestUpdateWildcardRouteRemoval(t *testing.T) {
|
||||
|
||||
var a *AppConnector
|
||||
if shouldStore {
|
||||
a = NewAppConnector(t.Logf, rc, &RouteInfo{}, fakeStoreRoutes)
|
||||
a = NewAppConnector(Config{
|
||||
Logf: t.Logf,
|
||||
RouteAdvertiser: rc,
|
||||
RouteInfo: &RouteInfo{},
|
||||
StoreRoutesFunc: fakeStoreRoutes,
|
||||
})
|
||||
} else {
|
||||
a = NewAppConnector(t.Logf, rc, nil, nil)
|
||||
a = NewAppConnector(Config{Logf: t.Logf, RouteAdvertiser: rc})
|
||||
}
|
||||
assertRoutes("appc init", []netip.Prefix{}, []netip.Prefix{})
|
||||
|
||||
@@ -649,7 +693,12 @@ func TestMetricBucketsAreSorted(t *testing.T) {
|
||||
func TestUpdateRoutesDeadlock(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
rc := &appctest.RouteCollector{}
|
||||
a := NewAppConnector(t.Logf, rc, &RouteInfo{}, fakeStoreRoutes)
|
||||
a := NewAppConnector(Config{
|
||||
Logf: t.Logf,
|
||||
RouteAdvertiser: rc,
|
||||
RouteInfo: &RouteInfo{},
|
||||
StoreRoutesFunc: fakeStoreRoutes,
|
||||
})
|
||||
|
||||
advertiseCalled := new(atomic.Bool)
|
||||
unadvertiseCalled := new(atomic.Bool)
|
||||
|
||||
Reference in New Issue
Block a user