Browse Source

Convert lettuce-common test from groovy to java (#9430)

Jay DeLuca 1 year ago
parent
commit
1cb583ab5f

+ 0 - 28
instrumentation/lettuce/lettuce-common/library/src/test/groovy/io/opentelemetry/instrumentation/lettuce/common/LettuceArgSplitterTest.groovy

@@ -1,28 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package io.opentelemetry.instrumentation.lettuce.common
-
-import spock.lang.Specification
-import spock.lang.Unroll
-
-class LettuceArgSplitterTest extends Specification {
-  @Unroll
-  def "should properly split #desc"() {
-    expect:
-    LettuceArgSplitter.splitArgs(args) == result
-
-    where:
-    desc                     | args                                     | result
-    "a null value"           | null                                     | []
-    "an empty value"         | ""                                       | []
-    "a single key"           | "key<key>"                               | ["key"]
-    "a single value"         | "value<value>"                           | ["value"]
-    "a plain string"         | "teststring"                             | ["teststring"]
-    "an integer"             | "42"                                     | ["42"]
-    "a base64 value"         | "TeST123=="                              | ["TeST123=="]
-    "a complex list of args" | "key<key> aSDFgh4321= 5 test value<val>" | ["key", "aSDFgh4321=", "5", "test", "val"]
-  }
-}

+ 54 - 0
instrumentation/lettuce/lettuce-common/library/src/test/java/io/opentelemetry/instrumentation/lettuce/common/LettuceArgSplitterTest.java

@@ -0,0 +1,54 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package io.opentelemetry.instrumentation.lettuce.common;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Named.named;
+
+import com.google.common.collect.ImmutableList;
+import java.util.stream.Stream;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
+
+class LettuceArgSplitterTest {
+
+  @ParameterizedTest
+  @MethodSource("providesArguments")
+  void testShouldProperlySplitArguments(Parameter parameter) {
+    assertThat(LettuceArgSplitter.splitArgs(parameter.args)).isEqualTo(parameter.result);
+  }
+
+  private static Stream<Arguments> providesArguments() {
+    return Stream.of(
+        Arguments.of(named("a null value", new Parameter(null, ImmutableList.of()))),
+        Arguments.of(named("an empty value", new Parameter("", ImmutableList.of()))),
+        Arguments.of(named("a single key", new Parameter("key<key>", ImmutableList.of("key")))),
+        Arguments.of(
+            named("a single value", new Parameter("value<value>", ImmutableList.of("value")))),
+        Arguments.of(
+            named("a plain string", new Parameter("teststring", ImmutableList.of("teststring")))),
+        Arguments.of(named("an integer", new Parameter("42", ImmutableList.of("42")))),
+        Arguments.of(
+            named("a base64 value", new Parameter("TeST123==", ImmutableList.of("TeST123==")))),
+        Arguments.of(
+            named(
+                "a complex list of args",
+                new Parameter(
+                    "key<key> aSDFgh4321= 5 test value<val>",
+                    ImmutableList.of("key", "aSDFgh4321=", "5", "test", "val")))));
+  }
+
+  private static class Parameter {
+    public final String args;
+    public final ImmutableList<String> result;
+
+    public Parameter(String query, ImmutableList<String> result) {
+      this.args = query;
+      this.result = result;
+    }
+  }
+}