@@ -51,6 +51,7 @@ func getNetworkResourceNames(envCode string, networkMode string, firewallMode st
5151 "base" : {
5252 "network_name" : fmt .Sprintf ("vpc-%s-shared-base%s" , envCode , networkMode ),
5353 "global_address" : fmt .Sprintf ("ga-%s-shared-base%s-vpc-peering-internal" , envCode , networkMode ),
54+ "dns_zone_forward" : "fz-dns-hub" ,
5455 "dns_zone_googleapis" : fmt .Sprintf ("dz-%s-shared-base-apis" , envCode ),
5556 "dns_zone_gcr" : fmt .Sprintf ("dz-%s-shared-base-gcr" , envCode ),
5657 "dns_zone_pkg_dev" : fmt .Sprintf ("dz-%s-shared-base-pkg-dev" , envCode ),
@@ -69,6 +70,7 @@ func getNetworkResourceNames(envCode string, networkMode string, firewallMode st
6970 "restricted" : {
7071 "network_name" : fmt .Sprintf ("vpc-%s-shared-restricted%s" , envCode , networkMode ),
7172 "global_address" : fmt .Sprintf ("ga-%s-shared-restricted%s-vpc-peering-internal" , envCode , networkMode ),
73+ "dns_zone_forward" : "fz-dns-hub" ,
7274 "dns_zone_googleapis" : fmt .Sprintf ("dz-%s-shared-restricted-apis" , envCode ),
7375 "dns_zone_gcr" : fmt .Sprintf ("dz-%s-shared-restricted-gcr" , envCode ),
7476 "dns_zone_pkg_dev" : fmt .Sprintf ("dz-%s-shared-restricted-pkg-dev" , envCode ),
@@ -331,22 +333,17 @@ func TestNetworks(t *testing.T) {
331333 tfdDir = "../../../3-networks-hub-and-spoke/envs/%s"
332334 }
333335
334- var tfdDirDNS string
335- if networkMode == "" {
336- tfdDirDNS = "../../../3-networks-dual-svpc/envs/production"
337- } else {
338- tfdDirDNS = "../../../3-networks-hub-and-spoke/envs/shared"
339- }
340-
341336 envCode := string (envName [0 :1 ])
342337 networks := tft .NewTFBlueprintTest (t ,
343338 tft .WithTFDir (fmt .Sprintf (tfdDir , envName )),
344- tft .WithTFDir (fmt .Sprintf (tfdDirDNS )),
345339 tft .WithVars (vars ),
346340 tft .WithRetryableTerraformErrors (testutils .RetryableTransientErrors , 10 , 2 * time .Minute ),
347341 tft .WithPolicyLibraryPath ("/workspace/policy-library" , bootstrap .GetTFSetupStringOutput ("project_id" )),
348342 tft .WithBackendConfig (backendConfig ),
349343 )
344+
345+ networkMode := getNetworkMode (t )
346+
350347 networks .DefineVerify (
351348 func (assert * assert.Assertions ) {
352349 // perform default verification ensuring Terraform reports no additional changes on an applied blueprint
@@ -359,9 +356,6 @@ func TestNetworks(t *testing.T) {
359356 servicePerimeterLink := fmt .Sprintf ("accessPolicies/%s/servicePerimeters/%s" , policyID , networks .GetStringOutput ("restricted_service_perimeter_name" ))
360357 accessLevel := fmt .Sprintf ("accessPolicies/%s/accessLevels/%s" , policyID , networks .GetStringOutput ("access_level_name_dry_run" ))
361358 networkNames := getNetworkResourceNames (envCode , networkMode , firewallMode )
362- baseSharedProjectID := networks .GetStringOutput ("base_host_project_id" )
363- restrictedProjectID := networks .GetStringOutput ("restricted_host_project_id" )
364- dnsFwZoneName := "fz-dns-hub"
365359
366360 servicePerimeter , err := gcloud .RunCmdE (t , fmt .Sprintf ("access-context-manager perimeters dry-run describe %s --policy %s" , servicePerimeterLink , policyID ))
367361 assert .NoError (err )
@@ -378,22 +372,30 @@ func TestNetworks(t *testing.T) {
378372 } {
379373 projectID := networks .GetStringOutput (fmt .Sprintf ("%s_host_project_id" , networkType ))
380374
381- for _ , dnsType := range []string {
382- "dns_zone_googleapis" ,
383- "dns_zone_gcr" ,
384- "dns_zone_pkg_dev" ,
385- "dns_zone_peering_zone" ,
386- } {
387- dnsName := networkNames [networkType ][dnsType ]
388- dnsZone := gcloud .Runf (t , "dns managed-zones describe %s --project %s --impersonate-service-account %s" , dnsName , projectID , terraformSA )
389- assert .Equal (dnsName , dnsZone .Get ("name" ).String (), fmt .Sprintf ("dnsZone %s should exist" , dnsName ))
375+ if networkMode == "-spoke" {
376+ for _ , dnsType := range []string {
377+ "dns_zone_googleapis" ,
378+ "dns_zone_gcr" ,
379+ "dns_zone_pkg_dev" ,
380+ "dns_zone_peering_zone" ,
381+ } {
382+ dnsName := networkNames [networkType ][dnsType ]
383+ dnsZone := gcloud .Runf (t , "dns managed-zones describe %s --project %s --impersonate-service-account %s" , dnsName , projectID , terraformSA )
384+ assert .Equal (dnsName , dnsZone .Get ("name" ).String (), fmt .Sprintf ("dnsZone %s should exist" , dnsName ))
385+ }
386+ } else {
387+ for _ , dnsType := range []string {
388+ "dns_zone_googleapis" ,
389+ "dns_zone_gcr" ,
390+ "dns_zone_pkg_dev" ,
391+ "dns_zone_forward" ,
392+ } {
393+ dnsName := networkNames [networkType ][dnsType ]
394+ dnsZone := gcloud .Runf (t , "dns managed-zones describe %s --project %s --impersonate-service-account %s" , dnsName , projectID , terraformSA )
395+ assert .Equal (dnsName , dnsZone .Get ("name" ).String (), fmt .Sprintf ("dnsZone %s should exist" , dnsName ))
396+ }
390397 }
391398
392- dnsZoneSharedBaseHubSpoke := gcloud .Runf (t , "dns managed-zones describe %s --project %s --impersonate-service-account %s" , dnsFwZoneName , baseSharedProjectID , terraformSA )
393- assert .Equal (dnsFwZoneName , dnsZoneSharedBaseHubSpoke .Get ("name" ).String (), fmt .Sprintf ("dnsZone %s should exist for base" , dnsFwZoneName ))
394- dnsZoneRestrictedHubSpoke := gcloud .Runf (t , "dns managed-zones describe %s --project %s --impersonate-service-account %s" , dnsFwZoneName , restrictedProjectID , terraformSA )
395- assert .Equal (dnsFwZoneName , dnsZoneRestrictedHubSpoke .Get ("name" ).String (), fmt .Sprintf ("dnsZone %s should exist for restricted" , dnsFwZoneName ))
396-
397399 networkName := networkNames [networkType ]["network_name" ]
398400 networkUrl := fmt .Sprintf ("https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s" , projectID , networkName )
399401 dnsPolicyName := networkNames [networkType ]["dns_policy_name" ]
@@ -462,18 +464,16 @@ func TestNetworks(t *testing.T) {
462464 } {
463465
464466 routerName := networkNames [networkType ][router.router ]
467+ bgpAdvertisedIpRange := "35.199.192.0/19"
465468 computeRouter := gcloud .Runf (t , "compute routers describe %s --region %s --project %s --impersonate-service-account %s" , routerName , router .region , projectID , terraformSA )
466469 networkSelfLink := fmt .Sprintf ("https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s" , projectID , networkNames [networkType ]["network_name" ])
467470 assert .Equal (routerName , computeRouter .Get ("name" ).String (), fmt .Sprintf ("router %s should exist" , routerName ))
468471 assert .Equal ("64514" , computeRouter .Get ("bgp.asn" ).String (), fmt .Sprintf ("router %s should have bgp asm 64514" , routerName ))
469- assert .Equal (1 , len (computeRouter .Get ("bgp.advertisedIpRanges" ).Array ()), fmt .Sprintf ("router %s should have only one advertised IP range" , routerName ))
470- assert .Equal (googleapisCIDR [envName ][networkType ], computeRouter .Get ("bgp.advertisedIpRanges.0.range" ).String (), fmt .Sprintf ("router %s should have only range %s" , routerName , googleapisCIDR [envName ][networkType ]))
471- assert .Equal (networkSelfLink , computeRouter .Get ("network" ).String (), fmt .Sprintf ("router %s should have be from network %s" , routerName , networkNames [networkType ]["network_name" ]))
472-
473- dnsZoneSharedBaseSVPC := gcloud .Runf (t , "dns managed-zones describe %s --project %s --impersonate-service-account %s" , dnsFwZoneName , baseSharedProjectID , terraformSA )
474- assert .Equal (dnsFwZoneName , dnsZoneSharedBaseSVPC .Get ("name" ).String (), fmt .Sprintf ("dnsZone %s should exist for base" , dnsFwZoneName ))
475- dnsZoneRestrictedSVPC := gcloud .Runf (t , "dns managed-zones describe %s --project %s --impersonate-service-account %s" , dnsFwZoneName , restrictedProjectID , terraformSA )
476- assert .Equal (dnsFwZoneName , dnsZoneRestrictedSVPC .Get ("name" ).String (), fmt .Sprintf ("dnsZone %s should exist for restricted" , dnsFwZoneName ))
472+ assert .Equal (networkSelfLink , computeRouter .Get ("network" ).String (), fmt .Sprintf ("router %s should be on network %s" , routerName , networkNames [networkType ]["network_name" ]))
473+ if strings .Contains (projectID , "prj-p" ) && networkMode != "-spoke" {
474+ assert .Equal (bgpAdvertisedIpRange , computeRouter .Get ("bgp.advertisedIpRanges.0.range" ).String (), fmt .Sprintf ("router %s should have range %s" , routerName , bgpAdvertisedIpRange ))
475+ assert .Equal (googleapisCIDR [envName ][networkType ], computeRouter .Get ("bgp.advertisedIpRanges.0.range" ).String (), fmt .Sprintf ("router %s should have only range %s" , routerName , googleapisCIDR [envName ][networkType ]))
476+ }
477477 }
478478 }
479479 }
@@ -483,4 +483,3 @@ func TestNetworks(t *testing.T) {
483483
484484 }
485485}
486-
0 commit comments