github.phpd.cn/hashicorp/packer@v1.3.2/builder/googlecompute/networking_test.go (about) 1 package googlecompute 2 3 import ( 4 "testing" 5 ) 6 7 func TestGetNetworking(t *testing.T) { 8 cases := []struct { 9 c *InstanceConfig 10 expectedNetwork string 11 expectedSubnetwork string 12 error bool 13 }{ 14 { 15 c: &InstanceConfig{ 16 Network: "default", 17 Subnetwork: "", 18 NetworkProjectId: "project-id", 19 Region: "region-id", 20 }, 21 expectedNetwork: "global/networks/default", 22 expectedSubnetwork: "", 23 error: false, 24 }, 25 { 26 c: &InstanceConfig{ 27 Network: "", 28 Subnetwork: "", 29 NetworkProjectId: "project-id", 30 Region: "region-id", 31 }, 32 expectedNetwork: "", 33 expectedSubnetwork: "", 34 error: true, 35 }, 36 { 37 c: &InstanceConfig{ 38 Network: "some/network/path", 39 Subnetwork: "some/subnetwork/path", 40 NetworkProjectId: "project-id", 41 Region: "region-id", 42 }, 43 expectedNetwork: "some/network/path", 44 expectedSubnetwork: "some/subnetwork/path", 45 error: false, 46 }, 47 { 48 c: &InstanceConfig{ 49 Network: "network-value", 50 Subnetwork: "subnetwork-value", 51 NetworkProjectId: "project-id", 52 Region: "region-id", 53 }, 54 expectedNetwork: "projects/project-id/global/networks/network-value", 55 expectedSubnetwork: "projects/project-id/regions/region-id/subnetworks/subnetwork-value", 56 error: false, 57 }, 58 } 59 60 for _, tc := range cases { 61 n, sn, err := getNetworking(tc.c) 62 if n != tc.expectedNetwork { 63 t.Errorf("Expected network %q but got network %q", tc.expectedNetwork, n) 64 } 65 if sn != tc.expectedSubnetwork { 66 t.Errorf("Expected subnetwork %q but got subnetwork %q", tc.expectedSubnetwork, sn) 67 } 68 if !tc.error && err != nil { 69 t.Errorf("Did not expect an error but got: %v", err) 70 } 71 } 72 }