@@ -16,7 +16,7 @@ import (
16
16
"google.golang.org/api/googleapi"
17
17
)
18
18
19
- func TestExtractInitTimeout (t * testing.T ) {
19
+ func TestDataprocExtractInitTimeout (t * testing.T ) {
20
20
t .Parallel ()
21
21
22
22
actual , err := extractInitTimeout ("500s" )
@@ -29,7 +29,7 @@ func TestExtractInitTimeout(t *testing.T) {
29
29
}
30
30
}
31
31
32
- func TestExtractInitTimeout_nonSeconds (t * testing.T ) {
32
+ func TestDataprocExtractInitTimeout_nonSeconds (t * testing.T ) {
33
33
t .Parallel ()
34
34
35
35
actual , err := extractInitTimeout ("5m" )
@@ -42,7 +42,7 @@ func TestExtractInitTimeout_nonSeconds(t *testing.T) {
42
42
}
43
43
}
44
44
45
- func TestExtractInitTimeout_empty (t * testing.T ) {
45
+ func TestDataprocExtractInitTimeout_empty (t * testing.T ) {
46
46
t .Parallel ()
47
47
48
48
_ , err := extractInitTimeout ("" )
@@ -53,6 +53,85 @@ func TestExtractInitTimeout_empty(t *testing.T) {
53
53
t .Fatalf ("Expected an error with message '%s', but got %v" , expected , err .Error ())
54
54
}
55
55
56
+ func TestDataprocParseImageVersion (t * testing.T ) {
57
+ t .Parallel ()
58
+
59
+ testCases := map [string ]dataprocImageVersion {
60
+ "1.2" : {"1" , "2" , "" , "" },
61
+ "1.2.3" : {"1" , "2" , "3" , "" },
62
+ "1.2.3rc" : {"1" , "2" , "3rc" , "" },
63
+ "1.2-debian9" : {"1" , "2" , "" , "debian9" },
64
+ "1.2.3-debian9" : {"1" , "2" , "3" , "debian9" },
65
+ "1.2.3rc-debian9" : {"1" , "2" , "3rc" , "debian9" },
66
+ }
67
+
68
+ for v , expected := range testCases {
69
+ actual , err := parseDataprocImageVersion (v )
70
+ if actual .major != expected .major {
71
+ t .Errorf ("parsing version %q returned error: %v" , v , err )
72
+ }
73
+ if err != nil {
74
+ t .Errorf ("parsing version %q returned error: %v" , v , err )
75
+ }
76
+ if actual .minor != expected .minor {
77
+ t .Errorf ("parsing version %q returned error: %v" , v , err )
78
+ }
79
+ if actual .subminor != expected .subminor {
80
+ t .Errorf ("parsing version %q returned error: %v" , v , err )
81
+ }
82
+ if actual .osName != expected .osName {
83
+ t .Errorf ("parsing version %q returned error: %v" , v , err )
84
+ }
85
+ }
86
+
87
+ errorTestCases := []string {
88
+ "" ,
89
+ "1" ,
90
+ "notaversion" ,
91
+ "1-debian" ,
92
+ }
93
+ for _ , v := range errorTestCases {
94
+ if _ , err := parseDataprocImageVersion (v ); err == nil {
95
+ t .Errorf ("expected parsing invalid version %q to return error" , v )
96
+ }
97
+ }
98
+ }
99
+
100
+ func TestDataprocDiffSuppress (t * testing.T ) {
101
+ t .Parallel ()
102
+
103
+ doSuppress := [][]string {
104
+ {"1.3.10-debian9" , "1.3" },
105
+ {"1.3.10-debian9" , "1.3-debian9" },
106
+ {"1.3.10" , "1.3" },
107
+ {"1.3-debian9" , "1.3" },
108
+ }
109
+
110
+ noSuppress := [][]string {
111
+ {"1.3.10-debian9" , "1.3.10-ubuntu" },
112
+ {"1.3.10-debian9" , "1.3.9-debian9" },
113
+ {"1.3.10-debian9" , "1.3-ubuntu" },
114
+ {"1.3.10-debian9" , "1.3.9" },
115
+ {"1.3.10-debian9" , "1.4" },
116
+ {"1.3.10-debian9" , "2.3" },
117
+ {"1.3.10" , "1.3.10-debian9" },
118
+ {"1.3" , "1.3.10" },
119
+ {"1.3" , "1.3.10-debian9" },
120
+ {"1.3" , "1.3-debian9" },
121
+ }
122
+
123
+ for _ , tup := range doSuppress {
124
+ if ! dataprocImageVersionDiffSuppress ("" , tup [0 ], tup [1 ], nil ) {
125
+ t .Errorf ("expected (old: %q, new: %q) to be suppressed" , tup [0 ], tup [1 ])
126
+ }
127
+ }
128
+ for _ , tup := range noSuppress {
129
+ if dataprocImageVersionDiffSuppress ("" , tup [0 ], tup [1 ], nil ) {
130
+ t .Errorf ("expected (old: %q, new: %q) to not be suppressed" , tup [0 ], tup [1 ])
131
+ }
132
+ }
133
+ }
134
+
56
135
func TestAccDataprocCluster_missingZoneGlobalRegion1 (t * testing.T ) {
57
136
t .Parallel ()
58
137
0 commit comments