diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 4d24a7c42..70d4c206f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -136,8 +136,3 @@ jobs: - name: Deploy GitHub Pages id: deployment uses: actions/deploy-pages@v4 - - - name: Ping latest Javadocs page - uses: jtalk/url-health-check-action@v4 - with: - url: https://javadoc.io/doc/io.github.giulong/spectrum/${{ env.NEW_VERSION }}/index.html diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/ActionsResolver.java b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/ActionsResolver.java index 98c9ac71f..5190bccd9 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/ActionsResolver.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/ActionsResolver.java @@ -1,6 +1,7 @@ package io.github.giulong.spectrum.extensions.resolvers; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.NonNull; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver; @@ -16,7 +17,7 @@ public class ActionsResolver extends TypeBasedParameterResolver { public static final String ACTIONS = "actions"; @Override - public Actions resolveParameter(final ParameterContext arg0, final ExtensionContext context) { + public Actions resolveParameter(@NonNull final ParameterContext parameterContext, final ExtensionContext context) { log.debug("Resolving {}", ACTIONS); final ExtensionContext.Store store = context.getStore(GLOBAL); diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/ConfigurationResolver.java b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/ConfigurationResolver.java index 405780efc..a3446d189 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/ConfigurationResolver.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/ConfigurationResolver.java @@ -2,6 +2,7 @@ import io.github.giulong.spectrum.utils.Configuration; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.NonNull; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver; @@ -14,8 +15,8 @@ public class ConfigurationResolver extends TypeBasedParameterResolver { + public Configuration resolveParameter(@NonNull final ParameterContext parameterContext, final ExtensionContext context) { + return context.getRoot().getStore(GLOBAL).computeIfAbsent(CONFIGURATION, e -> { log.debug("Resolving {}", CONFIGURATION); return Configuration.getInstance(); diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/DataResolver.java b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/DataResolver.java index e37925e5e..35f46cd17 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/DataResolver.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/DataResolver.java @@ -5,6 +5,7 @@ import io.github.giulong.spectrum.utils.Reflections; import io.github.giulong.spectrum.utils.YamlUtils; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.NonNull; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; import org.junit.jupiter.api.extension.ParameterResolver; @@ -21,12 +22,12 @@ public class DataResolver implements ParameterResolver { private final YamlUtils yamlUtils = YamlUtils.getInstance(); @Override - public boolean supportsParameter(final ParameterContext parameterContext, final ExtensionContext extensionContext) { + public boolean supportsParameter(final ParameterContext parameterContext, @NonNull final ExtensionContext extensionContext) { return parameterContext.getParameter().getParameterizedType().getTypeName().equals(DataResolver.class.getTypeParameters()[0].getName()); } @Override - public Data resolveParameter(final ParameterContext arg0, final ExtensionContext context) { + public Data resolveParameter(@NonNull final ParameterContext parameterContext, final ExtensionContext context) { final Type type = Reflections.getGenericSuperclassOf(context.getRequiredTestClass(), SpectrumTest.class).getActualTypeArguments()[0]; if (Void.class.equals(type)) { @@ -37,7 +38,7 @@ public Data resolveParameter(final ParameterContext arg0, final ExtensionContext @SuppressWarnings("unchecked") final Class dataClass = (Class) type; final ExtensionContext.Store rootStore = context.getRoot().getStore(GLOBAL); - return rootStore.getOrComputeIfAbsent(DATA, e -> { + return rootStore.computeIfAbsent(DATA, e -> { log.debug("Resolving {}", DATA); final Configuration.Data dataConfiguration = rootStore.get(CONFIGURATION, Configuration.class).getData(); diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/DriverResolver.java b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/DriverResolver.java index 6b5af3cfd..77d909a72 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/DriverResolver.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/DriverResolver.java @@ -10,6 +10,7 @@ import io.github.giulong.spectrum.utils.video.Video; import io.github.giulong.spectrum.utils.web_driver_events.*; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.NonNull; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver; @@ -41,7 +42,7 @@ public class DriverResolver extends TypeBasedParameterResolver { private final FileUtils fileUtils = FileUtils.getInstance(); @Override - public WebDriver resolveParameter(final ParameterContext arg0, final ExtensionContext context) { + public WebDriver resolveParameter(@NonNull final ParameterContext parameterContext, final ExtensionContext context) { log.debug("Resolving {}", DRIVER); final ExtensionContext.Store store = context.getStore(GLOBAL); diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/EventsDispatcherResolver.java b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/EventsDispatcherResolver.java index b4ba18018..f09e47dd6 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/EventsDispatcherResolver.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/EventsDispatcherResolver.java @@ -2,6 +2,7 @@ import io.github.giulong.spectrum.utils.events.EventsDispatcher; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.NonNull; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver; @@ -14,8 +15,8 @@ public class EventsDispatcherResolver extends TypeBasedParameterResolver { + public EventsDispatcher resolveParameter(@NonNull final ParameterContext parameterContext, final ExtensionContext context) { + return context.getRoot().getStore(GLOBAL).computeIfAbsent(EVENTS_DISPATCHER, e -> { log.debug("Resolving {}", EVENTS_DISPATCHER); return EventsDispatcher.getInstance(); diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/ExtentReportsResolver.java b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/ExtentReportsResolver.java index 83cc06729..0bd5d6cb8 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/ExtentReportsResolver.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/ExtentReportsResolver.java @@ -3,6 +3,7 @@ import com.aventstack.extentreports.ExtentReports; import io.github.giulong.spectrum.utils.ExtentReporter; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.NonNull; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver; @@ -17,8 +18,8 @@ public class ExtentReportsResolver extends TypeBasedParameterResolver { + public ExtentReports resolveParameter(@NonNull final ParameterContext parameterContext, final ExtensionContext context) { + return context.getRoot().getStore(GLOBAL).computeIfAbsent(EXTENT_REPORTS, e -> { log.debug("Resolving {}", EXTENT_REPORTS); return extentReporter.getExtentReports(); diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/FakerResolver.java b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/FakerResolver.java index 3f826ed4d..235aad1db 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/FakerResolver.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/FakerResolver.java @@ -3,6 +3,7 @@ import io.github.giulong.spectrum.utils.Configuration; import net.datafaker.Faker; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.NonNull; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver; @@ -16,10 +17,10 @@ public class FakerResolver extends TypeBasedParameterResolver { public static final String FAKER = "faker"; @Override - public Faker resolveParameter(final ParameterContext arg0, final ExtensionContext context) { + public Faker resolveParameter(@NonNull final ParameterContext parameterContext, final ExtensionContext context) { final ExtensionContext.Store rootStore = context.getRoot().getStore(GLOBAL); - return rootStore.getOrComputeIfAbsent(FAKER, e -> { + return rootStore.computeIfAbsent(FAKER, e -> { log.debug("Resolving {}", FAKER); final Configuration.Faker faker = rootStore.get(CONFIGURATION, Configuration.class).getFaker(); diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/JsResolver.java b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/JsResolver.java index 40c0b8fa6..1e138988b 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/JsResolver.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/JsResolver.java @@ -2,6 +2,7 @@ import io.github.giulong.spectrum.utils.js.Js; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.NonNull; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver; @@ -17,7 +18,7 @@ public class JsResolver extends TypeBasedParameterResolver { public static final String JS = "js"; @Override - public Js resolveParameter(final ParameterContext arg0, final ExtensionContext context) { + public Js resolveParameter(@NonNull final ParameterContext parameterContext, final ExtensionContext context) { log.debug("Resolving {}", JS); final ExtensionContext.Store store = context.getStore(GLOBAL); diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/JsWebElementProxyBuilderResolver.java b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/JsWebElementProxyBuilderResolver.java index c6aeb0689..9f98c2616 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/JsWebElementProxyBuilderResolver.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/JsWebElementProxyBuilderResolver.java @@ -5,6 +5,7 @@ import io.github.giulong.spectrum.utils.js.JsWebElementInvocationHandler; import io.github.giulong.spectrum.utils.js.JsWebElementProxyBuilder; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.NonNull; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver; @@ -24,7 +25,7 @@ public class JsWebElementProxyBuilderResolver extends TypeBasedParameterResolver public static final String JS_WEB_ELEMENT_PROXY_BUILDER = "jsWebElementProxyBuilder"; @Override - public JsWebElementProxyBuilder resolveParameter(final ParameterContext arg0, final ExtensionContext context) { + public JsWebElementProxyBuilder resolveParameter(@NonNull final ParameterContext parameterContext, final ExtensionContext context) { final ExtensionContext.Store rootStore = context.getRoot().getStore(GLOBAL); final ExtensionContext.Store store = context.getStore(GLOBAL); diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/StatefulExtentTestResolver.java b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/StatefulExtentTestResolver.java index 54a7358f5..ed187d32a 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/StatefulExtentTestResolver.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/StatefulExtentTestResolver.java @@ -8,6 +8,7 @@ import io.github.giulong.spectrum.utils.ExtentReporter; import io.github.giulong.spectrum.utils.video.Video; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.NonNull; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver; @@ -25,7 +26,7 @@ public class StatefulExtentTestResolver extends TypeBasedParameterResolver private final ContextManager contextManager = ContextManager.getInstance(); @Override - public TestContext resolveParameter(final ParameterContext arg0, final ExtensionContext context) { + public TestContext resolveParameter(@NonNull final ParameterContext parameterContext, @NonNull final ExtensionContext context) { log.debug("Resolving {}", TEST_CONTEXT); final TestContext testContext = contextManager.initFor(context); diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/TestDataResolver.java b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/TestDataResolver.java index 7c27df9dc..4dbe9a383 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/TestDataResolver.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/TestDataResolver.java @@ -4,6 +4,7 @@ import io.github.giulong.spectrum.utils.ContextManager; import io.github.giulong.spectrum.utils.FileUtils; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.NonNull; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; @@ -24,7 +25,7 @@ public class TestDataResolver extends TypeBasedParameterResolver { private final ContextManager contextManager = ContextManager.getInstance(); @Override - public TestData resolveParameter(final ParameterContext arg0, final ExtensionContext context) { + public TestData resolveParameter(@NonNull final ParameterContext parameterContext, final ExtensionContext context) { log.debug("Resolving {}", TEST_DATA); final Class clazz = context.getRequiredTestClass(); diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/bidi/BiDiTypeBasedParameterResolver.java b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/bidi/BiDiTypeBasedParameterResolver.java index 8b7718fc6..d1ab4226a 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/bidi/BiDiTypeBasedParameterResolver.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/extensions/resolvers/bidi/BiDiTypeBasedParameterResolver.java @@ -1,6 +1,7 @@ package io.github.giulong.spectrum.extensions.resolvers.bidi; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.NonNull; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; import org.junit.jupiter.api.extension.ParameterResolver; @@ -20,12 +21,12 @@ public abstract class BiDiTypeBasedParameterResolver implements ParameterReso abstract T resolveParameterFor(WebDriver driver); @Override - public boolean supportsParameter(final ParameterContext parameterContext, final ExtensionContext context) { + public boolean supportsParameter(final ParameterContext parameterContext, @NonNull final ExtensionContext context) { return parameterContext.getParameter().getType().equals(getType()); } @Override - public final T resolveParameter(final ParameterContext arg0, final ExtensionContext context) { + public final T resolveParameter(@NonNull final ParameterContext parameterContext, final ExtensionContext context) { final ExtensionContext.Store store = context.getStore(GLOBAL); final WebDriver driver = store.get(DRIVER, WebDriver.class); final String key = getKey(); diff --git a/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/ConfigurationResolverTest.java b/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/ConfigurationResolverTest.java index a142144bd..8acd8cad0 100644 --- a/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/ConfigurationResolverTest.java +++ b/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/ConfigurationResolverTest.java @@ -60,7 +60,7 @@ void testResolveParameter() { when(extensionContext.getRoot()).thenReturn(rootContext); when(rootContext.getStore(GLOBAL)).thenReturn(rootStore); - when(rootStore.getOrComputeIfAbsent(eq(CONFIGURATION), functionArgumentCaptor.capture(), eq(Configuration.class))).thenReturn(configuration); + when(rootStore.computeIfAbsent(eq(CONFIGURATION), functionArgumentCaptor.capture(), eq(Configuration.class))).thenReturn(configuration); final Configuration actual = configurationResolver.resolveParameter(parameterContext, extensionContext); diff --git a/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/DataResolverTest.java b/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/DataResolverTest.java index e064ff572..8bbd346da 100644 --- a/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/DataResolverTest.java +++ b/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/DataResolverTest.java @@ -112,7 +112,7 @@ void resolveParameter(final Class clazz) { dataResolver.resolveParameter(parameterContext, extensionContext); - verify(rootStore).getOrComputeIfAbsent(eq(DATA), runnableArgumentCaptor.capture(), any()); + verify(rootStore).computeIfAbsent(eq(DATA), runnableArgumentCaptor.capture(), any()); Function function = runnableArgumentCaptor.getValue(); TestYaml actual = function.apply("value"); diff --git a/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/EventsDispatcherResolverTest.java b/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/EventsDispatcherResolverTest.java index 1581618a6..e95d6ae9f 100644 --- a/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/EventsDispatcherResolverTest.java +++ b/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/EventsDispatcherResolverTest.java @@ -62,7 +62,7 @@ void testResolveParameter() { final EventsDispatcherResolver eventsDispatcherResolver = new EventsDispatcherResolver(); eventsDispatcherResolver.resolveParameter(parameterContext, extensionContext); - verify(rootStore).getOrComputeIfAbsent(eq(EVENTS_DISPATCHER), functionArgumentCaptor.capture(), eq(EventsDispatcher.class)); + verify(rootStore).computeIfAbsent(eq(EVENTS_DISPATCHER), functionArgumentCaptor.capture(), eq(EventsDispatcher.class)); Function function = functionArgumentCaptor.getValue(); final EventsDispatcher actual = function.apply("value"); diff --git a/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/ExtentReportsResolverTest.java b/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/ExtentReportsResolverTest.java index 50186add4..8ddb1875d 100644 --- a/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/ExtentReportsResolverTest.java +++ b/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/ExtentReportsResolverTest.java @@ -67,7 +67,7 @@ void resolveParameter() { extentReportsResolver.resolveParameter(parameterContext, extensionContext); - verify(rootStore).getOrComputeIfAbsent(eq(EXTENT_REPORTS), functionArgumentCaptor.capture(), eq(ExtentReports.class)); + verify(rootStore).computeIfAbsent(eq(EXTENT_REPORTS), functionArgumentCaptor.capture(), eq(ExtentReports.class)); Function function = functionArgumentCaptor.getValue(); final ExtentReports actual = function.apply("value"); diff --git a/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/FakerResolverTest.java b/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/FakerResolverTest.java index c6063f568..68e2329ff 100644 --- a/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/FakerResolverTest.java +++ b/spectrum/src/test/java/io/github/giulong/spectrum/extensions/resolvers/FakerResolverTest.java @@ -67,7 +67,7 @@ void testResolveParameter() { fakerResolver.resolveParameter(parameterContext, extensionContext); - verify(rootStore).getOrComputeIfAbsent(eq(FAKER), functionArgumentCaptor.capture(), eq(Faker.class)); + verify(rootStore).computeIfAbsent(eq(FAKER), functionArgumentCaptor.capture(), eq(Faker.class)); final Function function = functionArgumentCaptor.getValue(); final Faker actual = function.apply("value");