Skip to content

Commit 2d11b31

Browse files
committed
use parameterized tests
Signed-off-by: Gregor Zeitlinger <[email protected]>
1 parent a1b3226 commit 2d11b31

File tree

1 file changed

+31
-51
lines changed

1 file changed

+31
-51
lines changed

prometheus-metrics-model/src/test/java/io/prometheus/metrics/model/snapshots/PrometheusNamingTest.java

Lines changed: 31 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import org.junit.jupiter.params.provider.CsvSource;
88
import org.junit.jupiter.params.provider.MethodSource;
99
import org.junitpioneer.jupiter.SetSystemProperty;
10-
import org.mockito.MockedStatic;
1110

1211
import java.util.stream.Stream;
1312

@@ -23,8 +22,6 @@
2322
import static io.prometheus.metrics.model.snapshots.PrometheusNaming.validateUnitName;
2423
import static org.assertj.core.api.Assertions.assertThat;
2524
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
26-
import static org.mockito.Mockito.CALLS_REAL_METHODS;
27-
import static org.mockito.Mockito.mockStatic;
2825

2926
class PrometheusNamingTest {
3027

@@ -339,62 +336,58 @@ public void testEscapeMetricSnapshotEmpty() {
339336
assertThat(original.getMetadata().getName()).isEqualTo("empty");
340337
}
341338

339+
@SetSystemProperty(key = "io.prometheus.naming.validationScheme", value = "utf-8")
342340
@Test
343341
public void testEscapeMetricSnapshotSimpleNoEscapingNeeded() {
344342
testEscapeMetricSnapshot(
345343
"my_metric",
346344
"some_label",
347345
"labelvalue",
348-
"some help text",
349346
"my_metric",
350347
"some_label",
351348
"labelvalue",
352-
"some help text",
353349
EscapingScheme.VALUE_ENCODING_ESCAPING,
354350
CounterSnapshot.class);
355351
}
356352

353+
@SetSystemProperty(key = "io.prometheus.naming.validationScheme", value = "utf-8")
357354
@Test
358355
public void testEscapeMetricSnapshotLabelNameEscapingNeeded() {
359356
testEscapeMetricSnapshot(
360357
"my_metric",
361358
"some.label",
362359
"labelvalue",
363-
"some help text",
364360
"my_metric",
365361
"U__some_2e_label",
366362
"labelvalue",
367-
"some help text",
368363
EscapingScheme.VALUE_ENCODING_ESCAPING,
369364
CounterSnapshot.class);
370365
}
371366

367+
@SetSystemProperty(key = "io.prometheus.naming.validationScheme", value = "utf-8")
372368
@Test
373369
public void testEscapeMetricSnapshotCounterEscapingNeeded() {
374370
testEscapeMetricSnapshot(
375371
"my.metric",
376372
"some?label",
377373
"label??value",
378-
"some help text",
379374
"U__my_2e_metric",
380375
"U__some_3f_label",
381376
"label??value",
382-
"some help text",
383377
EscapingScheme.VALUE_ENCODING_ESCAPING,
384378
CounterSnapshot.class);
385379
}
386380

381+
@SetSystemProperty(key = "io.prometheus.naming.validationScheme", value = "utf-8")
387382
@Test
388383
public void testEscapeMetricSnapshotGaugeEscapingNeeded() {
389384
testEscapeMetricSnapshot(
390385
"unicode.and.dots.花火",
391386
"some_label",
392387
"label??value",
393-
"some help text",
394388
"unicode_dot_and_dot_dots_dot_____",
395389
"some_label",
396390
"label??value",
397-
"some help text",
398391
EscapingScheme.DOTS_ESCAPING,
399392
GaugeSnapshot.class);
400393
}
@@ -403,70 +396,57 @@ private void testEscapeMetricSnapshot(
403396
String name,
404397
String labelName,
405398
String labelValue,
406-
String help,
407399
String expectedName,
408400
String expectedLabelName,
409401
String expectedLabelValue,
410-
String expectedHelp,
411402
EscapingScheme escapingScheme,
412403
Class<? extends MetricSnapshot> snapshotType) {
404+
PrometheusNaming.resetForTest();
413405

414-
try (MockedStatic<PrometheusNaming> mock =
415-
mockStatic(PrometheusNaming.class, CALLS_REAL_METHODS)) {
416-
mock.when(PrometheusNaming::getValidationScheme)
417-
.thenReturn(ValidationScheme.UTF_8_VALIDATION);
418-
419-
MetricSnapshot original =
420-
createTestSnapshot(name, labelName, labelValue, help, 34.2, snapshotType);
421-
MetricSnapshot got = escapeMetricSnapshot(original, escapingScheme);
422-
423-
assertThat(got.getMetadata().getName()).isEqualTo(expectedName);
424-
assertThat(got.getMetadata().getHelp()).isEqualTo(expectedHelp);
425-
assertThat(got.getDataPoints().size()).isEqualTo(1);
426-
427-
DataPointSnapshot escapedData = got.getDataPoints().get(0);
428-
assertThat((Iterable<? extends Label>) escapedData.getLabels())
429-
.isEqualTo(
430-
Labels.builder()
431-
.label("__name__", expectedName)
432-
.label(expectedLabelName, expectedLabelValue)
433-
.build());
434-
435-
assertThat(original.getMetadata().getName()).isEqualTo(name);
436-
assertThat(original.getMetadata().getHelp()).isEqualTo(help);
437-
assertThat(original.getDataPoints().size()).isEqualTo(1);
438-
439-
DataPointSnapshot originalData = original.getDataPoints().get(0);
440-
assertThat((Iterable<? extends Label>) originalData.getLabels())
441-
.isEqualTo(Labels.builder().label("__name__", name).label(labelName, labelValue).build());
442-
}
406+
MetricSnapshot original = createTestSnapshot(name, labelName, labelValue, snapshotType);
407+
MetricSnapshot got = escapeMetricSnapshot(original, escapingScheme);
408+
409+
assertThat(got.getMetadata().getName()).isEqualTo(expectedName);
410+
assertThat(got.getMetadata().getHelp()).isEqualTo("some help text");
411+
assertThat(got.getDataPoints()).hasSize(1);
412+
413+
DataPointSnapshot escapedData = got.getDataPoints().get(0);
414+
assertThat((Iterable<? extends Label>) escapedData.getLabels())
415+
.isEqualTo(
416+
Labels.builder()
417+
.label("__name__", expectedName)
418+
.label(expectedLabelName, expectedLabelValue)
419+
.build());
420+
421+
assertThat(original.getMetadata().getName()).isEqualTo(name);
422+
assertThat(original.getMetadata().getHelp()).isEqualTo("some help text");
423+
assertThat(original.getDataPoints()).hasSize(1);
424+
425+
DataPointSnapshot originalData = original.getDataPoints().get(0);
426+
assertThat((Iterable<? extends Label>) originalData.getLabels())
427+
.isEqualTo(Labels.builder().label("__name__", name).label(labelName, labelValue).build());
443428
}
444429

445430
private MetricSnapshot createTestSnapshot(
446431
String name,
447432
String labelName,
448433
String labelValue,
449-
String help,
450-
double value,
451434
Class<? extends MetricSnapshot> snapshotType) {
452435
Labels labels = Labels.builder().label("__name__", name).label(labelName, labelValue).build();
453436

454437
if (snapshotType.equals(CounterSnapshot.class)) {
455438
return CounterSnapshot.builder()
456439
.name(name)
457-
.help(help)
440+
.help("some help text")
458441
.dataPoint(
459-
CounterSnapshot.CounterDataPointSnapshot.builder()
460-
.value(value)
461-
.labels(labels)
462-
.build())
442+
CounterSnapshot.CounterDataPointSnapshot.builder().value(34.2).labels(labels).build())
463443
.build();
464444
} else if (snapshotType.equals(GaugeSnapshot.class)) {
465445
return GaugeSnapshot.builder()
466446
.name(name)
467-
.help(help)
447+
.help("some help text")
468448
.dataPoint(
469-
GaugeSnapshot.GaugeDataPointSnapshot.builder().value(value).labels(labels).build())
449+
GaugeSnapshot.GaugeDataPointSnapshot.builder().value(34.2).labels(labels).build())
470450
.build();
471451
}
472452

0 commit comments

Comments
 (0)