Skip to content

Commit 891d28d

Browse files
committed
Parameterize testFindWriter
Signed-off-by: Federico Torres <[email protected]>
1 parent 7204288 commit 891d28d

File tree

1 file changed

+12
-41
lines changed

1 file changed

+12
-41
lines changed

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

Lines changed: 12 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import java.util.concurrent.atomic.AtomicInteger;
2020

2121
import org.junit.jupiter.api.Test;
22+
import org.junit.jupiter.params.ParameterizedTest;
23+
import org.junit.jupiter.params.provider.CsvSource;
2224
import org.mockito.MockedStatic;
2325

2426
class ExpositionFormatsTest {
@@ -2766,51 +2768,20 @@ public void testLabelValueEscape() throws IOException {
27662768
assertPrometheusText(prometheus, counter);
27672769
}
27682770

2769-
@Test
2770-
public void testFindWriter() {
2771+
@ParameterizedTest
2772+
@CsvSource({
2773+
"'application/vnd.google.protobuf;proto=io.prometheus.client.MetricFamily;encoding=delimited', 'application/vnd.google.protobuf; proto=io.prometheus.client.MetricFamily; encoding=delimited; escaping=values'",
2774+
"'text/plain;version=0.0.4', 'text/plain; version=0.0.4; charset=utf-8; escaping=values'",
2775+
"'application/vnd.google.protobuf;proto=io.prometheus.client.MetricFamily;encoding=delimited; escaping=allow-utf-8', 'application/vnd.google.protobuf; proto=io.prometheus.client.MetricFamily; encoding=delimited; escaping=allow-utf-8'",
2776+
"'application/openmetrics-text', 'application/openmetrics-text; version=1.0.0; charset=utf-8; escaping=values'",
2777+
"'application/openmetrics-text;version=0.0.1; escaping=underscores', 'application/openmetrics-text; version=1.0.0; charset=utf-8; escaping=underscores'",
2778+
"'text/plain;version=0.0.4; escaping=allow-utf-8', 'text/plain; version=0.0.4; charset=utf-8; escaping=allow-utf-8'"
2779+
})
2780+
public void testFindWriter(String acceptHeaderValue, String expectedFmt) {
27712781
ExpositionFormats expositionFormats = ExpositionFormats.init();
2772-
2773-
// delimited format - should use default escaping scheme
2774-
String acceptHeaderValue = "application/vnd.google.protobuf;proto=io.prometheus.client.MetricFamily;encoding=delimited";
2775-
String expectedFmt = "application/vnd.google.protobuf; proto=io.prometheus.client.MetricFamily; encoding=delimited; escaping=values";
27762782
EscapingScheme escapingScheme = EscapingScheme.fromAcceptHeader(acceptHeaderValue);
27772783
ExpositionFormatWriter writer = expositionFormats.findWriter(acceptHeaderValue);
27782784
assertThat(writer.getContentType() + escapingScheme.toHeaderFormat()).hasToString(expectedFmt);
2779-
2780-
// plain text format - should use default escaping scheme
2781-
acceptHeaderValue = "text/plain;version=0.0.4";
2782-
expectedFmt = "text/plain; version=0.0.4; charset=utf-8; escaping=values";
2783-
escapingScheme = EscapingScheme.fromAcceptHeader(acceptHeaderValue);
2784-
writer = expositionFormats.findWriter(acceptHeaderValue);
2785-
assertThat(writer.getContentType() + escapingScheme.toHeaderFormat()).hasToString(expectedFmt);
2786-
2787-
// delimited format UTF-8 - explicit escaping parameter
2788-
acceptHeaderValue = "application/vnd.google.protobuf;proto=io.prometheus.client.MetricFamily;encoding=delimited; escaping=allow-utf-8";
2789-
expectedFmt = "application/vnd.google.protobuf; proto=io.prometheus.client.MetricFamily; encoding=delimited; escaping=allow-utf-8";
2790-
escapingScheme = EscapingScheme.fromAcceptHeader(acceptHeaderValue);
2791-
writer = expositionFormats.findWriter(acceptHeaderValue);
2792-
assertThat(writer.getContentType() + escapingScheme.toHeaderFormat()).hasToString(expectedFmt);
2793-
2794-
// OM format, no version - should use default escaping scheme
2795-
acceptHeaderValue = "application/openmetrics-text";
2796-
expectedFmt = "application/openmetrics-text; version=1.0.0; charset=utf-8; escaping=values";
2797-
escapingScheme = EscapingScheme.fromAcceptHeader(acceptHeaderValue);
2798-
writer = expositionFormats.findWriter(acceptHeaderValue);
2799-
assertThat(writer.getContentType() + escapingScheme.toHeaderFormat()).hasToString(expectedFmt);
2800-
2801-
// OM format, 0.0.1 version - explicit escaping parameter
2802-
acceptHeaderValue = "application/openmetrics-text;version=0.0.1; escaping=underscores";
2803-
expectedFmt = "application/openmetrics-text; version=1.0.0; charset=utf-8; escaping=underscores";
2804-
escapingScheme = EscapingScheme.fromAcceptHeader(acceptHeaderValue);
2805-
writer = expositionFormats.findWriter(acceptHeaderValue);
2806-
assertThat(writer.getContentType() + escapingScheme.toHeaderFormat()).hasToString(expectedFmt);
2807-
2808-
// plain text format UTF-8 - explicit escaping parameter
2809-
acceptHeaderValue = "text/plain;version=0.0.4; escaping=allow-utf-8";
2810-
expectedFmt = "text/plain; version=0.0.4; charset=utf-8; escaping=allow-utf-8";
2811-
escapingScheme = EscapingScheme.fromAcceptHeader(acceptHeaderValue);
2812-
writer = expositionFormats.findWriter(acceptHeaderValue);
2813-
assertThat(writer.getContentType() + escapingScheme.toHeaderFormat()).hasToString(expectedFmt);
28142785
}
28152786

28162787
@Test

0 commit comments

Comments
 (0)