Skip to content

Commit 5734772

Browse files
committed
avoid mocks
Signed-off-by: Gregor Zeitlinger <[email protected]>
1 parent 2d11b31 commit 5734772

File tree

1 file changed

+54
-39
lines changed

1 file changed

+54
-39
lines changed

prometheus-metrics-exposition-textformats/src/test/java/io/prometheus/metrics/expositionformats/ExpositionFormatsTest.java

Lines changed: 54 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,39 @@
11
package io.prometheus.metrics.expositionformats;
22

3-
import static java.nio.charset.StandardCharsets.UTF_8;
4-
import static org.assertj.core.api.Assertions.assertThat;
5-
import static org.mockito.Mockito.CALLS_REAL_METHODS;
6-
import static org.mockito.Mockito.mockStatic;
7-
8-
import io.prometheus.metrics.model.snapshots.*;
93
import io.prometheus.metrics.model.snapshots.ClassicHistogramBuckets;
104
import io.prometheus.metrics.model.snapshots.CounterSnapshot;
115
import io.prometheus.metrics.model.snapshots.CounterSnapshot.CounterDataPointSnapshot;
6+
import io.prometheus.metrics.model.snapshots.EscapingScheme;
7+
import io.prometheus.metrics.model.snapshots.Exemplar;
8+
import io.prometheus.metrics.model.snapshots.Exemplars;
9+
import io.prometheus.metrics.model.snapshots.GaugeSnapshot;
1210
import io.prometheus.metrics.model.snapshots.GaugeSnapshot.GaugeDataPointSnapshot;
11+
import io.prometheus.metrics.model.snapshots.HistogramSnapshot;
12+
import io.prometheus.metrics.model.snapshots.InfoSnapshot;
13+
import io.prometheus.metrics.model.snapshots.Labels;
14+
import io.prometheus.metrics.model.snapshots.MetricSnapshot;
15+
import io.prometheus.metrics.model.snapshots.MetricSnapshots;
16+
import io.prometheus.metrics.model.snapshots.NativeHistogramBuckets;
17+
import io.prometheus.metrics.model.snapshots.PrometheusNaming;
18+
import io.prometheus.metrics.model.snapshots.Quantiles;
19+
import io.prometheus.metrics.model.snapshots.StateSetSnapshot;
20+
import io.prometheus.metrics.model.snapshots.SummarySnapshot;
1321
import io.prometheus.metrics.model.snapshots.SummarySnapshot.SummaryDataPointSnapshot;
22+
import io.prometheus.metrics.model.snapshots.Unit;
23+
import io.prometheus.metrics.model.snapshots.UnknownSnapshot;
1424
import io.prometheus.metrics.model.snapshots.UnknownSnapshot.UnknownDataPointSnapshot;
15-
import java.io.ByteArrayOutputStream;
16-
import java.io.IOException;
17-
import java.util.concurrent.atomic.AtomicInteger;
25+
import org.junit.jupiter.api.AfterEach;
1826
import org.junit.jupiter.api.Test;
1927
import org.junit.jupiter.params.ParameterizedTest;
2028
import org.junit.jupiter.params.provider.CsvSource;
21-
import org.mockito.MockedStatic;
29+
import org.junitpioneer.jupiter.SetSystemProperty;
30+
31+
import java.io.ByteArrayOutputStream;
32+
import java.io.IOException;
33+
import java.util.concurrent.atomic.AtomicInteger;
34+
35+
import static java.nio.charset.StandardCharsets.UTF_8;
36+
import static org.assertj.core.api.Assertions.assertThat;
2237

2338
class ExpositionFormatsTest {
2439

@@ -85,6 +100,11 @@ class ExpositionFormatsTest {
85100
.timestampMillis(1690298864383L)
86101
.build();
87102

103+
@AfterEach
104+
void tearDown() {
105+
PrometheusNaming.resetForTest();
106+
}
107+
88108
@Test
89109
void init() {
90110
ExpositionFormats formats = ExpositionFormats.init();
@@ -457,42 +477,37 @@ public void testGaugeWithDots() throws IOException {
457477
assertPrometheusProtobuf(prometheusProtobuf, gauge);
458478
}
459479

480+
@SetSystemProperty(key = "io.prometheus.naming.validationScheme", value = "utf-8")
460481
@Test
461482
public void testGaugeUTF8() throws IOException {
462-
try (MockedStatic<PrometheusNaming> mock =
463-
mockStatic(PrometheusNaming.class, CALLS_REAL_METHODS)) {
464-
mock.when(PrometheusNaming::getValidationScheme)
465-
.thenReturn(ValidationScheme.UTF_8_VALIDATION);
466-
467-
String prometheusText =
468-
"""
483+
PrometheusNaming.resetForTest();
484+
String prometheusText =
485+
"""
469486
# HELP \"gauge.name\" gauge\\ndoc\\nstr\"ing
470487
# TYPE \"gauge.name\" gauge
471488
{\"gauge.name\",\"name*2\"=\"val with \\\\backslash and \\\"quotes\\\"\",\"name.1\"=\"val with\\nnew line\"} +Inf
472489
{\"gauge.name\",\"name*2\"=\"佖佥\",\"name.1\"=\"Björn\"} 3.14E42
473490
""";
474-
GaugeSnapshot gauge =
475-
GaugeSnapshot.builder()
476-
.name("gauge.name")
477-
.help("gauge\ndoc\nstr\"ing")
478-
.dataPoint(
479-
GaugeDataPointSnapshot.builder()
480-
.value(Double.POSITIVE_INFINITY)
481-
.labels(
482-
Labels.builder()
483-
.label("name.1", "val with\nnew line")
484-
.label("name*2", "val with \\backslash and \"quotes\"")
485-
.build())
486-
.build())
487-
.dataPoint(
488-
GaugeDataPointSnapshot.builder()
489-
.value(3.14e42)
490-
.labels(
491-
Labels.builder().label("name.1", "Björn").label("name*2", "佖佥").build())
492-
.build())
493-
.build();
494-
assertPrometheusText(prometheusText, gauge);
495-
}
491+
GaugeSnapshot gauge =
492+
GaugeSnapshot.builder()
493+
.name("gauge.name")
494+
.help("gauge\ndoc\nstr\"ing")
495+
.dataPoint(
496+
GaugeDataPointSnapshot.builder()
497+
.value(Double.POSITIVE_INFINITY)
498+
.labels(
499+
Labels.builder()
500+
.label("name.1", "val with\nnew line")
501+
.label("name*2", "val with \\backslash and \"quotes\"")
502+
.build())
503+
.build())
504+
.dataPoint(
505+
GaugeDataPointSnapshot.builder()
506+
.value(3.14e42)
507+
.labels(Labels.builder().label("name.1", "Björn").label("name*2", "佖佥").build())
508+
.build())
509+
.build();
510+
assertPrometheusText(prometheusText, gauge);
496511
}
497512

498513
@Test

0 commit comments

Comments
 (0)