@@ -66,6 +66,70 @@ func TestCompareSelfLinkOrResourceName(t *testing.T) {
66
66
}
67
67
}
68
68
69
+ func TestCompareSelfLinkRelativePathsIgnoreProjectId (t * testing.T ) {
70
+ cases := map [string ]struct {
71
+ Old , New string
72
+ Expect bool
73
+ }{
74
+ "full path, project number" : {
75
+ Old : "https://www.googleapis.com/compute/v1/projects/your-project/global/networks/a-network" ,
76
+ New : "https://www.googleapis.com/compute/v1/projects/1234/global/networks/a-network" ,
77
+ Expect : true ,
78
+ },
79
+ "partial path, project number" : {
80
+ Old : "https://www.googleapis.com/compute/v1/projects/your-project/global/networks/a-network" ,
81
+ New : "projects/1234/global/networks/a-network" ,
82
+ Expect : true ,
83
+ },
84
+ "partial path, same" : {
85
+ Old : "https://www.googleapis.com/compute/v1/projects/your-project/global/networks/a-network" ,
86
+ New : "projects/your-project/global/networks/a-network" ,
87
+ Expect : true ,
88
+ },
89
+ "partial path, different name" : {
90
+ Old : "https://www.googleapis.com/compute/v1/projects/your-project/global/networks/a-network" ,
91
+ New : "projects/your-project/global/networks/another-network" ,
92
+ Expect : false ,
93
+ },
94
+ "partial path, different project" : {
95
+ Old : "https://www.googleapis.com/compute/v1/projects/your-project/global/networks/a-network" ,
96
+ New : "projects/another-project/global/networks/a-network" ,
97
+ Expect : false ,
98
+ },
99
+ "full path, different name" : {
100
+ Old : "https://www.googleapis.com/compute/v1/projects/your-project/global/networks/a-network" ,
101
+ New : "https://www.googleapis.com/compute/v1/projects/your-project/global/networks/another-network" ,
102
+ Expect : false ,
103
+ },
104
+ "full path, different project" : {
105
+ Old : "https://www.googleapis.com/compute/v1/projects/your-project/global/networks/a-network" ,
106
+ New : "https://www.googleapis.com/compute/v1/projects/another-project/global/networks/a-network" ,
107
+ Expect : false ,
108
+ },
109
+ "beta full path, same" : {
110
+ Old : "https://www.googleapis.com/compute/v1/projects/your-project/global/networks/a-network" ,
111
+ New : "https://www.googleapis.com/compute/beta/projects/your-project/global/networks/a-network" ,
112
+ Expect : true ,
113
+ },
114
+ "beta full path, different name" : {
115
+ Old : "https://www.googleapis.com/compute/v1/projects/your-project/global/networks/a-network" ,
116
+ New : "https://www.googleapis.com/compute/beta/projects/your-project/global/networks/another-network" ,
117
+ Expect : false ,
118
+ },
119
+ "beta full path, different project" : {
120
+ Old : "https://www.googleapis.com/compute/v1/projects/your-project/global/networks/a-network" ,
121
+ New : "https://www.googleapis.com/compute/beta/projects/another-project/global/networks/a-network" ,
122
+ Expect : false ,
123
+ },
124
+ }
125
+
126
+ for tn , tc := range cases {
127
+ if CompareSelfLinkRelativePathsIgnoreProjectId ("" , tc .Old , tc .New , nil ) != tc .Expect {
128
+ t .Errorf ("bad: %s, expected %t for old = %q and new = %q" , tn , tc .Expect , tc .Old , tc .New )
129
+ }
130
+ }
131
+ }
132
+
69
133
func TestGetResourceNameFromSelfLink (t * testing.T ) {
70
134
cases := map [string ]struct {
71
135
SelfLink , ExpectedName string
0 commit comments