@@ -41,8 +41,9 @@ func TestNewConfig(t *testing.T) {
41
41
want * Config
42
42
wantErr bool
43
43
}{
44
- {"all via env" , setup ([]string {"DATADOG_API_KEY=abc123" , "DATASET_FILTER=bqmetrics:enabled" , "GCP_PROJECT_ID=my-project-id" , "METRIC_PREFIX=custom.gcp.bigquery.stats" , "METRIC_TAGS=env:prod" , "METRIC_INTERVAL=2m" , "HEALTHCHECK_ENABLED=true" }, nil , "" ), args {"bqmetricstest" }, & Config {
44
+ {"all via env" , setup ([]string {"DATADOG_API_KEY=abc123" , "DATADOG_SITE=EU" , " DATASET_FILTER=bqmetrics:enabled" , "GCP_PROJECT_ID=my-project-id" , "METRIC_PREFIX=custom.gcp.bigquery.stats" , "METRIC_TAGS=env:prod" , "METRIC_INTERVAL=2m" , "HEALTHCHECK_ENABLED=true" }, nil , "" ), args {"bqmetricstest" }, & Config {
45
45
DatadogAPIKey : "abc123" ,
46
+ DatadogSite : "EU" ,
46
47
DatasetFilter : "bqmetrics:enabled" ,
47
48
GcpProject : "my-project-id" ,
48
49
MetricPrefix : "custom.gcp.bigquery.stats" ,
@@ -51,8 +52,9 @@ func TestNewConfig(t *testing.T) {
51
52
Profiler : Profiler {false , 6060 },
52
53
HealthCheck : HealthCheck {true , 8080 },
53
54
}, false },
54
- {"all via cmd" , setup (nil , []string {"--datadog-api-key-file=/tmp/dd.key" , "--dataset-filter=bqmetrics:enabled" , "--gcp-project-id=my-project-id" , "--metric-prefix=custom.gcp.bigquery.stats" , "--metric-tags=env:prod" , "--metric-interval=2m" , "--profiler.enabled" }, "abc123" ), args {"bqmetricstest" }, & Config {
55
+ {"all via cmd" , setup (nil , []string {"--datadog-api-key-file=/tmp/dd.key" , "--datadog-site=EU" , "-- dataset-filter=bqmetrics:enabled" , "--gcp-project-id=my-project-id" , "--metric-prefix=custom.gcp.bigquery.stats" , "--metric-tags=env:prod" , "--metric-interval=2m" , "--profiler.enabled" }, "abc123" ), args {"bqmetricstest" }, & Config {
55
56
DatadogAPIKey : "abc123" ,
57
+ DatadogSite : "EU" ,
56
58
DatasetFilter : "bqmetrics:enabled" ,
57
59
GcpProject : "my-project-id" ,
58
60
MetricPrefix : "custom.gcp.bigquery.stats" ,
@@ -61,8 +63,9 @@ func TestNewConfig(t *testing.T) {
61
63
Profiler : Profiler {true , 6060 },
62
64
HealthCheck : HealthCheck {false , 8080 },
63
65
}, false },
64
- {"mixture of sources" , setup ([]string {"DATADOG_API_KEY=abc123" , "GCP_PROJECT_ID=my-project-id" }, []string {"--metric-prefix=custom.gcp.bigquery.stats" , "--metric-tags=env:prod" , "--metric-interval=2m" }, "" ), args {"bqmetricstest" }, & Config {
66
+ {"mixture of sources" , setup ([]string {"DATADOG_API_KEY=abc123" , "DATADOG_SITE=US" , " GCP_PROJECT_ID=my-project-id" }, []string {"--metric-prefix=custom.gcp.bigquery.stats" , "--metric-tags=env:prod" , "--metric-interval=2m" }, "" ), args {"bqmetricstest" }, & Config {
65
67
DatadogAPIKey : "abc123" ,
68
+ DatadogSite : "US" ,
66
69
GcpProject : "my-project-id" ,
67
70
MetricPrefix : "custom.gcp.bigquery.stats" ,
68
71
MetricTags : []string {"env:prod" },
@@ -72,6 +75,7 @@ func TestNewConfig(t *testing.T) {
72
75
}, false },
73
76
{"minimum required config" , setup ([]string {"DATADOG_API_KEY=abc123" , "GCP_PROJECT_ID=my-project-id" }, nil , "" ), args {"bqmetricstest" }, & Config {
74
77
DatadogAPIKey : "abc123" ,
78
+ DatadogSite : "US" ,
75
79
GcpProject : "my-project-id" ,
76
80
MetricPrefix : DefaultMetricPrefix ,
77
81
MetricTags : []string {},
@@ -81,6 +85,7 @@ func TestNewConfig(t *testing.T) {
81
85
}, false },
82
86
{"default credentials" , setup ([]string {"DATADOG_API_KEY=abc123" , "GOOGLE_APPLICATION_CREDENTIALS=/tmp/dd.key" }, nil , "{\" type\" : \" service_account\" , \" project_id\" : \" my-project-id\" }" ), args {"bqmetricstest" }, & Config {
83
87
DatadogAPIKey : "abc123" ,
88
+ DatadogSite : "US" ,
84
89
GcpProject : "my-project-id" ,
85
90
MetricPrefix : DefaultMetricPrefix ,
86
91
MetricTags : []string {},
@@ -118,14 +123,15 @@ func TestNewConfig_configFile(t *testing.T) {
118
123
_ = os .Remove (n )
119
124
}()
120
125
121
- data := []byte ("{\" datadog-api-key\" : \" abc123\" , \" dataset-filter\" : \" bqmetrics:enabled\" , \" gcp-project-id\" : \" my-project-id\" , \" metric-prefix\" : \" custom.gcp.bigquery.stats\" , \" metric-tags\" : \" env:prod,team:my-team\" , \" metric-interval\" : \" 2m\" , \" healthcheck\" : {\" enabled\" : true, \" port\" : 8081}}" )
126
+ data := []byte ("{\" datadog-api-key\" : \" abc123\" , \" datadog-site \" : \" US \" , \" dataset-filter\" : \" bqmetrics:enabled\" , \" gcp-project-id\" : \" my-project-id\" , \" metric-prefix\" : \" custom.gcp.bigquery.stats\" , \" metric-tags\" : \" env:prod,team:my-team\" , \" metric-interval\" : \" 2m\" , \" healthcheck\" : {\" enabled\" : true, \" port\" : 8081}}" )
122
127
if _ , err = f .Write (data ); err != nil {
123
128
t .Fatalf ("error when writing test config file: %s" , err )
124
129
}
125
130
126
131
os .Args = []string {"./bqmetricstest" , "--config-file" , f .Name ()}
127
132
want := & Config {
128
133
DatadogAPIKey : "abc123" ,
134
+ DatadogSite : "US" ,
129
135
DatasetFilter : "bqmetrics:enabled" ,
130
136
GcpProject : "my-project-id" ,
131
137
MetricPrefix : "custom.gcp.bigquery.stats" ,
@@ -180,14 +186,15 @@ func TestNewConfig_configFileWithCustomQueries(t *testing.T) {
180
186
_ = os .Remove (n )
181
187
}()
182
188
183
- data := []byte ("{\" datadog-api-key\" : \" abc123\" , \" gcp-project-id\" : \" my-project-id\" , \" metric-prefix\" : \" custom.gcp.bigquery.stats\" , \" metric-tags\" : \" env:prod,team:my-team\" , \" metric-interval\" : \" 2m\" , \" custom-metrics\" : [{\" metric-name\" : \" my_metric\" , \" metric-tags\" : [\" table_id:table\" ], \" sql\" : \" SELECT COUNT(DISTINCT *) FROM `table`\" }]}" )
189
+ data := []byte ("{\" datadog-api-key\" : \" abc123\" , \" datadog-site \" : \" US \" , \" gcp-project-id\" : \" my-project-id\" , \" metric-prefix\" : \" custom.gcp.bigquery.stats\" , \" metric-tags\" : \" env:prod,team:my-team\" , \" metric-interval\" : \" 2m\" , \" custom-metrics\" : [{\" metric-name\" : \" my_metric\" , \" metric-tags\" : [\" table_id:table\" ], \" sql\" : \" SELECT COUNT(DISTINCT *) FROM `table`\" }]}" )
184
190
if _ , err = f .Write (data ); err != nil {
185
191
t .Fatalf ("error when writing test config file: %s" , err )
186
192
}
187
193
188
194
os .Args = []string {"./bqmetricstest" , "--config-file" , f .Name ()}
189
195
want := & Config {
190
196
DatadogAPIKey : "abc123" ,
197
+ DatadogSite : "US" ,
191
198
GcpProject : "my-project-id" ,
192
199
MetricPrefix : "custom.gcp.bigquery.stats" ,
193
200
MetricTags : []string {"env:prod" , "team:my-team" },
@@ -223,48 +230,62 @@ func TestValidateConfig(t *testing.T) {
223
230
}{
224
231
{"valid" , args {& Config {
225
232
DatadogAPIKey : "abc123" ,
233
+ DatadogSite : "US" ,
226
234
GcpProject : "my-project-id" ,
227
235
MetricPrefix : "custom.gcp.bigquery.stats" ,
228
236
MetricTags : []string {"env:prod" },
229
237
MetricInterval : time .Duration (30000 ),
230
238
}}, false },
231
239
{"missing datadog api key" , args {& Config {
232
240
DatadogAPIKey : "" ,
241
+ DatadogSite : "US" ,
242
+ GcpProject : "my-project-id" ,
243
+ MetricPrefix : "custom.gcp.bigquery.stats" ,
244
+ MetricTags : []string {"env:prod" },
245
+ MetricInterval : time .Duration (30000 ),
246
+ }}, true },
247
+ {"missing datadog site" , args {& Config {
248
+ DatadogAPIKey : "abc123" ,
233
249
GcpProject : "my-project-id" ,
234
250
MetricPrefix : "custom.gcp.bigquery.stats" ,
235
251
MetricTags : []string {"env:prod" },
236
252
MetricInterval : time .Duration (30000 ),
237
253
}}, true },
238
254
{"missing gcp project id" , args {& Config {
239
255
DatadogAPIKey : "abc123" ,
256
+ DatadogSite : "US" ,
240
257
GcpProject : "" ,
241
258
MetricPrefix : "custom.gcp.bigquery.stats" ,
242
259
MetricTags : []string {"env:prod" },
243
260
MetricInterval : time .Duration (30000 ),
244
261
}}, true },
245
262
{"missing metric prefix" , args {& Config {
246
263
DatadogAPIKey : "abc123" ,
264
+ DatadogSite : "US" ,
247
265
GcpProject : "my-project-id" ,
248
266
MetricPrefix : "" ,
249
267
MetricTags : []string {"env:prod" },
250
268
MetricInterval : time .Duration (30000 ),
251
269
}}, true },
252
270
{"missing metric tags" , args {& Config {
253
271
DatadogAPIKey : "abc123" ,
272
+ DatadogSite : "US" ,
254
273
GcpProject : "my-project-id" ,
255
274
MetricPrefix : "custom.gcp.bigquery.stats" ,
256
275
MetricTags : nil ,
257
276
MetricInterval : time .Duration (30000 ),
258
277
}}, false },
259
278
{"missing metric interval" , args {& Config {
260
279
DatadogAPIKey : "abc123" ,
280
+ DatadogSite : "US" ,
261
281
GcpProject : "my-project-id" ,
262
282
MetricPrefix : "custom.gcp.bigquery.stats" ,
263
283
MetricTags : []string {"env:prod" },
264
284
MetricInterval : time .Duration (0 ),
265
285
}}, true },
266
286
{"missing profiling" , args {& Config {
267
287
DatadogAPIKey : "abc123" ,
288
+ DatadogSite : "US" ,
268
289
GcpProject : "my-project-id" ,
269
290
MetricPrefix : "custom.gcp.bigquery.stats" ,
270
291
MetricTags : []string {"env:prod" },
@@ -273,6 +294,7 @@ func TestValidateConfig(t *testing.T) {
273
294
}}, false },
274
295
{"custom metrics okay" , args {& Config {
275
296
DatadogAPIKey : "abc123" ,
297
+ DatadogSite : "US" ,
276
298
GcpProject : "my-project-id" ,
277
299
MetricPrefix : "custom.gcp.bigquery.stats" ,
278
300
MetricTags : []string {"env:prod" },
@@ -287,6 +309,7 @@ func TestValidateConfig(t *testing.T) {
287
309
}}, false },
288
310
{"custom metrics missing name" , args {& Config {
289
311
DatadogAPIKey : "abc123" ,
312
+ DatadogSite : "US" ,
290
313
GcpProject : "my-project-id" ,
291
314
MetricPrefix : "custom.gcp.bigquery.stats" ,
292
315
MetricTags : []string {"env:prod" },
@@ -298,6 +321,7 @@ func TestValidateConfig(t *testing.T) {
298
321
}}, true },
299
322
{"custom metrics missing sql" , args {& Config {
300
323
DatadogAPIKey : "abc123" ,
324
+ DatadogSite : "US" ,
301
325
GcpProject : "my-project-id" ,
302
326
MetricPrefix : "custom.gcp.bigquery.stats" ,
303
327
MetricTags : []string {"env:prod" },
@@ -309,6 +333,7 @@ func TestValidateConfig(t *testing.T) {
309
333
}}, true },
310
334
{"health check disabled" , args {& Config {
311
335
DatadogAPIKey : "abc123" ,
336
+ DatadogSite : "US" ,
312
337
GcpProject : "my-project-id" ,
313
338
MetricPrefix : "custom.gcp.bigquery.stats" ,
314
339
MetricTags : []string {"env:prod" },
@@ -317,6 +342,7 @@ func TestValidateConfig(t *testing.T) {
317
342
}}, false },
318
343
{"health check port invalid" , args {& Config {
319
344
DatadogAPIKey : "abc123" ,
345
+ DatadogSite : "US" ,
320
346
GcpProject : "my-project-id" ,
321
347
MetricPrefix : "custom.gcp.bigquery.stats" ,
322
348
MetricTags : []string {"env:prod" },
0 commit comments