Skip to content

Commit 7ed5932

Browse files
committed
fix: Fixed tests
1 parent 4e37fdd commit 7ed5932

4 files changed

Lines changed: 22 additions & 16 deletions

File tree

src/main/java/com/parseable/temporal/ParseableEmitter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
* <p>Call {@link #close()} (or let {@link ParseablePlugin#close()} do it) to flush and shut down
3434
* both providers before your JVM exits.
3535
*/
36-
public final class ParseableEmitter implements AutoCloseable {
36+
public class ParseableEmitter implements AutoCloseable {
3737

3838
static final String INSTRUMENTATION_SCOPE = "temporal-parseable";
3939

src/main/java/com/parseable/temporal/exporters/SanitizingSpanExporter.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public CompletableResultCode shutdown() {
5454
private SpanData sanitizeSpan(SpanData span) {
5555
Attributes original = span.getAttributes();
5656
AttributesBuilder builder = Attributes.builder();
57+
boolean[] changed = { false };
5758

5859
original.forEach((key, value) -> {
5960
String type = key.getType().name(); // STRING, BOOLEAN, LONG, DOUBLE, STRING_ARRAY, ...
@@ -62,43 +63,43 @@ private SpanData sanitizeSpan(SpanData span) {
6263
case "BOOLEAN":
6364
case "LONG":
6465
case "DOUBLE":
65-
// Primitive — safe to pass through
6666
putUnchecked(builder, key, value);
6767
break;
6868
case "STRING_ARRAY":
69-
// Flatten array to comma-joined string
7069
@SuppressWarnings("unchecked")
7170
List<String> strings = (List<String>) value;
7271
builder.put(key.getKey(), String.join(", ", strings));
72+
changed[0] = true;
7373
break;
7474
case "BOOLEAN_ARRAY":
7575
@SuppressWarnings("unchecked")
7676
List<Boolean> booleans = (List<Boolean>) value;
7777
builder.put(key.getKey(), joinToString(booleans));
78+
changed[0] = true;
7879
break;
7980
case "LONG_ARRAY":
8081
@SuppressWarnings("unchecked")
8182
List<Long> longs = (List<Long>) value;
8283
builder.put(key.getKey(), joinToString(longs));
84+
changed[0] = true;
8385
break;
8486
case "DOUBLE_ARRAY":
8587
@SuppressWarnings("unchecked")
8688
List<Double> doubles = (List<Double>) value;
8789
builder.put(key.getKey(), joinToString(doubles));
90+
changed[0] = true;
8891
break;
8992
default:
9093
// Unknown / map type — drop silently
94+
changed[0] = true;
9195
break;
9296
}
9397
});
9498

95-
Attributes sanitizedAttrs = builder.build();
96-
97-
// Only wrap if attributes actually changed
98-
if (sanitizedAttrs.size() == original.size()) {
99+
if (!changed[0]) {
99100
return span;
100101
}
101-
return new SanitizedSpanData(span, sanitizedAttrs);
102+
return new SanitizedSpanData(span, builder.build());
102103
}
103104

104105
@SuppressWarnings("unchecked")

src/test/java/com/parseable/temporal/ParseableInterceptorTest.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@
77
import io.temporal.activity.ActivityOptions;
88
import io.temporal.client.WorkflowClient;
99
import io.temporal.client.WorkflowOptions;
10+
import io.temporal.testing.TestEnvironmentOptions;
1011
import io.temporal.testing.TestWorkflowEnvironment;
1112
import io.temporal.worker.Worker;
12-
import io.temporal.worker.WorkerOptions;
13+
import io.temporal.worker.WorkerFactoryOptions;
1314
import io.temporal.workflow.Workflow;
1415
import io.temporal.workflow.WorkflowInterface;
1516
import io.temporal.workflow.WorkflowMethod;
@@ -43,15 +44,16 @@ class ParseableInterceptorTest {
4344

4445
@BeforeEach
4546
void setUp() {
46-
testEnv = TestWorkflowEnvironment.newInstance();
47-
client = testEnv.getWorkflowClient();
4847
spy = new SpyEmitter();
49-
50-
Worker worker = testEnv.newWorker(
51-
"test-queue",
52-
WorkerOptions.newBuilder()
53-
.setInterceptors(new ParseableWorkerInterceptor(spy))
48+
testEnv = TestWorkflowEnvironment.newInstance(
49+
TestEnvironmentOptions.newBuilder()
50+
.setWorkerFactoryOptions(WorkerFactoryOptions.newBuilder()
51+
.setWorkerInterceptors(new ParseableWorkerInterceptor(spy))
52+
.build())
5453
.build());
54+
client = testEnv.getWorkflowClient();
55+
56+
Worker worker = testEnv.newWorker("test-queue");
5557
worker.registerWorkflowImplementationTypes(HelloWorkflowImpl.class);
5658
worker.registerActivitiesImplementations(new HelloActivitiesImpl());
5759
testEnv.start();

src/test/java/com/parseable/temporal/SanitizingSpanExporterTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,9 @@ static class StubSpanData implements SpanData {
136136
@Override public InstrumentationScopeInfo getInstrumentationScopeInfo() {
137137
return InstrumentationScopeInfo.create("test");
138138
}
139+
@Override public io.opentelemetry.sdk.common.InstrumentationLibraryInfo getInstrumentationLibraryInfo() {
140+
return io.opentelemetry.sdk.common.InstrumentationLibraryInfo.create("test", null);
141+
}
139142
@Override public Resource getResource() { return Resource.empty(); }
140143
}
141144
}

0 commit comments

Comments
 (0)