From 958c78e094d722fa3ea177b8ff6dc97268b7529d Mon Sep 17 00:00:00 2001 From: Viktor Sidochenko Date: Thu, 11 May 2023 00:43:43 +0600 Subject: [PATCH 1/2] Update dependencies --- pom.xml | 12 ++++++------ .../tag/qautils/cucumber/CucumberUtils.java | 18 ++++++++++-------- .../qautils/cucumber/CucumberUtilsTest.java | 5 ++--- .../ru/sbtqa/tag/qautils/i18n/I18NTest.java | 3 +-- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/pom.xml b/pom.xml index 4a25ae0..636783b 100644 --- a/pom.xml +++ b/pom.xml @@ -37,10 +37,10 @@ UTF-8 1.7 1.7 - 3.3.2 - 2.4.0 - 4.12 - 1.7.22 + 3.5 + 4.3.1 + 4.13.1 + 2.0.7 @@ -85,8 +85,8 @@ org.mockito - mockito-all - 1.9.5 + mockito-core + 5.3.1 test diff --git a/src/main/java/ru/sbtqa/tag/qautils/cucumber/CucumberUtils.java b/src/main/java/ru/sbtqa/tag/qautils/cucumber/CucumberUtils.java index 263c200..d84c3b5 100644 --- a/src/main/java/ru/sbtqa/tag/qautils/cucumber/CucumberUtils.java +++ b/src/main/java/ru/sbtqa/tag/qautils/cucumber/CucumberUtils.java @@ -2,10 +2,14 @@ import cucumber.api.Scenario; import cucumber.runtime.io.MultiLoader; -import cucumber.runtime.model.CucumberFeature; -import java.util.ArrayList; -import java.util.List; + +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.Locale; + +import gherkin.AstBuilder; +import gherkin.Parser; +import gherkin.ast.GherkinDocument; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -18,14 +22,12 @@ private CucumberUtils() { } public static Locale getLocale(Scenario scenario) { - List scenarioPaths = new ArrayList<>(); - scenarioPaths.add(scenario.getUri()); - MultiLoader multiLoader = new MultiLoader(ClassLoader.getSystemClassLoader()); String language = DEFAULT_LANGUAGE; try { - CucumberFeature cucumberFeature = CucumberFeature.load(multiLoader, scenarioPaths).get(0); - language = cucumberFeature.getGherkinFeature().getFeature().getLanguage(); + String content = new String(Files.readAllBytes(Paths.get(scenario.getUri()))); + GherkinDocument gherkinDocument = new Parser<>(new AstBuilder()).parse(content); + language = gherkinDocument.getFeature().getLanguage(); } catch (Exception e) { LOG.warn("Error while reading feature with uri {}. Using default language {} as fallback", scenario.getUri(), DEFAULT_LANGUAGE, e); } diff --git a/src/test/java/ru/sbtqa/tag/qautils/cucumber/CucumberUtilsTest.java b/src/test/java/ru/sbtqa/tag/qautils/cucumber/CucumberUtilsTest.java index 92ed582..c12c598 100644 --- a/src/test/java/ru/sbtqa/tag/qautils/cucumber/CucumberUtilsTest.java +++ b/src/test/java/ru/sbtqa/tag/qautils/cucumber/CucumberUtilsTest.java @@ -1,7 +1,6 @@ package ru.sbtqa.tag.qautils.cucumber; import cucumber.api.Scenario; -import cucumber.runtime.ScenarioImpl; import java.util.Locale; import org.junit.Assert; import org.junit.Test; @@ -12,7 +11,7 @@ public class CucumberUtilsTest { @Test public void returnCorrectLanguageLocaleTest() { - Scenario scenario = mock(ScenarioImpl.class); + Scenario scenario = mock(Scenario.class); when(scenario.getUri()).thenReturn("src/test/resources/features/Correct.feature"); Locale expectedLocale = new Locale("ru"); @@ -23,7 +22,7 @@ public void returnCorrectLanguageLocaleTest() { @Test public void fallbackToDefaultLanguageTest() { - Scenario scenario = mock(ScenarioImpl.class); + Scenario scenario = mock(Scenario.class); when(scenario.getUri()).thenReturn("src/test/resources/features/Incorrect.feature"); Locale expectedLocale = new Locale("en"); diff --git a/src/test/java/ru/sbtqa/tag/qautils/i18n/I18NTest.java b/src/test/java/ru/sbtqa/tag/qautils/i18n/I18NTest.java index 2ed66c1..471ecdd 100644 --- a/src/test/java/ru/sbtqa/tag/qautils/i18n/I18NTest.java +++ b/src/test/java/ru/sbtqa/tag/qautils/i18n/I18NTest.java @@ -1,7 +1,6 @@ package ru.sbtqa.tag.qautils.i18n; import cucumber.api.Scenario; -import cucumber.runtime.ScenarioImpl; import java.util.HashMap; import java.util.Locale; import java.util.Map; @@ -59,7 +58,7 @@ public void getI18nReverseTest() { @Test public void getI18nViaScenarioTest() { - Scenario scenario = mock(ScenarioImpl.class); + Scenario scenario = mock(Scenario.class); when(scenario.getUri()).thenReturn("src/test/resources/features/Correct.feature"); I18N i18n = I18N.getI18n(I18NTest.class, scenario); From a040b1e06ae0ecfdcf1da3e658002024197fdd7d Mon Sep 17 00:00:00 2001 From: Viktor Sidochenko Date: Thu, 11 May 2023 02:23:20 +0600 Subject: [PATCH 2/2] update to jdk 11 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c38ff44..830b934 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ addons: token: secure: $SONAR_TOKEN jdk: - - oraclejdk8 + - oraclejdk11 before_install: - if [ ! -z "$GPG_SECRET_KEYS" ]; then echo $GPG_SECRET_KEYS | base64 --decode | $GPG_EXECUTABLE --import; fi - if [ ! -z "$GPG_OWNERTRUST" ]; then echo $GPG_OWNERTRUST | base64 --decode | $GPG_EXECUTABLE --import-ownertrust; fi