diff --git a/sentry-spring-7/src/main/java/io/sentry/spring7/cache/SentryCacheWrapper.java b/sentry-spring-7/src/main/java/io/sentry/spring7/cache/SentryCacheWrapper.java index 1d881afaf7..07b57e2492 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring7/cache/SentryCacheWrapper.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/cache/SentryCacheWrapper.java @@ -66,9 +66,8 @@ public SentryCacheWrapper(final @NotNull Cache delegate, final @NotNull IScopes return delegate.get(key, type); } try { - final ValueWrapper wrapper = delegate.get(key); - span.setData(SpanDataConvention.CACHE_HIT, wrapper != null); final T result = delegate.get(key, type); + span.setData(SpanDataConvention.CACHE_HIT, result != null); span.setStatus(SpanStatus.OK); return result; } catch (Throwable e) { diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring7/cache/SentryCacheWrapperTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/cache/SentryCacheWrapperTest.kt index 8d38e93c4e..33b4497095 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring7/cache/SentryCacheWrapperTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/cache/SentryCacheWrapperTest.kt @@ -86,8 +86,6 @@ class SentryCacheWrapperTest { fun `get with type creates span with cache hit true on hit`() { val tx = createTransaction() val wrapper = SentryCacheWrapper(delegate, scopes) - val valueWrapper = mock() - whenever(delegate.get("myKey")).thenReturn(valueWrapper) whenever(delegate.get("myKey", String::class.java)).thenReturn("value") val result = wrapper.get("myKey", String::class.java) @@ -97,26 +95,10 @@ class SentryCacheWrapperTest { assertEquals(true, tx.spans.first().getData(SpanDataConvention.CACHE_HIT)) } - @Test - fun `get with type creates span with cache hit true when cached value is null`() { - val tx = createTransaction() - val wrapper = SentryCacheWrapper(delegate, scopes) - val valueWrapper = mock() - whenever(delegate.get("myKey")).thenReturn(valueWrapper) - whenever(delegate.get("myKey", String::class.java)).thenReturn(null) - - val result = wrapper.get("myKey", String::class.java) - - assertNull(result) - assertEquals(1, tx.spans.size) - assertEquals(true, tx.spans.first().getData(SpanDataConvention.CACHE_HIT)) - } - @Test fun `get with type creates span with cache hit false on miss`() { val tx = createTransaction() val wrapper = SentryCacheWrapper(delegate, scopes) - whenever(delegate.get("myKey")).thenReturn(null) whenever(delegate.get("myKey", String::class.java)).thenReturn(null) val result = wrapper.get("myKey", String::class.java) @@ -131,7 +113,6 @@ class SentryCacheWrapperTest { val tx = createTransaction() val wrapper = SentryCacheWrapper(delegate, scopes) val exception = RuntimeException("cache error") - whenever(delegate.get("myKey")).thenReturn(mock()) whenever(delegate.get("myKey", String::class.java)).thenThrow(exception) assertFailsWith { wrapper.get("myKey", String::class.java) } diff --git a/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/cache/SentryCacheWrapper.java b/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/cache/SentryCacheWrapper.java index 961d08f042..47b60c3ff6 100644 --- a/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/cache/SentryCacheWrapper.java +++ b/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/cache/SentryCacheWrapper.java @@ -66,9 +66,8 @@ public SentryCacheWrapper(final @NotNull Cache delegate, final @NotNull IScopes return delegate.get(key, type); } try { - final ValueWrapper wrapper = delegate.get(key); - span.setData(SpanDataConvention.CACHE_HIT, wrapper != null); final T result = delegate.get(key, type); + span.setData(SpanDataConvention.CACHE_HIT, result != null); span.setStatus(SpanStatus.OK); return result; } catch (Throwable e) { diff --git a/sentry-spring-jakarta/src/test/kotlin/io/sentry/spring/jakarta/cache/SentryCacheWrapperTest.kt b/sentry-spring-jakarta/src/test/kotlin/io/sentry/spring/jakarta/cache/SentryCacheWrapperTest.kt index fae2e9dce5..869308ec65 100644 --- a/sentry-spring-jakarta/src/test/kotlin/io/sentry/spring/jakarta/cache/SentryCacheWrapperTest.kt +++ b/sentry-spring-jakarta/src/test/kotlin/io/sentry/spring/jakarta/cache/SentryCacheWrapperTest.kt @@ -86,8 +86,6 @@ class SentryCacheWrapperTest { fun `get with type creates span with cache hit true on hit`() { val tx = createTransaction() val wrapper = SentryCacheWrapper(delegate, scopes) - val valueWrapper = mock() - whenever(delegate.get("myKey")).thenReturn(valueWrapper) whenever(delegate.get("myKey", String::class.java)).thenReturn("value") val result = wrapper.get("myKey", String::class.java) @@ -97,26 +95,10 @@ class SentryCacheWrapperTest { assertEquals(true, tx.spans.first().getData(SpanDataConvention.CACHE_HIT)) } - @Test - fun `get with type creates span with cache hit true when cached value is null`() { - val tx = createTransaction() - val wrapper = SentryCacheWrapper(delegate, scopes) - val valueWrapper = mock() - whenever(delegate.get("myKey")).thenReturn(valueWrapper) - whenever(delegate.get("myKey", String::class.java)).thenReturn(null) - - val result = wrapper.get("myKey", String::class.java) - - assertNull(result) - assertEquals(1, tx.spans.size) - assertEquals(true, tx.spans.first().getData(SpanDataConvention.CACHE_HIT)) - } - @Test fun `get with type creates span with cache hit false on miss`() { val tx = createTransaction() val wrapper = SentryCacheWrapper(delegate, scopes) - whenever(delegate.get("myKey")).thenReturn(null) whenever(delegate.get("myKey", String::class.java)).thenReturn(null) val result = wrapper.get("myKey", String::class.java) @@ -131,7 +113,6 @@ class SentryCacheWrapperTest { val tx = createTransaction() val wrapper = SentryCacheWrapper(delegate, scopes) val exception = RuntimeException("cache error") - whenever(delegate.get("myKey")).thenReturn(mock()) whenever(delegate.get("myKey", String::class.java)).thenThrow(exception) assertFailsWith { wrapper.get("myKey", String::class.java) } diff --git a/sentry-spring/src/main/java/io/sentry/spring/cache/SentryCacheWrapper.java b/sentry-spring/src/main/java/io/sentry/spring/cache/SentryCacheWrapper.java index ab8692afc3..8860d20506 100644 --- a/sentry-spring/src/main/java/io/sentry/spring/cache/SentryCacheWrapper.java +++ b/sentry-spring/src/main/java/io/sentry/spring/cache/SentryCacheWrapper.java @@ -64,9 +64,8 @@ public SentryCacheWrapper(final @NotNull Cache delegate, final @NotNull IScopes return delegate.get(key, type); } try { - final ValueWrapper wrapper = delegate.get(key); - span.setData(SpanDataConvention.CACHE_HIT, wrapper != null); final T result = delegate.get(key, type); + span.setData(SpanDataConvention.CACHE_HIT, result != null); span.setStatus(SpanStatus.OK); return result; } catch (Throwable e) { diff --git a/sentry-spring/src/test/kotlin/io/sentry/spring/cache/SentryCacheWrapperTest.kt b/sentry-spring/src/test/kotlin/io/sentry/spring/cache/SentryCacheWrapperTest.kt index 4f40886c41..405f266cdd 100644 --- a/sentry-spring/src/test/kotlin/io/sentry/spring/cache/SentryCacheWrapperTest.kt +++ b/sentry-spring/src/test/kotlin/io/sentry/spring/cache/SentryCacheWrapperTest.kt @@ -84,8 +84,6 @@ class SentryCacheWrapperTest { fun `get with type creates span with cache hit true on hit`() { val tx = createTransaction() val wrapper = SentryCacheWrapper(delegate, scopes) - val valueWrapper = mock() - whenever(delegate.get("myKey")).thenReturn(valueWrapper) whenever(delegate.get("myKey", String::class.java)).thenReturn("value") val result = wrapper.get("myKey", String::class.java) @@ -95,26 +93,10 @@ class SentryCacheWrapperTest { assertEquals(true, tx.spans.first().getData(SpanDataConvention.CACHE_HIT)) } - @Test - fun `get with type creates span with cache hit true when cached value is null`() { - val tx = createTransaction() - val wrapper = SentryCacheWrapper(delegate, scopes) - val valueWrapper = mock() - whenever(delegate.get("myKey")).thenReturn(valueWrapper) - whenever(delegate.get("myKey", String::class.java)).thenReturn(null) - - val result = wrapper.get("myKey", String::class.java) - - assertNull(result) - assertEquals(1, tx.spans.size) - assertEquals(true, tx.spans.first().getData(SpanDataConvention.CACHE_HIT)) - } - @Test fun `get with type creates span with cache hit false on miss`() { val tx = createTransaction() val wrapper = SentryCacheWrapper(delegate, scopes) - whenever(delegate.get("myKey")).thenReturn(null) whenever(delegate.get("myKey", String::class.java)).thenReturn(null) val result = wrapper.get("myKey", String::class.java) @@ -129,7 +111,6 @@ class SentryCacheWrapperTest { val tx = createTransaction() val wrapper = SentryCacheWrapper(delegate, scopes) val exception = RuntimeException("cache error") - whenever(delegate.get("myKey")).thenReturn(mock()) whenever(delegate.get("myKey", String::class.java)).thenThrow(exception) assertFailsWith { wrapper.get("myKey", String::class.java) }