From f90955ecde86b09bc71e06668aa7116eb57d8d8b Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Wed, 17 Jan 2024 11:06:17 +0000 Subject: [PATCH 001/139] update release.yml --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c2167b9d7..1f8821c29 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,5 @@ name: Release +run-name: Release ${{ inputs.releaseVersion }} (next ${{ inputs.nextVersion }}) by ${{ github.actor }} on: workflow_dispatch: From 51dc4b96c40c94508e3cbe30450fc36f13d7cc1b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:27:55 +0000 Subject: [PATCH 002/139] bump org.mockito:mockito-core from 5.3.0 to 5.10.0 (via #993) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 951c24723..4d6d8249d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -164,7 +164,7 @@ configure(libs) { dependency("org.hamcrest:hamcrest:2.2") dependency("org.jboss.resteasy:resteasy-client:6.2.1.Final") dependency("org.mock-server:mockserver-netty:5.15.0") - dependency("org.mockito:mockito-core:5.3.0") + dependency("org.mockito:mockito-core:5.10.0") dependency("org.slf4j:slf4j-api:${orgSlf4jVersion}") dependency("org.slf4j:slf4j-nop:${orgSlf4jVersion}") dependency("org.slf4j:slf4j-simple:${orgSlf4jVersion}") From 706f73dd53a7fd353a59e177082eff9e021bb159 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Mon, 29 Jan 2024 18:31:30 +0000 Subject: [PATCH 003/139] happy new year --- .../src/main/java/io/qameta/allure/assertj/AllureAspectJ.java | 2 +- .../test/java/io/qameta/allure/assertj/AllureAspectJTest.java | 2 +- .../java/io/qameta/allure/attachment/AttachmentContent.java | 2 +- .../main/java/io/qameta/allure/attachment/AttachmentData.java | 2 +- .../java/io/qameta/allure/attachment/AttachmentProcessor.java | 2 +- .../qameta/allure/attachment/AttachmentRenderException.java | 2 +- .../java/io/qameta/allure/attachment/AttachmentRenderer.java | 2 +- .../io/qameta/allure/attachment/DefaultAttachmentContent.java | 2 +- .../qameta/allure/attachment/DefaultAttachmentProcessor.java | 2 +- .../allure/attachment/FreemarkerAttachmentRenderer.java | 2 +- .../qameta/allure/attachment/http/HttpRequestAttachment.java | 2 +- .../qameta/allure/attachment/http/HttpResponseAttachment.java | 2 +- .../allure/attachment/DefaultAttachmentProcessorTest.java | 2 +- .../allure/attachment/FreemarkerAttachmentRendererTest.java | 2 +- .../attachment/NegativeFreemarkerAttachmentRendererTest.java | 2 +- .../java/io/qameta/allure/attachment/testdata/TestData.java | 2 +- .../io/qameta/allure/awaitility/AllureAwaitilityListener.java | 2 +- .../java/io/qameta/allure/awaitility/TemporalDuration.java | 2 +- .../allure/awaitility/ConditionListenersPositiveTest.java | 2 +- .../qameta/allure/awaitility/GlobalSettingsNegativeTest.java | 2 +- .../qameta/allure/awaitility/GlobalSettingsPositiveTest.java | 2 +- .../src/main/java/io/qameta/allure/citrus/AllureCitrus.java | 2 +- .../test/java/io/qameta/allure/citrus/AllureCitrusTest.java | 2 +- .../cucumber/runtime/formatter/TestSourcesModelProxy.java | 2 +- .../io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java | 2 +- .../main/java/io/qameta/allure/cucumber4jvm/LabelBuilder.java | 2 +- .../main/java/io/qameta/allure/cucumber4jvm/TagParser.java | 2 +- .../io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java | 2 +- .../io/qameta/allure/cucumber4jvm/samples/AmbigiousSteps.java | 2 +- .../qameta/allure/cucumber4jvm/samples/AttachmentSteps.java | 2 +- .../allure/cucumber4jvm/samples/BackgroundFeatureSteps.java | 2 +- .../allure/cucumber4jvm/samples/BrokenFeatureSteps.java | 2 +- .../allure/cucumber4jvm/samples/DatatableFeatureSteps.java | 2 +- .../java/io/qameta/allure/cucumber4jvm/samples/HookSteps.java | 2 +- .../io/qameta/allure/cucumber4jvm/samples/PendingSteps.java | 2 +- .../allure/cucumber4jvm/samples/SimpleFeatureSteps.java | 2 +- .../io/qameta/allure/cucumber5jvm/AllureCucumber5Jvm.java | 2 +- .../main/java/io/qameta/allure/cucumber5jvm/LabelBuilder.java | 2 +- .../main/java/io/qameta/allure/cucumber5jvm/TagParser.java | 2 +- .../allure/cucumber5jvm/testsourcemodel/TestSourcesModel.java | 2 +- .../cucumber5jvm/testsourcemodel/TestSourcesModelProxy.java | 2 +- .../io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java | 2 +- .../io/qameta/allure/cucumber5jvm/samples/AmbigiousSteps.java | 2 +- .../qameta/allure/cucumber5jvm/samples/AttachmentSteps.java | 2 +- .../allure/cucumber5jvm/samples/BackgroundFeatureSteps.java | 2 +- .../allure/cucumber5jvm/samples/BrokenFeatureSteps.java | 2 +- .../allure/cucumber5jvm/samples/DatatableFeatureSteps.java | 2 +- .../java/io/qameta/allure/cucumber5jvm/samples/HookSteps.java | 2 +- .../io/qameta/allure/cucumber5jvm/samples/PendingSteps.java | 2 +- .../allure/cucumber5jvm/samples/SimpleFeatureSteps.java | 2 +- .../io/qameta/allure/cucumber6jvm/AllureCucumber6Jvm.java | 2 +- .../main/java/io/qameta/allure/cucumber6jvm/LabelBuilder.java | 2 +- .../main/java/io/qameta/allure/cucumber6jvm/TagParser.java | 2 +- .../allure/cucumber6jvm/testsourcemodel/TestSourcesModel.java | 2 +- .../cucumber6jvm/testsourcemodel/TestSourcesModelProxy.java | 2 +- .../io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java | 2 +- .../io/qameta/allure/cucumber6jvm/samples/AmbigiousSteps.java | 2 +- .../qameta/allure/cucumber6jvm/samples/AttachmentSteps.java | 2 +- .../allure/cucumber6jvm/samples/BackgroundFeatureSteps.java | 2 +- .../allure/cucumber6jvm/samples/BrokenFeatureSteps.java | 2 +- .../allure/cucumber6jvm/samples/DatatableFeatureSteps.java | 2 +- .../java/io/qameta/allure/cucumber6jvm/samples/HookSteps.java | 2 +- .../io/qameta/allure/cucumber6jvm/samples/PendingSteps.java | 2 +- .../allure/cucumber6jvm/samples/SimpleFeatureSteps.java | 2 +- .../io/qameta/allure/cucumber7jvm/AllureCucumber7Jvm.java | 2 +- .../main/java/io/qameta/allure/cucumber7jvm/LabelBuilder.java | 2 +- .../main/java/io/qameta/allure/cucumber7jvm/TagParser.java | 2 +- .../allure/cucumber7jvm/testsourcemodel/TestSourcesModel.java | 2 +- .../cucumber7jvm/testsourcemodel/TestSourcesModelProxy.java | 2 +- .../io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java | 2 +- .../io/qameta/allure/cucumber7jvm/samples/AmbigiousSteps.java | 2 +- .../qameta/allure/cucumber7jvm/samples/AttachmentSteps.java | 2 +- .../allure/cucumber7jvm/samples/BackgroundFeatureSteps.java | 2 +- .../allure/cucumber7jvm/samples/BrokenFeatureSteps.java | 2 +- .../allure/cucumber7jvm/samples/DatatableFeatureSteps.java | 2 +- .../java/io/qameta/allure/cucumber7jvm/samples/HookSteps.java | 2 +- .../io/qameta/allure/cucumber7jvm/samples/PendingSteps.java | 2 +- .../allure/cucumber7jvm/samples/SimpleFeatureSteps.java | 2 +- .../main/java/io/qameta/allure/description/ClassNames.java | 2 +- .../allure/description/JavaDocDescriptionsProcessor.java | 2 +- .../io/qameta/allure/description/ProcessDescriptionsTest.java | 2 +- .../src/main/java/io/qameta/allure/grpc/AllureGrpc.java | 2 +- .../java/io/qameta/allure/grpc/GrpcRequestAttachment.java | 2 +- .../java/io/qameta/allure/grpc/GrpcResponseAttachment.java | 2 +- .../src/test/java/io/qameta/allure/grpc/AllureGrpcTest.java | 2 +- .../java/io/qameta/allure/hamcrest/AllureHamcrestAssert.java | 2 +- .../AllureHamcrestAssertionNameContainsReasonTest.java | 2 +- .../hamcrest/AllureHamcrestCollectionsMatchersTest.java | 2 +- .../allure/hamcrest/AllureHamcrestLogicalMatchersTest.java | 2 +- .../allure/hamcrest/AllureHamcrestNumberMatchersTest.java | 2 +- .../allure/hamcrest/AllureHamcrestObjectMatchersTest.java | 2 +- .../allure/hamcrest/AllureHamcrestTextMatchersTest.java | 2 +- .../io/qameta/allure/httpclient/AllureHttpClientRequest.java | 2 +- .../io/qameta/allure/httpclient/AllureHttpClientResponse.java | 2 +- .../io/qameta/allure/httpclient/AllureHttpClientTest.java | 2 +- .../qameta/allure/httpclient5/AllureHttpClient5Request.java | 2 +- .../qameta/allure/httpclient5/AllureHttpClient5Response.java | 2 +- .../io/qameta/allure/httpclient5/AllureHttpEntityUtils.java | 2 +- .../allure/httpclient5/AllureHttpClient5DeleteTest.java | 2 +- .../qameta/allure/httpclient5/AllureHttpClient5GetTest.java | 2 +- .../qameta/allure/httpclient5/AllureHttpClient5PostTest.java | 2 +- .../src/main/java/io/qameta/allure/test/AllureFeatures.java | 2 +- .../src/main/java/io/qameta/allure/test/AllurePredicates.java | 2 +- .../src/main/java/io/qameta/allure/test/AllureResults.java | 2 +- .../java/io/qameta/allure/test/AllureResultsWriterStub.java | 2 +- .../java/io/qameta/allure/test/AllureTestCommonsUtils.java | 2 +- .../src/main/java/io/qameta/allure/test/RunUtils.java | 2 +- .../src/main/java/io/qameta/allure/test/TestData.java | 2 +- .../java/io/qameta/allure/test/ThreadLocalEnhancedRandom.java | 2 +- .../src/main/java/io/qameta/allure/Allure.java | 2 +- .../src/main/java/io/qameta/allure/AllureConstants.java | 2 +- .../src/main/java/io/qameta/allure/AllureId.java | 2 +- .../src/main/java/io/qameta/allure/AllureLifecycle.java | 2 +- .../java/io/qameta/allure/AllureResultsWriteException.java | 2 +- .../src/main/java/io/qameta/allure/AllureResultsWriter.java | 2 +- .../src/main/java/io/qameta/allure/Attachment.java | 2 +- .../src/main/java/io/qameta/allure/Description.java | 2 +- allure-java-commons/src/main/java/io/qameta/allure/Epic.java | 2 +- allure-java-commons/src/main/java/io/qameta/allure/Epics.java | 2 +- .../src/main/java/io/qameta/allure/Feature.java | 2 +- .../src/main/java/io/qameta/allure/Features.java | 2 +- .../main/java/io/qameta/allure/FileSystemResultsWriter.java | 2 +- allure-java-commons/src/main/java/io/qameta/allure/Flaky.java | 2 +- allure-java-commons/src/main/java/io/qameta/allure/Issue.java | 2 +- .../src/main/java/io/qameta/allure/Issues.java | 2 +- .../src/main/java/io/qameta/allure/LabelAnnotation.java | 2 +- .../src/main/java/io/qameta/allure/LabelAnnotations.java | 2 +- allure-java-commons/src/main/java/io/qameta/allure/Lead.java | 2 +- allure-java-commons/src/main/java/io/qameta/allure/Link.java | 2 +- .../src/main/java/io/qameta/allure/LinkAnnotation.java | 2 +- .../src/main/java/io/qameta/allure/LinkAnnotations.java | 2 +- allure-java-commons/src/main/java/io/qameta/allure/Links.java | 2 +- allure-java-commons/src/main/java/io/qameta/allure/Muted.java | 2 +- allure-java-commons/src/main/java/io/qameta/allure/Owner.java | 2 +- allure-java-commons/src/main/java/io/qameta/allure/Param.java | 2 +- .../src/main/java/io/qameta/allure/Severity.java | 2 +- .../src/main/java/io/qameta/allure/SeverityLevel.java | 2 +- allure-java-commons/src/main/java/io/qameta/allure/Step.java | 2 +- .../src/main/java/io/qameta/allure/Stories.java | 2 +- allure-java-commons/src/main/java/io/qameta/allure/Story.java | 2 +- .../src/main/java/io/qameta/allure/TmsLink.java | 2 +- .../src/main/java/io/qameta/allure/TmsLinks.java | 2 +- .../java/io/qameta/allure/aspects/AttachmentsAspects.java | 2 +- .../src/main/java/io/qameta/allure/aspects/StepsAspects.java | 2 +- .../java/io/qameta/allure/internal/Allure2ModelJackson.java | 2 +- .../main/java/io/qameta/allure/internal/AllureStorage.java | 2 +- .../java/io/qameta/allure/internal/AllureThreadContext.java | 2 +- .../io/qameta/allure/listener/ContainerLifecycleListener.java | 2 +- .../io/qameta/allure/listener/FixtureLifecycleListener.java | 2 +- .../java/io/qameta/allure/listener/LifecycleListener.java | 2 +- .../java/io/qameta/allure/listener/LifecycleNotifier.java | 2 +- .../java/io/qameta/allure/listener/StepLifecycleListener.java | 2 +- .../java/io/qameta/allure/listener/TestLifecycleListener.java | 2 +- .../src/main/java/io/qameta/allure/util/AnnotationUtils.java | 2 +- .../src/main/java/io/qameta/allure/util/AspectUtils.java | 2 +- .../src/main/java/io/qameta/allure/util/ExceptionUtils.java | 2 +- .../src/main/java/io/qameta/allure/util/NamingUtils.java | 2 +- .../src/main/java/io/qameta/allure/util/ObjectUtils.java | 2 +- .../src/main/java/io/qameta/allure/util/ParameterUtils.java | 2 +- .../src/main/java/io/qameta/allure/util/PropertiesUtils.java | 2 +- .../src/main/java/io/qameta/allure/util/ResultsUtils.java | 2 +- .../main/java/io/qameta/allure/util/ServiceLoaderUtils.java | 2 +- .../src/test/java/io/qameta/allure/AllureLifecycleTest.java | 2 +- .../src/test/java/io/qameta/allure/AllureTest.java | 2 +- .../java/io/qameta/allure/FileSystemResultsWriterTest.java | 2 +- .../src/test/java/io/qameta/allure/ResultsUtilsTest.java | 2 +- .../test/java/io/qameta/allure/StepLifecycleListenerTest.java | 2 +- .../test/java/io/qameta/allure/aspects/StepsAspectsTest.java | 2 +- .../io/qameta/allure/internal/AllureThreadContextTest.java | 2 +- .../src/test/java/io/qameta/allure/testdata/DummyCard.java | 2 +- .../src/test/java/io/qameta/allure/testdata/DummyEmail.java | 2 +- .../src/test/java/io/qameta/allure/testdata/DummyUser.java | 2 +- .../test/java/io/qameta/allure/util/AnnotationUtilsTest.java | 2 +- .../src/test/java/io/qameta/allure/util/NamingUtilsTest.java | 2 +- .../src/test/java/io/qameta/allure/util/ObjectUtilsTest.java | 2 +- .../java/io/qameta/allure/aspects/Allure1Annotations.java | 2 +- .../java/io/qameta/allure/aspects/Allure1AttachAspects.java | 2 +- .../io/qameta/allure/aspects/Allure1ParametersAspects.java | 2 +- .../java/io/qameta/allure/aspects/Allure1StepsAspects.java | 2 +- .../java/io/qameta/allure/aspects/Allure1TestCaseAspects.java | 2 +- .../src/main/java/io/qameta/allure/aspects/Allure1Utils.java | 2 +- .../java/ru/yandex/qatools/allure/annotations/Attachment.java | 2 +- .../ru/yandex/qatools/allure/annotations/Description.java | 2 +- .../java/ru/yandex/qatools/allure/annotations/Features.java | 2 +- .../main/java/ru/yandex/qatools/allure/annotations/Issue.java | 2 +- .../java/ru/yandex/qatools/allure/annotations/Issues.java | 2 +- .../java/ru/yandex/qatools/allure/annotations/Parameter.java | 2 +- .../java/ru/yandex/qatools/allure/annotations/Severity.java | 2 +- .../main/java/ru/yandex/qatools/allure/annotations/Step.java | 2 +- .../java/ru/yandex/qatools/allure/annotations/Stories.java | 2 +- .../java/ru/yandex/qatools/allure/annotations/TestCaseId.java | 2 +- .../main/java/ru/yandex/qatools/allure/annotations/Title.java | 2 +- .../java/ru/yandex/qatools/allure/model/DescriptionType.java | 2 +- .../java/ru/yandex/qatools/allure/model/SeverityLevel.java | 2 +- .../io/qameta/allure/aspects/Allure1AttachAspectsTest.java | 2 +- .../io/qameta/allure/aspects/Allure1StepsAspectsTest.java | 2 +- .../io/qameta/allure/aspects/Allure1TestCaseAspectsTest.java | 2 +- .../src/main/java/io/qameta/allure/jaxrs/AllureJaxRs.java | 2 +- .../java/io/qameta/allure/httpclient/AllureJaxRsTest.java | 2 +- .../src/main/java/io/qameta/allure/jbehave/AllureJbehave.java | 2 +- .../test/java/io/qameta/allure/jbehave/AllureJbehaveTest.java | 2 +- .../test/java/io/qameta/allure/jbehave/LoggingReporter.java | 2 +- .../io/qameta/allure/jbehave/samples/BrokenStorySteps.java | 2 +- .../io/qameta/allure/jbehave/samples/SimpleStorySteps.java | 2 +- .../main/java/io/qameta/allure/jbehave5/AllureJbehave5.java | 2 +- .../java/io/qameta/allure/jbehave5/AllureJbehave5Test.java | 2 +- .../test/java/io/qameta/allure/jbehave5/LoggingReporter.java | 2 +- .../io/qameta/allure/jbehave5/samples/BrokenStorySteps.java | 2 +- .../io/qameta/allure/jbehave5/samples/SimpleStorySteps.java | 2 +- .../src/main/java/io/qameta/allure/jooq/AllureJooq.java | 2 +- .../src/test/java/io/qameta/allure/jooq/AllureJooqTest.java | 2 +- .../io/qameta/allure/jsonunit/AbstractJsonPatchMatcher.java | 2 +- .../qameta/allure/jsonunit/AllureConfigurableJsonMatcher.java | 2 +- .../main/java/io/qameta/allure/jsonunit/DiffAttachment.java | 2 +- .../src/main/java/io/qameta/allure/jsonunit/DiffModel.java | 2 +- .../java/io/qameta/allure/jsonunit/JsonPatchListener.java | 2 +- .../main/java/io/qameta/allure/jsonunit/JsonPatchMatcher.java | 2 +- .../java/io/qameta/allure/jsonunit/JsonPatchListenerTest.java | 2 +- .../java/io/qameta/allure/jsonunit/JsonPatchMatcherTests.java | 2 +- .../io/qameta/allure/junitplatform/AllureJunitPlatform.java | 2 +- .../qameta/allure/junitplatform/AllureJunitPlatformUtils.java | 2 +- .../allure/junitplatform/AllurePostDiscoveryFilter.java | 2 +- .../qameta/allure/junitplatform/AllureJunitPlatformTest.java | 2 +- .../allure/junitplatform/AllureJunitPlatformTestUtils.java | 2 +- .../allure/junitplatform/AllurePostDiscoveryFilterTest.java | 2 +- .../junitplatform/features/AllureIdAnnotationSupport.java | 2 +- .../allure/junitplatform/features/BrokenInAfterAllTests.java | 2 +- .../allure/junitplatform/features/BrokenInBeforeAllTests.java | 2 +- .../io/qameta/allure/junitplatform/features/BrokenTests.java | 2 +- .../allure/junitplatform/features/DescriptionJavadocTest.java | 2 +- .../allure/junitplatform/features/DisabledRepeatedTests.java | 2 +- .../qameta/allure/junitplatform/features/DisabledTests.java | 2 +- .../junitplatform/features/DisplayNameOnClassTests.java | 2 +- .../io/qameta/allure/junitplatform/features/DynamicTests.java | 2 +- .../io/qameta/allure/junitplatform/features/FailedTests.java | 2 +- .../junitplatform/features/FilterParameterizedTests.java | 2 +- .../allure/junitplatform/features/FilterSimpleTests.java | 2 +- .../allure/junitplatform/features/JupiterUniqueIdTest.java | 2 +- .../junitplatform/features/MarkerAnnotationSupport.java | 2 +- .../java/io/qameta/allure/junitplatform/features/OneTest.java | 2 +- .../io/qameta/allure/junitplatform/features/OwnerTest.java | 2 +- .../qameta/allure/junitplatform/features/ParallelTests.java | 2 +- .../allure/junitplatform/features/ParameterisedTests.java | 2 +- .../features/ParameterisedTestsWithDisplayName.java | 2 +- .../io/qameta/allure/junitplatform/features/PassedTests.java | 2 +- .../qameta/allure/junitplatform/features/RepeatedTests.java | 2 +- .../allure/junitplatform/features/ReportEntryParameter.java | 2 +- .../io/qameta/allure/junitplatform/features/SeverityTest.java | 2 +- .../junitplatform/features/SkippedInBeforeAllTests.java | 2 +- .../io/qameta/allure/junitplatform/features/SkippedTests.java | 2 +- .../io/qameta/allure/junitplatform/features/TaggedTests.java | 2 +- .../allure/junitplatform/features/TestClassDisabled.java | 2 +- .../features/TestClassWithDisplayNameAnnotation.java | 2 +- .../features/TestClassWithoutDisplayNameAnnotation.java | 2 +- .../allure/junitplatform/features/TestWithClassLabels.java | 2 +- .../allure/junitplatform/features/TestWithClassLinks.java | 2 +- .../allure/junitplatform/features/TestWithDescription.java | 2 +- .../allure/junitplatform/features/TestWithDisplayName.java | 2 +- .../allure/junitplatform/features/TestWithMethodLabels.java | 2 +- .../allure/junitplatform/features/TestWithMethodLinks.java | 2 +- .../qameta/allure/junitplatform/features/TestWithSteps.java | 2 +- .../allure/junitplatform/features/TestWithSystemErr.java | 2 +- .../allure/junitplatform/features/TestWithSystemOut.java | 2 +- .../allure/junitplatform/features/TestsWithAllureId.java | 2 +- .../qameta/allure/junit4/aspect/AllureJunit4FilterAspect.java | 2 +- .../allure/junit4/aspect/AllureJunit4ListenerAspect.java | 2 +- .../src/main/java/io/qameta/allure/junit4/AllureJunit4.java | 2 +- .../main/java/io/qameta/allure/junit4/AllureJunit4Filter.java | 2 +- .../main/java/io/qameta/allure/junit4/AllureJunit4Utils.java | 2 +- .../src/main/java/io/qameta/allure/junit4/DisplayName.java | 2 +- allure-junit4/src/main/java/io/qameta/allure/junit4/Tag.java | 2 +- allure-junit4/src/main/java/io/qameta/allure/junit4/Tags.java | 2 +- allure-junit4/src/test/java/SampleTestInDefaultPackage.java | 2 +- .../test/java/io/qameta/allure/junit4/AllureJunit4Test.java | 2 +- .../io/qameta/allure/junit4/samples/AssumptionFailedTest.java | 2 +- .../test/java/io/qameta/allure/junit4/samples/BrokenTest.java | 2 +- .../allure/junit4/samples/BrokenWithoutMessageTest.java | 2 +- .../io/qameta/allure/junit4/samples/DescriptionsJavadoc.java | 2 +- .../test/java/io/qameta/allure/junit4/samples/FailedTest.java | 2 +- .../io/qameta/allure/junit4/samples/FilterSimpleTests.java | 2 +- .../io/qameta/allure/junit4/samples/IgnoredClassTest.java | 2 +- .../java/io/qameta/allure/junit4/samples/IgnoredTests.java | 2 +- .../test/java/io/qameta/allure/junit4/samples/OneTest.java | 2 +- .../java/io/qameta/allure/junit4/samples/TaggedTests.java | 2 +- .../qameta/allure/junit4/samples/TestBasedOnSampleRunner.java | 2 +- .../io/qameta/allure/junit4/samples/TestWithAnnotations.java | 2 +- .../java/io/qameta/allure/junit4/samples/TestWithSteps.java | 2 +- .../java/io/qameta/allure/junit4/samples/TestWithTimeout.java | 2 +- .../java/io/qameta/allure/junit4/samples/TheoriesTest.java | 2 +- .../io/qameta/allure/junit5assert/AllureJunit5Assert.java | 2 +- .../io/qameta/allure/junit5assert/AllureJunit5AssertTest.java | 2 +- .../src/main/java/io/qameta/allure/junit5/AllureJunit5.java | 2 +- .../test/java/io/qameta/allure/junit5/AllureJunit5Test.java | 2 +- .../allure/junit5/features/AfterEachFixtureBrokenSupport.java | 2 +- .../io/qameta/allure/junit5/features/AllFixtureSupport.java | 2 +- .../junit5/features/BeforeAllFixtureFailureSupport.java | 2 +- .../junit5/features/BeforeEachFixtureBrokenSupport.java | 2 +- .../io/qameta/allure/junit5/features/EachFixtureSupport.java | 2 +- .../features/ParameterisedBlankParameterValueTests.java | 2 +- .../allure/junit5/features/ParameterisedPrimitivesTests.java | 2 +- .../io/qameta/allure/junit5/features/ParameterisedTests.java | 2 +- .../qameta/allure/junit5/features/SkipOtherInjectables.java | 2 +- .../src/main/java/io/qameta/allure/karate/AllureKarate.java | 2 +- .../test/java/io/qameta/allure/karate/AllureKarateTest.java | 2 +- .../src/test/java/io/qameta/allure/karate/TestRunner.java | 2 +- .../src/main/java/io/qameta/allure/model/Attachment.java | 2 +- .../src/main/java/io/qameta/allure/model/ExecutableItem.java | 2 +- .../src/main/java/io/qameta/allure/model/FixtureResult.java | 2 +- allure-model/src/main/java/io/qameta/allure/model/Label.java | 2 +- allure-model/src/main/java/io/qameta/allure/model/Link.java | 2 +- .../src/main/java/io/qameta/allure/model/Parameter.java | 2 +- allure-model/src/main/java/io/qameta/allure/model/Stage.java | 2 +- allure-model/src/main/java/io/qameta/allure/model/Status.java | 2 +- .../src/main/java/io/qameta/allure/model/StatusDetails.java | 2 +- .../src/main/java/io/qameta/allure/model/StepResult.java | 2 +- .../src/main/java/io/qameta/allure/model/TestResult.java | 2 +- .../main/java/io/qameta/allure/model/TestResultContainer.java | 2 +- .../src/main/java/io/qameta/allure/model/WithAttachments.java | 2 +- .../src/main/java/io/qameta/allure/model/WithLinks.java | 2 +- .../src/main/java/io/qameta/allure/model/WithParameters.java | 2 +- .../src/main/java/io/qameta/allure/model/WithStatus.java | 2 +- .../main/java/io/qameta/allure/model/WithStatusDetails.java | 2 +- .../src/main/java/io/qameta/allure/model/WithSteps.java | 2 +- .../src/main/java/io/qameta/allure/okhttp/AllureOkHttp.java | 2 +- .../test/java/io/qameta/allure/okhttp/AllureOkHttp3Test.java | 2 +- .../src/main/java/io/qameta/allure/okhttp3/AllureOkHttp3.java | 2 +- .../test/java/io/qameta/allure/okhttp3/AllureOkHttp3Test.java | 2 +- .../java/io/qameta/allure/reader/AllureEnumDeserializer.java | 2 +- .../io/qameta/allure/reader/AllureObjectMapperFactory.java | 2 +- .../io/qameta/allure/reader/ParameterModeDeserializer.java | 2 +- .../main/java/io/qameta/allure/reader/StageDeserializer.java | 2 +- .../main/java/io/qameta/allure/reader/StatusDeserializer.java | 2 +- .../java/io/qameta/allure/restassured/AllureRestAssured.java | 2 +- .../io/qameta/allure/restassured/AllureRestAssuredTest.java | 2 +- .../scala/io/qameta/allure/scalatest/AllureScalatest.scala | 2 +- .../io/qameta/allure/scalatest/AllureScalatestTest.scala | 2 +- .../io/qameta/allure/scalatest/testdata/AllureApiSpec.scala | 2 +- .../allure/scalatest/testdata/AnnotationsOnClassSpec.scala | 2 +- .../io/qameta/allure/scalatest/testdata/BrokenSpec.scala | 2 +- .../io/qameta/allure/scalatest/testdata/CancelledSpec.scala | 2 +- .../io/qameta/allure/scalatest/testdata/FailedSpec.scala | 2 +- .../io/qameta/allure/scalatest/testdata/IgnoredSpec.scala | 2 +- .../io/qameta/allure/scalatest/testdata/SeveritySpec.scala | 2 +- .../io/qameta/allure/scalatest/testdata/SimpleSpec.scala | 2 +- .../main/java/io/qameta/allure/selenide/AllureSelenide.java | 2 +- .../src/main/java/io/qameta/allure/selenide/LogType.java | 2 +- .../java/io/qameta/allure/selenide/AllureSelenideTest.java | 2 +- .../allure/servletapi/HttpServletAttachmentBuilder.java | 2 +- .../src/main/java/io/qameta/allure/spock/AllureSpock.java | 2 +- .../test/groovy/io/qameta/allure/spock/AllureSpockTest.java | 2 +- .../groovy/io/qameta/allure/spock/samples/BrokenTest.groovy | 2 +- .../io/qameta/allure/spock/samples/DataDrivenTest.groovy | 2 +- .../groovy/io/qameta/allure/spock/samples/FailedTest.groovy | 2 +- .../groovy/io/qameta/allure/spock/samples/JiraIssue.groovy | 2 +- .../test/groovy/io/qameta/allure/spock/samples/OneTest.groovy | 2 +- .../io/qameta/allure/spock/samples/ParametersTest.groovy | 2 +- .../io/qameta/allure/spock/samples/TestWithAnnotations.groovy | 2 +- .../allure/spock/samples/TestWithAnnotationsOnClass.groovy | 2 +- .../allure/spock/samples/TestWithCustomAnnotations.groovy | 2 +- .../io/qameta/allure/spock/samples/TestWithSteps.groovy | 2 +- .../test/groovy/io/qameta/allure/spock/samples/XrayId.groovy | 2 +- .../src/main/java/io/qameta/allure/spock2/AllureSpock2.java | 2 +- .../compiler/AllureStatementsLabelsToStepsTransformation.java | 2 +- .../test/groovy/io/qameta/allure/spock2/AllureSpock2Test.java | 2 +- .../groovy/io/qameta/allure/spock2/samples/BrokenTest.groovy | 2 +- .../io/qameta/allure/spock2/samples/DataDrivenTest.groovy | 2 +- .../groovy/io/qameta/allure/spock2/samples/FailedTest.groovy | 2 +- .../io/qameta/allure/spock2/samples/FixturesTest.groovy | 2 +- .../io/qameta/allure/spock2/samples/HelloSpockSpec.groovy | 2 +- .../groovy/io/qameta/allure/spock2/samples/JiraIssue.groovy | 2 +- .../groovy/io/qameta/allure/spock2/samples/OneTest.groovy | 2 +- .../io/qameta/allure/spock2/samples/ParametersTest.groovy | 2 +- .../io/qameta/allure/spock2/samples/SpecFixtures.groovy | 2 +- .../qameta/allure/spock2/samples/SpecInheritanceSpec.groovy | 2 +- .../groovy/io/qameta/allure/spock2/samples/SpockTags.groovy | 2 +- .../io/qameta/allure/spock2/samples/StepsAndBlocks.groovy | 2 +- .../qameta/allure/spock2/samples/TestWithAnnotations.groovy | 2 +- .../allure/spock2/samples/TestWithAnnotationsOnClass.groovy | 2 +- .../allure/spock2/samples/TestWithCustomAnnotations.groovy | 2 +- .../io/qameta/allure/spock2/samples/TestWithSteps.groovy | 2 +- .../qameta/allure/spock2/samples/TestsWithIdForFilter.groovy | 2 +- .../test/groovy/io/qameta/allure/spock2/samples/XrayId.groovy | 2 +- .../java/io/qameta/allure/springweb/AllureRestTemplate.java | 2 +- .../io/qameta/allure/springweb/AllureRestTemplateTest.java | 2 +- .../io/qameta/allure/testfilter/FileTestPlanSupplier.java | 2 +- .../src/main/java/io/qameta/allure/testfilter/TestPlan.java | 2 +- .../java/io/qameta/allure/testfilter/TestPlanSupplier.java | 2 +- .../java/io/qameta/allure/testfilter/TestPlanUnknown.java | 2 +- .../main/java/io/qameta/allure/testfilter/TestPlanV1_0.java | 2 +- .../src/main/java/io/qameta/allure/testng/AllureTestNg.java | 2 +- .../java/io/qameta/allure/testng/AllureTestNgTestFilter.java | 2 +- allure-testng/src/main/java/io/qameta/allure/testng/Tag.java | 2 +- allure-testng/src/main/java/io/qameta/allure/testng/Tags.java | 2 +- .../java/io/qameta/allure/testng/TestInstanceParameter.java | 2 +- .../io/qameta/allure/testng/config/AllureTestNgConfig.java | 2 +- .../test/java/io/qameta/allure/testng/AllureTestNgTest.java | 2 +- .../allure/testng/samples/AfterFixturesCombination.java | 2 +- .../java/io/qameta/allure/testng/samples/AllFeatures.java | 2 +- .../java/io/qameta/allure/testng/samples/AttachmentsTest.java | 2 +- .../test/java/io/qameta/allure/testng/samples/BaseTest.java | 2 +- .../test/java/io/qameta/allure/testng/samples/BaseTestA.java | 2 +- .../test/java/io/qameta/allure/testng/samples/BaseTestB.java | 2 +- .../io/qameta/allure/testng/samples/BddAnnotationsTests.java | 2 +- .../allure/testng/samples/BddAnnotationsTestsInherited.java | 2 +- .../allure/testng/samples/BeforeFixturesCombination.java | 2 +- .../java/io/qameta/allure/testng/samples/BeforeMethods.java | 2 +- .../java/io/qameta/allure/testng/samples/ClassFixtures1.java | 2 +- .../java/io/qameta/allure/testng/samples/ClassFixtures2.java | 2 +- .../java/io/qameta/allure/testng/samples/ClassFixtures3.java | 2 +- .../qameta/allure/testng/samples/ClassFixturesInParent.java | 2 +- .../qameta/allure/testng/samples/ClassFixturesInherited.java | 2 +- .../io/qameta/allure/testng/samples/ConfigurationFailure.java | 2 +- .../io/qameta/allure/testng/samples/CyrillicDescriptions.java | 2 +- .../qameta/allure/testng/samples/DataProviderWithArray.java | 2 +- .../qameta/allure/testng/samples/DescriptionsAnotherTest.java | 2 +- .../io/qameta/allure/testng/samples/DescriptionsTest.java | 2 +- .../java/io/qameta/allure/testng/samples/DisabledTest.java | 2 +- .../allure/testng/samples/FactoryOnConstructorTests.java | 2 +- .../io/qameta/allure/testng/samples/FailedAfterMethod.java | 2 +- .../io/qameta/allure/testng/samples/FailedAfterSuite.java | 2 +- .../java/io/qameta/allure/testng/samples/FailedAfterTest.java | 2 +- .../io/qameta/allure/testng/samples/FailedBeforeClass.java | 2 +- .../io/qameta/allure/testng/samples/FailedBeforeMethod.java | 2 +- .../io/qameta/allure/testng/samples/FailedBeforeSuite.java | 2 +- .../io/qameta/allure/testng/samples/FailedBeforeTest.java | 2 +- .../java/io/qameta/allure/testng/samples/FailedFlakyTest.java | 2 +- .../java/io/qameta/allure/testng/samples/FailedSetUp.java | 2 +- .../allure/testng/samples/FailedTestPassedBeforeFixture.java | 2 +- .../qameta/allure/testng/samples/FixtureWithDescription.java | 2 +- .../java/io/qameta/allure/testng/samples/FlakyMethods.java | 2 +- .../qameta/allure/testng/samples/FlakyMethodsInherited.java | 2 +- .../java/io/qameta/allure/testng/samples/FlakyTestClass.java | 2 +- .../qameta/allure/testng/samples/FlakyTestClassInherited.java | 2 +- .../testng/samples/HistoryIdForTestWithDataProvider.java | 2 +- .../test/java/io/qameta/allure/testng/samples/JustTest.java | 2 +- .../java/io/qameta/allure/testng/samples/LinksOnTests.java | 2 +- .../qameta/allure/testng/samples/LinksOnTestsInherited.java | 2 +- .../java/io/qameta/allure/testng/samples/MutedMethods.java | 2 +- .../qameta/allure/testng/samples/MutedMethodsInherited.java | 2 +- .../java/io/qameta/allure/testng/samples/MutedTestClass.java | 2 +- .../qameta/allure/testng/samples/MutedTestClassInherited.java | 2 +- .../java/io/qameta/allure/testng/samples/NestedSteps.java | 2 +- .../java/io/qameta/allure/testng/samples/NullParamTest.java | 2 +- .../java/io/qameta/allure/testng/samples/OwnerClassTest.java | 2 +- .../qameta/allure/testng/samples/OwnerClassTestInherited.java | 2 +- .../java/io/qameta/allure/testng/samples/OwnerMethodTest.java | 2 +- .../allure/testng/samples/OwnerMethodTestInherited.java | 2 +- .../allure/testng/samples/ParallelDataProviderSample.java | 2 +- .../java/io/qameta/allure/testng/samples/ParallelMethods.java | 2 +- .../io/qameta/allure/testng/samples/ParameterizedTest.java | 2 +- .../io/qameta/allure/testng/samples/PerClassFixtures.java | 2 +- .../io/qameta/allure/testng/samples/PerMethodFixtures.java | 2 +- .../io/qameta/allure/testng/samples/PerSuiteFixtures.java | 2 +- .../java/io/qameta/allure/testng/samples/PerTestFixtures.java | 2 +- .../java/io/qameta/allure/testng/samples/PriorityTests.java | 2 +- .../test/java/io/qameta/allure/testng/samples/RetryTest.java | 2 +- .../io/qameta/allure/testng/samples/SeverityClassTest.java | 2 +- .../allure/testng/samples/SeverityClassTestInherited.java | 2 +- .../io/qameta/allure/testng/samples/SeverityMethodTest.java | 2 +- .../allure/testng/samples/SeverityMethodTestInherited.java | 2 +- .../java/io/qameta/allure/testng/samples/SkippedSuite.java | 2 +- .../io/qameta/allure/testng/samples/SuiteParameterTest.java | 2 +- .../java/io/qameta/allure/testng/samples/TagClassTest.java | 2 +- .../java/io/qameta/allure/testng/samples/TagMethodTest.java | 2 +- .../java/io/qameta/allure/testng/samples/TestTagFixtures.java | 2 +- .../io/qameta/allure/testng/samples/TestWithParameters.java | 2 +- .../java/io/qameta/allure/testng/samples/TestWithTimeout.java | 2 +- .../io/qameta/allure/testng/samples/TestsWithIdForFilter.java | 2 +- .../java/io/qameta/allure/testng/samples/TestsWithSteps.java | 2 +- .../io/qameta/allure/testng/samples/VarargsParameters.java | 2 +- gradle/quality-configs/spotless/header.java | 4 ++-- 471 files changed, 472 insertions(+), 472 deletions(-) diff --git a/allure-assertj/src/main/java/io/qameta/allure/assertj/AllureAspectJ.java b/allure-assertj/src/main/java/io/qameta/allure/assertj/AllureAspectJ.java index fbf10f7f0..128791172 100644 --- a/allure-assertj/src/main/java/io/qameta/allure/assertj/AllureAspectJ.java +++ b/allure-assertj/src/main/java/io/qameta/allure/assertj/AllureAspectJ.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-assertj/src/test/java/io/qameta/allure/assertj/AllureAspectJTest.java b/allure-assertj/src/test/java/io/qameta/allure/assertj/AllureAspectJTest.java index 12437b900..57ddef240 100644 --- a/allure-assertj/src/test/java/io/qameta/allure/assertj/AllureAspectJTest.java +++ b/allure-assertj/src/test/java/io/qameta/allure/assertj/AllureAspectJTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentContent.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentContent.java index c8fe7c111..50af67ea4 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentContent.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentContent.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentData.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentData.java index 86b318a05..e097b8815 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentData.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentData.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentProcessor.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentProcessor.java index cfc93c716..467261139 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentProcessor.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentRenderException.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentRenderException.java index 5d702bffa..daaf9cc91 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentRenderException.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentRenderException.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentRenderer.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentRenderer.java index 1d239331e..355f6d782 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentRenderer.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentRenderer.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/DefaultAttachmentContent.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/DefaultAttachmentContent.java index ab26abbb6..ccdc978a8 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/DefaultAttachmentContent.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/DefaultAttachmentContent.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/DefaultAttachmentProcessor.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/DefaultAttachmentProcessor.java index dc57e9a01..652c8ca5f 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/DefaultAttachmentProcessor.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/DefaultAttachmentProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/FreemarkerAttachmentRenderer.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/FreemarkerAttachmentRenderer.java index 244230d25..50ac53924 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/FreemarkerAttachmentRenderer.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/FreemarkerAttachmentRenderer.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpRequestAttachment.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpRequestAttachment.java index 47493fc46..5d4514140 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpRequestAttachment.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpRequestAttachment.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpResponseAttachment.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpResponseAttachment.java index ee79d0ba5..2369e10f8 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpResponseAttachment.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpResponseAttachment.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/test/java/io/qameta/allure/attachment/DefaultAttachmentProcessorTest.java b/allure-attachments/src/test/java/io/qameta/allure/attachment/DefaultAttachmentProcessorTest.java index 1283d6116..a1d2def2e 100644 --- a/allure-attachments/src/test/java/io/qameta/allure/attachment/DefaultAttachmentProcessorTest.java +++ b/allure-attachments/src/test/java/io/qameta/allure/attachment/DefaultAttachmentProcessorTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/test/java/io/qameta/allure/attachment/FreemarkerAttachmentRendererTest.java b/allure-attachments/src/test/java/io/qameta/allure/attachment/FreemarkerAttachmentRendererTest.java index 0dabc89d2..0a773e59f 100644 --- a/allure-attachments/src/test/java/io/qameta/allure/attachment/FreemarkerAttachmentRendererTest.java +++ b/allure-attachments/src/test/java/io/qameta/allure/attachment/FreemarkerAttachmentRendererTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/test/java/io/qameta/allure/attachment/NegativeFreemarkerAttachmentRendererTest.java b/allure-attachments/src/test/java/io/qameta/allure/attachment/NegativeFreemarkerAttachmentRendererTest.java index 865eb5e48..fbc2e6611 100644 --- a/allure-attachments/src/test/java/io/qameta/allure/attachment/NegativeFreemarkerAttachmentRendererTest.java +++ b/allure-attachments/src/test/java/io/qameta/allure/attachment/NegativeFreemarkerAttachmentRendererTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-attachments/src/test/java/io/qameta/allure/attachment/testdata/TestData.java b/allure-attachments/src/test/java/io/qameta/allure/attachment/testdata/TestData.java index 60903f8c1..f5933c6db 100644 --- a/allure-attachments/src/test/java/io/qameta/allure/attachment/testdata/TestData.java +++ b/allure-attachments/src/test/java/io/qameta/allure/attachment/testdata/TestData.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-awaitility/src/main/java/io/qameta/allure/awaitility/AllureAwaitilityListener.java b/allure-awaitility/src/main/java/io/qameta/allure/awaitility/AllureAwaitilityListener.java index 8a3f468b2..93f6c0ee8 100644 --- a/allure-awaitility/src/main/java/io/qameta/allure/awaitility/AllureAwaitilityListener.java +++ b/allure-awaitility/src/main/java/io/qameta/allure/awaitility/AllureAwaitilityListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-awaitility/src/main/java/io/qameta/allure/awaitility/TemporalDuration.java b/allure-awaitility/src/main/java/io/qameta/allure/awaitility/TemporalDuration.java index 17a489e27..b9f58879d 100644 --- a/allure-awaitility/src/main/java/io/qameta/allure/awaitility/TemporalDuration.java +++ b/allure-awaitility/src/main/java/io/qameta/allure/awaitility/TemporalDuration.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/ConditionListenersPositiveTest.java b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/ConditionListenersPositiveTest.java index e62e0314f..74cfa88f2 100644 --- a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/ConditionListenersPositiveTest.java +++ b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/ConditionListenersPositiveTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsNegativeTest.java b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsNegativeTest.java index 4b27b17e6..29577aee2 100644 --- a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsNegativeTest.java +++ b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsNegativeTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsPositiveTest.java b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsPositiveTest.java index da5f84137..db00c41e6 100644 --- a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsPositiveTest.java +++ b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsPositiveTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-citrus/src/main/java/io/qameta/allure/citrus/AllureCitrus.java b/allure-citrus/src/main/java/io/qameta/allure/citrus/AllureCitrus.java index 3db26c236..21f68bebe 100644 --- a/allure-citrus/src/main/java/io/qameta/allure/citrus/AllureCitrus.java +++ b/allure-citrus/src/main/java/io/qameta/allure/citrus/AllureCitrus.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-citrus/src/test/java/io/qameta/allure/citrus/AllureCitrusTest.java b/allure-citrus/src/test/java/io/qameta/allure/citrus/AllureCitrusTest.java index a31fd6f00..7f29c0490 100644 --- a/allure-citrus/src/test/java/io/qameta/allure/citrus/AllureCitrusTest.java +++ b/allure-citrus/src/test/java/io/qameta/allure/citrus/AllureCitrusTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/main/java/cucumber/runtime/formatter/TestSourcesModelProxy.java b/allure-cucumber4-jvm/src/main/java/cucumber/runtime/formatter/TestSourcesModelProxy.java index e6af04883..f55994b76 100644 --- a/allure-cucumber4-jvm/src/main/java/cucumber/runtime/formatter/TestSourcesModelProxy.java +++ b/allure-cucumber4-jvm/src/main/java/cucumber/runtime/formatter/TestSourcesModelProxy.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java b/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java index ecefc8ef6..d2ec2204c 100644 --- a/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java +++ b/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/LabelBuilder.java b/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/LabelBuilder.java index 9958e8e85..a0ed3c28b 100644 --- a/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/LabelBuilder.java +++ b/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/LabelBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/TagParser.java b/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/TagParser.java index dec84aeb5..0c7417c05 100644 --- a/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/TagParser.java +++ b/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/TagParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java index b39650faf..da872dced 100644 --- a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java +++ b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/AmbigiousSteps.java b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/AmbigiousSteps.java index 3f76659a8..2b43b9ea8 100644 --- a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/AmbigiousSteps.java +++ b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/AmbigiousSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/AttachmentSteps.java b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/AttachmentSteps.java index e72223093..c0308b3f3 100644 --- a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/AttachmentSteps.java +++ b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/AttachmentSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/BackgroundFeatureSteps.java b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/BackgroundFeatureSteps.java index b2ff7f6e6..b39835696 100644 --- a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/BackgroundFeatureSteps.java +++ b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/BackgroundFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/BrokenFeatureSteps.java b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/BrokenFeatureSteps.java index 7ff508ab6..53e0895c5 100644 --- a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/BrokenFeatureSteps.java +++ b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/BrokenFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/DatatableFeatureSteps.java b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/DatatableFeatureSteps.java index d903702e6..4faa730ab 100644 --- a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/DatatableFeatureSteps.java +++ b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/DatatableFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/HookSteps.java b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/HookSteps.java index ee2d6a5b6..68aa59fd7 100644 --- a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/HookSteps.java +++ b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/HookSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/PendingSteps.java b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/PendingSteps.java index c1ab1b965..7d122c577 100644 --- a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/PendingSteps.java +++ b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/PendingSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/SimpleFeatureSteps.java b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/SimpleFeatureSteps.java index 44e64a45f..f2baf281a 100644 --- a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/SimpleFeatureSteps.java +++ b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/SimpleFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/AllureCucumber5Jvm.java b/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/AllureCucumber5Jvm.java index f89c338d0..928fff4d1 100644 --- a/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/AllureCucumber5Jvm.java +++ b/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/AllureCucumber5Jvm.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/LabelBuilder.java b/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/LabelBuilder.java index ba18430d3..645487621 100644 --- a/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/LabelBuilder.java +++ b/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/LabelBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/TagParser.java b/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/TagParser.java index a6e5724b7..211939586 100644 --- a/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/TagParser.java +++ b/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/TagParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/testsourcemodel/TestSourcesModel.java b/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/testsourcemodel/TestSourcesModel.java index 6ffda30d3..2b3909c62 100644 --- a/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/testsourcemodel/TestSourcesModel.java +++ b/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/testsourcemodel/TestSourcesModel.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/testsourcemodel/TestSourcesModelProxy.java b/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/testsourcemodel/TestSourcesModelProxy.java index 46937911c..0e459841e 100644 --- a/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/testsourcemodel/TestSourcesModelProxy.java +++ b/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/testsourcemodel/TestSourcesModelProxy.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java index 64391b3d4..f4fe1a151 100644 --- a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java +++ b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/AmbigiousSteps.java b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/AmbigiousSteps.java index bf219907f..f2a15b537 100644 --- a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/AmbigiousSteps.java +++ b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/AmbigiousSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/AttachmentSteps.java b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/AttachmentSteps.java index e3a335a9e..8439cb453 100644 --- a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/AttachmentSteps.java +++ b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/AttachmentSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/BackgroundFeatureSteps.java b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/BackgroundFeatureSteps.java index 5f9177674..135a0bb19 100644 --- a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/BackgroundFeatureSteps.java +++ b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/BackgroundFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/BrokenFeatureSteps.java b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/BrokenFeatureSteps.java index 6a78e6bf9..d9ee5ce1a 100644 --- a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/BrokenFeatureSteps.java +++ b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/BrokenFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/DatatableFeatureSteps.java b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/DatatableFeatureSteps.java index a75c68849..10ecd8bc9 100644 --- a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/DatatableFeatureSteps.java +++ b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/DatatableFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/HookSteps.java b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/HookSteps.java index 00f96ebc3..857683726 100644 --- a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/HookSteps.java +++ b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/HookSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/PendingSteps.java b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/PendingSteps.java index 29ee3cbf4..52a8da1a5 100644 --- a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/PendingSteps.java +++ b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/PendingSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/SimpleFeatureSteps.java b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/SimpleFeatureSteps.java index 3c7c2fd0a..01c1c1534 100644 --- a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/SimpleFeatureSteps.java +++ b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/SimpleFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/AllureCucumber6Jvm.java b/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/AllureCucumber6Jvm.java index 693171406..fba287315 100644 --- a/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/AllureCucumber6Jvm.java +++ b/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/AllureCucumber6Jvm.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/LabelBuilder.java b/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/LabelBuilder.java index 2c0dcdc5f..94247a990 100644 --- a/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/LabelBuilder.java +++ b/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/LabelBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/TagParser.java b/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/TagParser.java index f1e5940bf..a594d97d9 100644 --- a/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/TagParser.java +++ b/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/TagParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/testsourcemodel/TestSourcesModel.java b/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/testsourcemodel/TestSourcesModel.java index 8545fd102..2bdc4b09b 100644 --- a/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/testsourcemodel/TestSourcesModel.java +++ b/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/testsourcemodel/TestSourcesModel.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/testsourcemodel/TestSourcesModelProxy.java b/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/testsourcemodel/TestSourcesModelProxy.java index 84f757ff0..228f1623a 100644 --- a/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/testsourcemodel/TestSourcesModelProxy.java +++ b/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/testsourcemodel/TestSourcesModelProxy.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java index 1e29208c4..b5a1ff4d4 100644 --- a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java +++ b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/AmbigiousSteps.java b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/AmbigiousSteps.java index 434852199..8d8a22dfe 100644 --- a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/AmbigiousSteps.java +++ b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/AmbigiousSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/AttachmentSteps.java b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/AttachmentSteps.java index cf896ffe2..b3f397a3b 100644 --- a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/AttachmentSteps.java +++ b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/AttachmentSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/BackgroundFeatureSteps.java b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/BackgroundFeatureSteps.java index 9eb6f294f..f8b041039 100644 --- a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/BackgroundFeatureSteps.java +++ b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/BackgroundFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/BrokenFeatureSteps.java b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/BrokenFeatureSteps.java index 9e815c978..22b64b97b 100644 --- a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/BrokenFeatureSteps.java +++ b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/BrokenFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/DatatableFeatureSteps.java b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/DatatableFeatureSteps.java index bd0cec6f6..416732c3d 100644 --- a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/DatatableFeatureSteps.java +++ b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/DatatableFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/HookSteps.java b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/HookSteps.java index e0de9fc63..fcc108bf7 100644 --- a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/HookSteps.java +++ b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/HookSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/PendingSteps.java b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/PendingSteps.java index df67e1a8a..db1279635 100644 --- a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/PendingSteps.java +++ b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/PendingSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/SimpleFeatureSteps.java b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/SimpleFeatureSteps.java index 85d03e315..ffa41cb13 100644 --- a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/SimpleFeatureSteps.java +++ b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/SimpleFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/AllureCucumber7Jvm.java b/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/AllureCucumber7Jvm.java index 123a1e29b..f5cf815e4 100644 --- a/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/AllureCucumber7Jvm.java +++ b/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/AllureCucumber7Jvm.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/LabelBuilder.java b/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/LabelBuilder.java index 4889a23da..a5ffd0948 100644 --- a/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/LabelBuilder.java +++ b/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/LabelBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/TagParser.java b/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/TagParser.java index 8ef92b7ab..8efb825a4 100644 --- a/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/TagParser.java +++ b/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/TagParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/testsourcemodel/TestSourcesModel.java b/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/testsourcemodel/TestSourcesModel.java index 5ce13730f..37d2fb7ff 100644 --- a/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/testsourcemodel/TestSourcesModel.java +++ b/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/testsourcemodel/TestSourcesModel.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/testsourcemodel/TestSourcesModelProxy.java b/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/testsourcemodel/TestSourcesModelProxy.java index 662adf763..1ceacf741 100644 --- a/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/testsourcemodel/TestSourcesModelProxy.java +++ b/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/testsourcemodel/TestSourcesModelProxy.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java index 13064c4f8..055fd7dbc 100644 --- a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java +++ b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/AmbigiousSteps.java b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/AmbigiousSteps.java index c74d4c10d..2358228cd 100644 --- a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/AmbigiousSteps.java +++ b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/AmbigiousSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/AttachmentSteps.java b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/AttachmentSteps.java index c0242a460..0c8d10141 100644 --- a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/AttachmentSteps.java +++ b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/AttachmentSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/BackgroundFeatureSteps.java b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/BackgroundFeatureSteps.java index 5442225d0..f1a6f01f5 100644 --- a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/BackgroundFeatureSteps.java +++ b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/BackgroundFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/BrokenFeatureSteps.java b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/BrokenFeatureSteps.java index df3f7042b..206f927f7 100644 --- a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/BrokenFeatureSteps.java +++ b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/BrokenFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/DatatableFeatureSteps.java b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/DatatableFeatureSteps.java index ae937b57f..30e7e406e 100644 --- a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/DatatableFeatureSteps.java +++ b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/DatatableFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/HookSteps.java b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/HookSteps.java index 247572252..072c7d810 100644 --- a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/HookSteps.java +++ b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/HookSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/PendingSteps.java b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/PendingSteps.java index 060e5c1dc..c55390ed0 100644 --- a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/PendingSteps.java +++ b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/PendingSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/SimpleFeatureSteps.java b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/SimpleFeatureSteps.java index 69d63049b..9212f0318 100644 --- a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/SimpleFeatureSteps.java +++ b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/SimpleFeatureSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-descriptions-javadoc/src/main/java/io/qameta/allure/description/ClassNames.java b/allure-descriptions-javadoc/src/main/java/io/qameta/allure/description/ClassNames.java index a6b225139..5bdaf305c 100644 --- a/allure-descriptions-javadoc/src/main/java/io/qameta/allure/description/ClassNames.java +++ b/allure-descriptions-javadoc/src/main/java/io/qameta/allure/description/ClassNames.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-descriptions-javadoc/src/main/java/io/qameta/allure/description/JavaDocDescriptionsProcessor.java b/allure-descriptions-javadoc/src/main/java/io/qameta/allure/description/JavaDocDescriptionsProcessor.java index 32ce95707..b4487310e 100644 --- a/allure-descriptions-javadoc/src/main/java/io/qameta/allure/description/JavaDocDescriptionsProcessor.java +++ b/allure-descriptions-javadoc/src/main/java/io/qameta/allure/description/JavaDocDescriptionsProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-descriptions-javadoc/src/test/java/io/qameta/allure/description/ProcessDescriptionsTest.java b/allure-descriptions-javadoc/src/test/java/io/qameta/allure/description/ProcessDescriptionsTest.java index ff8f7dbdc..4b3b5fc90 100644 --- a/allure-descriptions-javadoc/src/test/java/io/qameta/allure/description/ProcessDescriptionsTest.java +++ b/allure-descriptions-javadoc/src/test/java/io/qameta/allure/description/ProcessDescriptionsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-grpc/src/main/java/io/qameta/allure/grpc/AllureGrpc.java b/allure-grpc/src/main/java/io/qameta/allure/grpc/AllureGrpc.java index d394a16aa..1217dcf92 100644 --- a/allure-grpc/src/main/java/io/qameta/allure/grpc/AllureGrpc.java +++ b/allure-grpc/src/main/java/io/qameta/allure/grpc/AllureGrpc.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcRequestAttachment.java b/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcRequestAttachment.java index ef32e4dde..39eeb7213 100644 --- a/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcRequestAttachment.java +++ b/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcRequestAttachment.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcResponseAttachment.java b/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcResponseAttachment.java index 7824d9ee2..ffd2a9b33 100644 --- a/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcResponseAttachment.java +++ b/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcResponseAttachment.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-grpc/src/test/java/io/qameta/allure/grpc/AllureGrpcTest.java b/allure-grpc/src/test/java/io/qameta/allure/grpc/AllureGrpcTest.java index f75df916b..6c83b9f03 100644 --- a/allure-grpc/src/test/java/io/qameta/allure/grpc/AllureGrpcTest.java +++ b/allure-grpc/src/test/java/io/qameta/allure/grpc/AllureGrpcTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-hamcrest/src/main/java/io/qameta/allure/hamcrest/AllureHamcrestAssert.java b/allure-hamcrest/src/main/java/io/qameta/allure/hamcrest/AllureHamcrestAssert.java index cf836d8f1..d78020e78 100644 --- a/allure-hamcrest/src/main/java/io/qameta/allure/hamcrest/AllureHamcrestAssert.java +++ b/allure-hamcrest/src/main/java/io/qameta/allure/hamcrest/AllureHamcrestAssert.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestAssertionNameContainsReasonTest.java b/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestAssertionNameContainsReasonTest.java index 6086258f9..f04ba4d74 100644 --- a/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestAssertionNameContainsReasonTest.java +++ b/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestAssertionNameContainsReasonTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestCollectionsMatchersTest.java b/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestCollectionsMatchersTest.java index 805b593c4..a8c07b827 100644 --- a/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestCollectionsMatchersTest.java +++ b/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestCollectionsMatchersTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestLogicalMatchersTest.java b/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestLogicalMatchersTest.java index f2c810425..5d0a376d1 100644 --- a/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestLogicalMatchersTest.java +++ b/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestLogicalMatchersTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestNumberMatchersTest.java b/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestNumberMatchersTest.java index c6d43e44c..f5fa62efa 100644 --- a/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestNumberMatchersTest.java +++ b/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestNumberMatchersTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestObjectMatchersTest.java b/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestObjectMatchersTest.java index 3b0170d24..44d468b1c 100644 --- a/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestObjectMatchersTest.java +++ b/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestObjectMatchersTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestTextMatchersTest.java b/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestTextMatchersTest.java index ec401a53b..cddd89106 100644 --- a/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestTextMatchersTest.java +++ b/allure-hamcrest/src/test/java/io/qameta/allure/hamcrest/AllureHamcrestTextMatchersTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-httpclient/src/main/java/io/qameta/allure/httpclient/AllureHttpClientRequest.java b/allure-httpclient/src/main/java/io/qameta/allure/httpclient/AllureHttpClientRequest.java index 5dc0fdd9e..fdbbc52fc 100644 --- a/allure-httpclient/src/main/java/io/qameta/allure/httpclient/AllureHttpClientRequest.java +++ b/allure-httpclient/src/main/java/io/qameta/allure/httpclient/AllureHttpClientRequest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-httpclient/src/main/java/io/qameta/allure/httpclient/AllureHttpClientResponse.java b/allure-httpclient/src/main/java/io/qameta/allure/httpclient/AllureHttpClientResponse.java index f75891181..1eb4bfe75 100644 --- a/allure-httpclient/src/main/java/io/qameta/allure/httpclient/AllureHttpClientResponse.java +++ b/allure-httpclient/src/main/java/io/qameta/allure/httpclient/AllureHttpClientResponse.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-httpclient/src/test/java/io/qameta/allure/httpclient/AllureHttpClientTest.java b/allure-httpclient/src/test/java/io/qameta/allure/httpclient/AllureHttpClientTest.java index d7e56ea95..ddc3019ed 100644 --- a/allure-httpclient/src/test/java/io/qameta/allure/httpclient/AllureHttpClientTest.java +++ b/allure-httpclient/src/test/java/io/qameta/allure/httpclient/AllureHttpClientTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Request.java b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Request.java index d593c4576..2e4ab5584 100644 --- a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Request.java +++ b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Request.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Response.java b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Response.java index 97e6c1c86..bf5bff643 100644 --- a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Response.java +++ b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Response.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpEntityUtils.java b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpEntityUtils.java index 342093031..43297a28c 100644 --- a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpEntityUtils.java +++ b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpEntityUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-httpclient5/src/test/java/io/qameta/allure/httpclient5/AllureHttpClient5DeleteTest.java b/allure-httpclient5/src/test/java/io/qameta/allure/httpclient5/AllureHttpClient5DeleteTest.java index 453b57bc4..364ea253f 100644 --- a/allure-httpclient5/src/test/java/io/qameta/allure/httpclient5/AllureHttpClient5DeleteTest.java +++ b/allure-httpclient5/src/test/java/io/qameta/allure/httpclient5/AllureHttpClient5DeleteTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-httpclient5/src/test/java/io/qameta/allure/httpclient5/AllureHttpClient5GetTest.java b/allure-httpclient5/src/test/java/io/qameta/allure/httpclient5/AllureHttpClient5GetTest.java index 4453f2e49..301e13862 100644 --- a/allure-httpclient5/src/test/java/io/qameta/allure/httpclient5/AllureHttpClient5GetTest.java +++ b/allure-httpclient5/src/test/java/io/qameta/allure/httpclient5/AllureHttpClient5GetTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-httpclient5/src/test/java/io/qameta/allure/httpclient5/AllureHttpClient5PostTest.java b/allure-httpclient5/src/test/java/io/qameta/allure/httpclient5/AllureHttpClient5PostTest.java index 7220171dc..6b73e36dd 100644 --- a/allure-httpclient5/src/test/java/io/qameta/allure/httpclient5/AllureHttpClient5PostTest.java +++ b/allure-httpclient5/src/test/java/io/qameta/allure/httpclient5/AllureHttpClient5PostTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureFeatures.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureFeatures.java index d4641dcc8..9ea66a2fb 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureFeatures.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureFeatures.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllurePredicates.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllurePredicates.java index f59a9581d..4cd1ce35d 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllurePredicates.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllurePredicates.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureResults.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureResults.java index d0a22173f..621b213ae 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureResults.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureResults.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureResultsWriterStub.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureResultsWriterStub.java index 0e560c932..cdbfcd85f 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureResultsWriterStub.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureResultsWriterStub.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureTestCommonsUtils.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureTestCommonsUtils.java index 3020f34f5..ae099c33f 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureTestCommonsUtils.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureTestCommonsUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/RunUtils.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/RunUtils.java index 27eae0ccf..185a98b54 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/RunUtils.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/RunUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/TestData.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/TestData.java index 3748458f8..ce23958a4 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/TestData.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/TestData.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/ThreadLocalEnhancedRandom.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/ThreadLocalEnhancedRandom.java index d0be47326..092c183e9 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/ThreadLocalEnhancedRandom.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/ThreadLocalEnhancedRandom.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Allure.java b/allure-java-commons/src/main/java/io/qameta/allure/Allure.java index 21c90d2fa..afc8ddbc3 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Allure.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Allure.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/AllureConstants.java b/allure-java-commons/src/main/java/io/qameta/allure/AllureConstants.java index 7e432af99..8b3b8cdc8 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/AllureConstants.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/AllureConstants.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/AllureId.java b/allure-java-commons/src/main/java/io/qameta/allure/AllureId.java index cd5786aac..3ca5b245a 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/AllureId.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/AllureId.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/AllureLifecycle.java b/allure-java-commons/src/main/java/io/qameta/allure/AllureLifecycle.java index 5b9e0065f..bea1d4dce 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/AllureLifecycle.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/AllureLifecycle.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/AllureResultsWriteException.java b/allure-java-commons/src/main/java/io/qameta/allure/AllureResultsWriteException.java index ca3b92180..0dd0b5ef1 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/AllureResultsWriteException.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/AllureResultsWriteException.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/AllureResultsWriter.java b/allure-java-commons/src/main/java/io/qameta/allure/AllureResultsWriter.java index e997fd492..9e266b383 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/AllureResultsWriter.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/AllureResultsWriter.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Attachment.java b/allure-java-commons/src/main/java/io/qameta/allure/Attachment.java index 848ba4f4c..b08ed83ed 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Attachment.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Attachment.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Description.java b/allure-java-commons/src/main/java/io/qameta/allure/Description.java index 7ee351433..3f83f6855 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Description.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Description.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Epic.java b/allure-java-commons/src/main/java/io/qameta/allure/Epic.java index c6515b41e..851c90f56 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Epic.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Epic.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Epics.java b/allure-java-commons/src/main/java/io/qameta/allure/Epics.java index 8e462ca77..2ea16dbdb 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Epics.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Epics.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Feature.java b/allure-java-commons/src/main/java/io/qameta/allure/Feature.java index b340558de..d938062bc 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Feature.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Feature.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Features.java b/allure-java-commons/src/main/java/io/qameta/allure/Features.java index 4c6795e79..8c80d6399 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Features.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Features.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/FileSystemResultsWriter.java b/allure-java-commons/src/main/java/io/qameta/allure/FileSystemResultsWriter.java index 3e361b07b..187f39dc0 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/FileSystemResultsWriter.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/FileSystemResultsWriter.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Flaky.java b/allure-java-commons/src/main/java/io/qameta/allure/Flaky.java index 3d6748826..f1fc21733 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Flaky.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Flaky.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Issue.java b/allure-java-commons/src/main/java/io/qameta/allure/Issue.java index f795897c7..9abe55616 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Issue.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Issue.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Issues.java b/allure-java-commons/src/main/java/io/qameta/allure/Issues.java index 2ab62c75b..c70da23de 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Issues.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Issues.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/LabelAnnotation.java b/allure-java-commons/src/main/java/io/qameta/allure/LabelAnnotation.java index 294108077..36a28f031 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/LabelAnnotation.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/LabelAnnotation.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/LabelAnnotations.java b/allure-java-commons/src/main/java/io/qameta/allure/LabelAnnotations.java index 8afd77f89..5a63ee889 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/LabelAnnotations.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/LabelAnnotations.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Lead.java b/allure-java-commons/src/main/java/io/qameta/allure/Lead.java index 760f61bc2..30c95c176 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Lead.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Lead.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Link.java b/allure-java-commons/src/main/java/io/qameta/allure/Link.java index b0b4dacb6..d48f8b873 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Link.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Link.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/LinkAnnotation.java b/allure-java-commons/src/main/java/io/qameta/allure/LinkAnnotation.java index e646de636..f8ef85974 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/LinkAnnotation.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/LinkAnnotation.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/LinkAnnotations.java b/allure-java-commons/src/main/java/io/qameta/allure/LinkAnnotations.java index 50428d1c8..e4df3187a 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/LinkAnnotations.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/LinkAnnotations.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Links.java b/allure-java-commons/src/main/java/io/qameta/allure/Links.java index 4e0c977d9..b85c39857 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Links.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Links.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Muted.java b/allure-java-commons/src/main/java/io/qameta/allure/Muted.java index 16ac6f222..42ab5879a 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Muted.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Muted.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Owner.java b/allure-java-commons/src/main/java/io/qameta/allure/Owner.java index d0eea5eb4..cce5b56a2 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Owner.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Owner.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Param.java b/allure-java-commons/src/main/java/io/qameta/allure/Param.java index 33e34f5bc..5c03f1f33 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Param.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Param.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Severity.java b/allure-java-commons/src/main/java/io/qameta/allure/Severity.java index 767bc0b90..d34ca0e26 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Severity.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Severity.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/SeverityLevel.java b/allure-java-commons/src/main/java/io/qameta/allure/SeverityLevel.java index eb8e3a0b6..ad7bcd152 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/SeverityLevel.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/SeverityLevel.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Step.java b/allure-java-commons/src/main/java/io/qameta/allure/Step.java index 1fec2ab71..2ddcc2e33 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Step.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Step.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Stories.java b/allure-java-commons/src/main/java/io/qameta/allure/Stories.java index e9f376d94..9e990597c 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Stories.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Stories.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Story.java b/allure-java-commons/src/main/java/io/qameta/allure/Story.java index bf74c5ceb..929485db8 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Story.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Story.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/TmsLink.java b/allure-java-commons/src/main/java/io/qameta/allure/TmsLink.java index d5e839017..f4f3b68d2 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/TmsLink.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/TmsLink.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/TmsLinks.java b/allure-java-commons/src/main/java/io/qameta/allure/TmsLinks.java index 1253436b4..f364bab76 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/TmsLinks.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/TmsLinks.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/aspects/AttachmentsAspects.java b/allure-java-commons/src/main/java/io/qameta/allure/aspects/AttachmentsAspects.java index 617eae770..02b4ac000 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/aspects/AttachmentsAspects.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/aspects/AttachmentsAspects.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/aspects/StepsAspects.java b/allure-java-commons/src/main/java/io/qameta/allure/aspects/StepsAspects.java index 407c82d40..965a93814 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/aspects/StepsAspects.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/aspects/StepsAspects.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/internal/Allure2ModelJackson.java b/allure-java-commons/src/main/java/io/qameta/allure/internal/Allure2ModelJackson.java index 6613230ca..b3e490bf8 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/internal/Allure2ModelJackson.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/internal/Allure2ModelJackson.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureStorage.java b/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureStorage.java index a72614684..5ae89b1e1 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureStorage.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureStorage.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureThreadContext.java b/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureThreadContext.java index cc7236a79..ddfcc5c12 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureThreadContext.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureThreadContext.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/listener/ContainerLifecycleListener.java b/allure-java-commons/src/main/java/io/qameta/allure/listener/ContainerLifecycleListener.java index 73db041ad..e8cca6af8 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/listener/ContainerLifecycleListener.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/listener/ContainerLifecycleListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/listener/FixtureLifecycleListener.java b/allure-java-commons/src/main/java/io/qameta/allure/listener/FixtureLifecycleListener.java index cb2e70558..39296505a 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/listener/FixtureLifecycleListener.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/listener/FixtureLifecycleListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/listener/LifecycleListener.java b/allure-java-commons/src/main/java/io/qameta/allure/listener/LifecycleListener.java index b6930873b..b411081f2 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/listener/LifecycleListener.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/listener/LifecycleListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/listener/LifecycleNotifier.java b/allure-java-commons/src/main/java/io/qameta/allure/listener/LifecycleNotifier.java index 92f56097a..d74a3107d 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/listener/LifecycleNotifier.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/listener/LifecycleNotifier.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/listener/StepLifecycleListener.java b/allure-java-commons/src/main/java/io/qameta/allure/listener/StepLifecycleListener.java index f59b5b812..e304beab3 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/listener/StepLifecycleListener.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/listener/StepLifecycleListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/listener/TestLifecycleListener.java b/allure-java-commons/src/main/java/io/qameta/allure/listener/TestLifecycleListener.java index 12a0b1ea6..bed90719b 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/listener/TestLifecycleListener.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/listener/TestLifecycleListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/AnnotationUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/AnnotationUtils.java index b575111e0..d241a4683 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/AnnotationUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/AnnotationUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/AspectUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/AspectUtils.java index 640298f9d..ea6396924 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/AspectUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/AspectUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/ExceptionUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/ExceptionUtils.java index 4764b04f2..e658e8e28 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/ExceptionUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/ExceptionUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/NamingUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/NamingUtils.java index f52209b51..ba129a460 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/NamingUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/NamingUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/ObjectUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/ObjectUtils.java index 5c7eccf0b..f20f935e8 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/ObjectUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/ObjectUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/ParameterUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/ParameterUtils.java index f0e68f7ec..2cb2687c9 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/ParameterUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/ParameterUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/PropertiesUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/PropertiesUtils.java index cd8b4d657..da96fe87b 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/PropertiesUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/PropertiesUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/ResultsUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/ResultsUtils.java index aa86319d2..8d8acd47c 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/ResultsUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/ResultsUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/ServiceLoaderUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/ServiceLoaderUtils.java index 64d09f047..c6ff3c5b9 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/ServiceLoaderUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/ServiceLoaderUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java b/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java index 35ea19d86..cf8fa80b9 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/AllureTest.java b/allure-java-commons/src/test/java/io/qameta/allure/AllureTest.java index 9e874187c..a4b8afa51 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/AllureTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/AllureTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/FileSystemResultsWriterTest.java b/allure-java-commons/src/test/java/io/qameta/allure/FileSystemResultsWriterTest.java index 9c0b103c6..d4bc5bda0 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/FileSystemResultsWriterTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/FileSystemResultsWriterTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/ResultsUtilsTest.java b/allure-java-commons/src/test/java/io/qameta/allure/ResultsUtilsTest.java index 44b77706b..3e70d0a03 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/ResultsUtilsTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/ResultsUtilsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/StepLifecycleListenerTest.java b/allure-java-commons/src/test/java/io/qameta/allure/StepLifecycleListenerTest.java index 5a325a5f0..bd09c6935 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/StepLifecycleListenerTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/StepLifecycleListenerTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/aspects/StepsAspectsTest.java b/allure-java-commons/src/test/java/io/qameta/allure/aspects/StepsAspectsTest.java index eb2cfb8c5..dd053822e 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/aspects/StepsAspectsTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/aspects/StepsAspectsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/internal/AllureThreadContextTest.java b/allure-java-commons/src/test/java/io/qameta/allure/internal/AllureThreadContextTest.java index 722e1027f..77fefe583 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/internal/AllureThreadContextTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/internal/AllureThreadContextTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/testdata/DummyCard.java b/allure-java-commons/src/test/java/io/qameta/allure/testdata/DummyCard.java index ff3473519..7cdf5ebe2 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/testdata/DummyCard.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/testdata/DummyCard.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/testdata/DummyEmail.java b/allure-java-commons/src/test/java/io/qameta/allure/testdata/DummyEmail.java index 8231cb698..31f42ec82 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/testdata/DummyEmail.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/testdata/DummyEmail.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/testdata/DummyUser.java b/allure-java-commons/src/test/java/io/qameta/allure/testdata/DummyUser.java index 60c58714b..d9476fda9 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/testdata/DummyUser.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/testdata/DummyUser.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/util/AnnotationUtilsTest.java b/allure-java-commons/src/test/java/io/qameta/allure/util/AnnotationUtilsTest.java index b7eaa4b04..71d3b47d8 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/util/AnnotationUtilsTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/util/AnnotationUtilsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/util/NamingUtilsTest.java b/allure-java-commons/src/test/java/io/qameta/allure/util/NamingUtilsTest.java index c1fb825fa..422c825cd 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/util/NamingUtilsTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/util/NamingUtilsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-commons/src/test/java/io/qameta/allure/util/ObjectUtilsTest.java b/allure-java-commons/src/test/java/io/qameta/allure/util/ObjectUtilsTest.java index 64045ea81..218ef4a33 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/util/ObjectUtilsTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/util/ObjectUtilsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Annotations.java b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Annotations.java index 0bb4ebe84..1232ea19a 100644 --- a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Annotations.java +++ b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Annotations.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1AttachAspects.java b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1AttachAspects.java index d3c8e21b6..b575be44e 100644 --- a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1AttachAspects.java +++ b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1AttachAspects.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1ParametersAspects.java b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1ParametersAspects.java index 7eacbabdb..c80e556aa 100644 --- a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1ParametersAspects.java +++ b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1ParametersAspects.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1StepsAspects.java b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1StepsAspects.java index c3d93787d..9fcfd8531 100644 --- a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1StepsAspects.java +++ b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1StepsAspects.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1TestCaseAspects.java b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1TestCaseAspects.java index 8e0a1ed91..3267b3bdf 100644 --- a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1TestCaseAspects.java +++ b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1TestCaseAspects.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Utils.java b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Utils.java index 48acffa35..a80c9ba36 100644 --- a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Utils.java +++ b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Utils.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Attachment.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Attachment.java index 8b919da51..108904979 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Attachment.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Attachment.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Description.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Description.java index 694d1ad63..f3a9fcc38 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Description.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Description.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Features.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Features.java index 32ed82576..71659ddbe 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Features.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Features.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Issue.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Issue.java index 82e0af871..cbd576255 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Issue.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Issue.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Issues.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Issues.java index 6dc700f9d..e77ec28fc 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Issues.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Issues.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Parameter.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Parameter.java index 970a73448..8642fee4a 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Parameter.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Parameter.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Severity.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Severity.java index 1d0c86e75..2b8013ffc 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Severity.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Severity.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Step.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Step.java index 92f3266fb..993f11ccb 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Step.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Step.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Stories.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Stories.java index 09e4470fb..bff28bd3e 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Stories.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Stories.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/TestCaseId.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/TestCaseId.java index 3b43d7f23..3f3d010b9 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/TestCaseId.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/TestCaseId.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Title.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Title.java index cfc836e6b..b24e62303 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Title.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Title.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/model/DescriptionType.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/model/DescriptionType.java index e0bdbe22f..8fb2988c2 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/model/DescriptionType.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/model/DescriptionType.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/model/SeverityLevel.java b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/model/SeverityLevel.java index e37bf5b71..0f0f50044 100644 --- a/allure-java-migration/src/main/java/ru/yandex/qatools/allure/model/SeverityLevel.java +++ b/allure-java-migration/src/main/java/ru/yandex/qatools/allure/model/SeverityLevel.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1AttachAspectsTest.java b/allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1AttachAspectsTest.java index 47df223cf..96734ba5b 100644 --- a/allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1AttachAspectsTest.java +++ b/allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1AttachAspectsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1StepsAspectsTest.java b/allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1StepsAspectsTest.java index 6458b5f47..f62082a0c 100644 --- a/allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1StepsAspectsTest.java +++ b/allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1StepsAspectsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1TestCaseAspectsTest.java b/allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1TestCaseAspectsTest.java index 9f92462a7..03c0b2071 100644 --- a/allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1TestCaseAspectsTest.java +++ b/allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1TestCaseAspectsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jax-rs/src/main/java/io/qameta/allure/jaxrs/AllureJaxRs.java b/allure-jax-rs/src/main/java/io/qameta/allure/jaxrs/AllureJaxRs.java index 7d28b0a1f..d7f61baa0 100644 --- a/allure-jax-rs/src/main/java/io/qameta/allure/jaxrs/AllureJaxRs.java +++ b/allure-jax-rs/src/main/java/io/qameta/allure/jaxrs/AllureJaxRs.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jax-rs/src/test/java/io/qameta/allure/httpclient/AllureJaxRsTest.java b/allure-jax-rs/src/test/java/io/qameta/allure/httpclient/AllureJaxRsTest.java index 3f3ea9e27..d0bc75158 100644 --- a/allure-jax-rs/src/test/java/io/qameta/allure/httpclient/AllureJaxRsTest.java +++ b/allure-jax-rs/src/test/java/io/qameta/allure/httpclient/AllureJaxRsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jbehave/src/main/java/io/qameta/allure/jbehave/AllureJbehave.java b/allure-jbehave/src/main/java/io/qameta/allure/jbehave/AllureJbehave.java index b362e3e71..d1ee185b7 100644 --- a/allure-jbehave/src/main/java/io/qameta/allure/jbehave/AllureJbehave.java +++ b/allure-jbehave/src/main/java/io/qameta/allure/jbehave/AllureJbehave.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jbehave/src/test/java/io/qameta/allure/jbehave/AllureJbehaveTest.java b/allure-jbehave/src/test/java/io/qameta/allure/jbehave/AllureJbehaveTest.java index a2f7fe9c2..5e7035e47 100644 --- a/allure-jbehave/src/test/java/io/qameta/allure/jbehave/AllureJbehaveTest.java +++ b/allure-jbehave/src/test/java/io/qameta/allure/jbehave/AllureJbehaveTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jbehave/src/test/java/io/qameta/allure/jbehave/LoggingReporter.java b/allure-jbehave/src/test/java/io/qameta/allure/jbehave/LoggingReporter.java index 19103dfb4..dc3b7ba83 100644 --- a/allure-jbehave/src/test/java/io/qameta/allure/jbehave/LoggingReporter.java +++ b/allure-jbehave/src/test/java/io/qameta/allure/jbehave/LoggingReporter.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jbehave/src/test/java/io/qameta/allure/jbehave/samples/BrokenStorySteps.java b/allure-jbehave/src/test/java/io/qameta/allure/jbehave/samples/BrokenStorySteps.java index edc2a804e..e401c825f 100644 --- a/allure-jbehave/src/test/java/io/qameta/allure/jbehave/samples/BrokenStorySteps.java +++ b/allure-jbehave/src/test/java/io/qameta/allure/jbehave/samples/BrokenStorySteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jbehave/src/test/java/io/qameta/allure/jbehave/samples/SimpleStorySteps.java b/allure-jbehave/src/test/java/io/qameta/allure/jbehave/samples/SimpleStorySteps.java index 9e7a664b0..45a93ede9 100644 --- a/allure-jbehave/src/test/java/io/qameta/allure/jbehave/samples/SimpleStorySteps.java +++ b/allure-jbehave/src/test/java/io/qameta/allure/jbehave/samples/SimpleStorySteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jbehave5/src/main/java/io/qameta/allure/jbehave5/AllureJbehave5.java b/allure-jbehave5/src/main/java/io/qameta/allure/jbehave5/AllureJbehave5.java index 3c38c214c..266fbf626 100644 --- a/allure-jbehave5/src/main/java/io/qameta/allure/jbehave5/AllureJbehave5.java +++ b/allure-jbehave5/src/main/java/io/qameta/allure/jbehave5/AllureJbehave5.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/AllureJbehave5Test.java b/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/AllureJbehave5Test.java index 3b15aeaca..eb670babc 100644 --- a/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/AllureJbehave5Test.java +++ b/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/AllureJbehave5Test.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/LoggingReporter.java b/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/LoggingReporter.java index 44a416927..3389fe420 100644 --- a/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/LoggingReporter.java +++ b/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/LoggingReporter.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/samples/BrokenStorySteps.java b/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/samples/BrokenStorySteps.java index a96a97a0c..e1a0b5e2b 100644 --- a/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/samples/BrokenStorySteps.java +++ b/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/samples/BrokenStorySteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/samples/SimpleStorySteps.java b/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/samples/SimpleStorySteps.java index 883199e9e..99aab03b3 100644 --- a/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/samples/SimpleStorySteps.java +++ b/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/samples/SimpleStorySteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jooq/src/main/java/io/qameta/allure/jooq/AllureJooq.java b/allure-jooq/src/main/java/io/qameta/allure/jooq/AllureJooq.java index 79c976ae7..3d314b172 100644 --- a/allure-jooq/src/main/java/io/qameta/allure/jooq/AllureJooq.java +++ b/allure-jooq/src/main/java/io/qameta/allure/jooq/AllureJooq.java @@ -1,5 +1,5 @@ /* - * Copyright 2016-2022 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jooq/src/test/java/io/qameta/allure/jooq/AllureJooqTest.java b/allure-jooq/src/test/java/io/qameta/allure/jooq/AllureJooqTest.java index b1804ff82..d4e6f853e 100644 --- a/allure-jooq/src/test/java/io/qameta/allure/jooq/AllureJooqTest.java +++ b/allure-jooq/src/test/java/io/qameta/allure/jooq/AllureJooqTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/AbstractJsonPatchMatcher.java b/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/AbstractJsonPatchMatcher.java index 875adf470..6a940d4dc 100644 --- a/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/AbstractJsonPatchMatcher.java +++ b/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/AbstractJsonPatchMatcher.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/AllureConfigurableJsonMatcher.java b/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/AllureConfigurableJsonMatcher.java index 05871c70d..07851666f 100644 --- a/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/AllureConfigurableJsonMatcher.java +++ b/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/AllureConfigurableJsonMatcher.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/DiffAttachment.java b/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/DiffAttachment.java index bd7e7b60c..c747b1121 100644 --- a/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/DiffAttachment.java +++ b/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/DiffAttachment.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/DiffModel.java b/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/DiffModel.java index 514a0215e..3a65e6012 100644 --- a/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/DiffModel.java +++ b/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/DiffModel.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/JsonPatchListener.java b/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/JsonPatchListener.java index df7a7dc49..1a92c20f0 100644 --- a/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/JsonPatchListener.java +++ b/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/JsonPatchListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/JsonPatchMatcher.java b/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/JsonPatchMatcher.java index 34d154682..b9f53b131 100644 --- a/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/JsonPatchMatcher.java +++ b/allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/JsonPatchMatcher.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jsonunit/src/test/java/io/qameta/allure/jsonunit/JsonPatchListenerTest.java b/allure-jsonunit/src/test/java/io/qameta/allure/jsonunit/JsonPatchListenerTest.java index 28f3cb80e..4b6b043ac 100644 --- a/allure-jsonunit/src/test/java/io/qameta/allure/jsonunit/JsonPatchListenerTest.java +++ b/allure-jsonunit/src/test/java/io/qameta/allure/jsonunit/JsonPatchListenerTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-jsonunit/src/test/java/io/qameta/allure/jsonunit/JsonPatchMatcherTests.java b/allure-jsonunit/src/test/java/io/qameta/allure/jsonunit/JsonPatchMatcherTests.java index 7959ddcf9..29e85869d 100644 --- a/allure-jsonunit/src/test/java/io/qameta/allure/jsonunit/JsonPatchMatcherTests.java +++ b/allure-jsonunit/src/test/java/io/qameta/allure/jsonunit/JsonPatchMatcherTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java index 75b1c1e07..e7303595d 100644 --- a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java +++ b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatformUtils.java b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatformUtils.java index d7727fd20..14769ed22 100644 --- a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatformUtils.java +++ b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatformUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllurePostDiscoveryFilter.java b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllurePostDiscoveryFilter.java index 8e802de7d..56525bd02 100644 --- a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllurePostDiscoveryFilter.java +++ b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllurePostDiscoveryFilter.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTest.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTest.java index 930c35764..33be21458 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTest.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTestUtils.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTestUtils.java index b26897f22..df27d2f3e 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTestUtils.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTestUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllurePostDiscoveryFilterTest.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllurePostDiscoveryFilterTest.java index 2f7dfc144..eb13add0b 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllurePostDiscoveryFilterTest.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllurePostDiscoveryFilterTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/AllureIdAnnotationSupport.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/AllureIdAnnotationSupport.java index 2db9bcdf2..5fce824ad 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/AllureIdAnnotationSupport.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/AllureIdAnnotationSupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/BrokenInAfterAllTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/BrokenInAfterAllTests.java index 32a766fe8..2fb9f401b 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/BrokenInAfterAllTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/BrokenInAfterAllTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/BrokenInBeforeAllTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/BrokenInBeforeAllTests.java index c9ba4f15e..f91459bad 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/BrokenInBeforeAllTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/BrokenInBeforeAllTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/BrokenTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/BrokenTests.java index e286688b3..a69c7c4f9 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/BrokenTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/BrokenTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DescriptionJavadocTest.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DescriptionJavadocTest.java index 6a769becf..d4fa32846 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DescriptionJavadocTest.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DescriptionJavadocTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DisabledRepeatedTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DisabledRepeatedTests.java index 88da3190b..f3e8101f7 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DisabledRepeatedTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DisabledRepeatedTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DisabledTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DisabledTests.java index b6794dbe8..48cfcef98 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DisabledTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DisabledTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DisplayNameOnClassTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DisplayNameOnClassTests.java index 77b7be46f..a3940fa20 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DisplayNameOnClassTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DisplayNameOnClassTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DynamicTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DynamicTests.java index 74debbb95..1a8a1d779 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DynamicTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/DynamicTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/FailedTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/FailedTests.java index 6c7a79df0..91be711a6 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/FailedTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/FailedTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/FilterParameterizedTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/FilterParameterizedTests.java index f7bf17ad1..44867edd0 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/FilterParameterizedTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/FilterParameterizedTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/FilterSimpleTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/FilterSimpleTests.java index 11ee50512..dad7fcb45 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/FilterSimpleTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/FilterSimpleTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/JupiterUniqueIdTest.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/JupiterUniqueIdTest.java index 2ff1ecf52..d3f33cafc 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/JupiterUniqueIdTest.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/JupiterUniqueIdTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/MarkerAnnotationSupport.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/MarkerAnnotationSupport.java index f2ee83da6..b8c91afbe 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/MarkerAnnotationSupport.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/MarkerAnnotationSupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/OneTest.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/OneTest.java index 6b64f3932..9a9ea4136 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/OneTest.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/OneTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/OwnerTest.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/OwnerTest.java index e1933ab01..f59e95fad 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/OwnerTest.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/OwnerTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ParallelTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ParallelTests.java index e580f5077..06dbe11f4 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ParallelTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ParallelTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ParameterisedTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ParameterisedTests.java index 19457b4ab..ee0606cd1 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ParameterisedTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ParameterisedTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ParameterisedTestsWithDisplayName.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ParameterisedTestsWithDisplayName.java index dfb83eff8..e3677440a 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ParameterisedTestsWithDisplayName.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ParameterisedTestsWithDisplayName.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/PassedTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/PassedTests.java index 7a38a1fd3..4b6cb9f62 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/PassedTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/PassedTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/RepeatedTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/RepeatedTests.java index 02797b0b8..a63a81cca 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/RepeatedTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/RepeatedTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ReportEntryParameter.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ReportEntryParameter.java index c7dc820d3..de199041f 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ReportEntryParameter.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/ReportEntryParameter.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/SeverityTest.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/SeverityTest.java index af0062a66..055a34537 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/SeverityTest.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/SeverityTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/SkippedInBeforeAllTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/SkippedInBeforeAllTests.java index ca6cc60c1..51e856360 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/SkippedInBeforeAllTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/SkippedInBeforeAllTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/SkippedTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/SkippedTests.java index b0f227314..17bfcafff 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/SkippedTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/SkippedTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TaggedTests.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TaggedTests.java index 8b287509f..8f544d85b 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TaggedTests.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TaggedTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestClassDisabled.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestClassDisabled.java index e12bdec81..bba2c9e0e 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestClassDisabled.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestClassDisabled.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestClassWithDisplayNameAnnotation.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestClassWithDisplayNameAnnotation.java index b9ddc449a..8dcf86e56 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestClassWithDisplayNameAnnotation.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestClassWithDisplayNameAnnotation.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestClassWithoutDisplayNameAnnotation.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestClassWithoutDisplayNameAnnotation.java index f018a3973..1119c59dc 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestClassWithoutDisplayNameAnnotation.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestClassWithoutDisplayNameAnnotation.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithClassLabels.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithClassLabels.java index f4d1867a1..d2ee4ed9f 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithClassLabels.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithClassLabels.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithClassLinks.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithClassLinks.java index 9ae2ab1f5..39701deca 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithClassLinks.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithClassLinks.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithDescription.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithDescription.java index 688931756..09d45396c 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithDescription.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithDescription.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithDisplayName.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithDisplayName.java index 480f345fd..77f6d1409 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithDisplayName.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithDisplayName.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithMethodLabels.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithMethodLabels.java index 16ec35209..a1f8b6706 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithMethodLabels.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithMethodLabels.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithMethodLinks.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithMethodLinks.java index 020c1dfd2..7310b02bb 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithMethodLinks.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithMethodLinks.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithSteps.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithSteps.java index b677ac22f..1e3762d4b 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithSteps.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithSystemErr.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithSystemErr.java index a63d21cf4..ee2c4a38a 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithSystemErr.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithSystemErr.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithSystemOut.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithSystemOut.java index 84552795b..e66f077ff 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithSystemOut.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestWithSystemOut.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestsWithAllureId.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestsWithAllureId.java index 26c8380d8..2f013ff0d 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestsWithAllureId.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/TestsWithAllureId.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4FilterAspect.java b/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4FilterAspect.java index b68fe181b..166933c16 100644 --- a/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4FilterAspect.java +++ b/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4FilterAspect.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4ListenerAspect.java b/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4ListenerAspect.java index b1d52f2f5..da9e03535 100644 --- a/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4ListenerAspect.java +++ b/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4ListenerAspect.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java b/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java index 8cf402579..ed594591b 100644 --- a/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java +++ b/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4Filter.java b/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4Filter.java index ea9cc77a7..f856bf269 100644 --- a/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4Filter.java +++ b/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4Filter.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4Utils.java b/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4Utils.java index 8cdb25c28..ebe87e56b 100644 --- a/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4Utils.java +++ b/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4Utils.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/main/java/io/qameta/allure/junit4/DisplayName.java b/allure-junit4/src/main/java/io/qameta/allure/junit4/DisplayName.java index 0b091f852..e72d01575 100644 --- a/allure-junit4/src/main/java/io/qameta/allure/junit4/DisplayName.java +++ b/allure-junit4/src/main/java/io/qameta/allure/junit4/DisplayName.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/main/java/io/qameta/allure/junit4/Tag.java b/allure-junit4/src/main/java/io/qameta/allure/junit4/Tag.java index b38023280..271dc7c5a 100644 --- a/allure-junit4/src/main/java/io/qameta/allure/junit4/Tag.java +++ b/allure-junit4/src/main/java/io/qameta/allure/junit4/Tag.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/main/java/io/qameta/allure/junit4/Tags.java b/allure-junit4/src/main/java/io/qameta/allure/junit4/Tags.java index 49bacad4b..112db3588 100644 --- a/allure-junit4/src/main/java/io/qameta/allure/junit4/Tags.java +++ b/allure-junit4/src/main/java/io/qameta/allure/junit4/Tags.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/SampleTestInDefaultPackage.java b/allure-junit4/src/test/java/SampleTestInDefaultPackage.java index a5b1dff0d..065c7d47a 100644 --- a/allure-junit4/src/test/java/SampleTestInDefaultPackage.java +++ b/allure-junit4/src/test/java/SampleTestInDefaultPackage.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/AllureJunit4Test.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/AllureJunit4Test.java index 7da9aba36..011443e08 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/AllureJunit4Test.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/AllureJunit4Test.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/AssumptionFailedTest.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/AssumptionFailedTest.java index 66b3874bd..ed9b654f2 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/AssumptionFailedTest.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/AssumptionFailedTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/BrokenTest.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/BrokenTest.java index 71510083c..a4a66c02a 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/BrokenTest.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/BrokenTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/BrokenWithoutMessageTest.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/BrokenWithoutMessageTest.java index 85d15ee48..d622552ef 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/BrokenWithoutMessageTest.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/BrokenWithoutMessageTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/DescriptionsJavadoc.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/DescriptionsJavadoc.java index 467f4c513..f7f0e97d1 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/DescriptionsJavadoc.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/DescriptionsJavadoc.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/FailedTest.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/FailedTest.java index 8d4fd2c35..9887d7f8c 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/FailedTest.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/FailedTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/FilterSimpleTests.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/FilterSimpleTests.java index 540b06ab4..31cec99f8 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/FilterSimpleTests.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/FilterSimpleTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/IgnoredClassTest.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/IgnoredClassTest.java index c17bceb5c..6702ec083 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/IgnoredClassTest.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/IgnoredClassTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/IgnoredTests.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/IgnoredTests.java index 18599f91e..ff16dc0f7 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/IgnoredTests.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/IgnoredTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/OneTest.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/OneTest.java index ed3e37ecd..3600cc143 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/OneTest.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/OneTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TaggedTests.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TaggedTests.java index 7c2fc3911..a72c91bc8 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TaggedTests.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TaggedTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestBasedOnSampleRunner.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestBasedOnSampleRunner.java index 64aa280ac..446dc661b 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestBasedOnSampleRunner.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestBasedOnSampleRunner.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestWithAnnotations.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestWithAnnotations.java index 0f843bbdf..3eb78a05a 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestWithAnnotations.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestWithAnnotations.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestWithSteps.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestWithSteps.java index f19e72e41..51f48e489 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestWithSteps.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestWithSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestWithTimeout.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestWithTimeout.java index 15133dfb8..53640d19a 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestWithTimeout.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TestWithTimeout.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TheoriesTest.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TheoriesTest.java index 22768d2b6..e668da036 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TheoriesTest.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/samples/TheoriesTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5-assert/src/main/java/io/qameta/allure/junit5assert/AllureJunit5Assert.java b/allure-junit5-assert/src/main/java/io/qameta/allure/junit5assert/AllureJunit5Assert.java index 375a3d19e..b483e0802 100644 --- a/allure-junit5-assert/src/main/java/io/qameta/allure/junit5assert/AllureJunit5Assert.java +++ b/allure-junit5-assert/src/main/java/io/qameta/allure/junit5assert/AllureJunit5Assert.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5-assert/src/test/java/io/qameta/allure/junit5assert/AllureJunit5AssertTest.java b/allure-junit5-assert/src/test/java/io/qameta/allure/junit5assert/AllureJunit5AssertTest.java index 44d187e5e..4848e2b90 100644 --- a/allure-junit5-assert/src/test/java/io/qameta/allure/junit5assert/AllureJunit5AssertTest.java +++ b/allure-junit5-assert/src/test/java/io/qameta/allure/junit5assert/AllureJunit5AssertTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5/src/main/java/io/qameta/allure/junit5/AllureJunit5.java b/allure-junit5/src/main/java/io/qameta/allure/junit5/AllureJunit5.java index f0fed32a9..6ede30ed2 100644 --- a/allure-junit5/src/main/java/io/qameta/allure/junit5/AllureJunit5.java +++ b/allure-junit5/src/main/java/io/qameta/allure/junit5/AllureJunit5.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5/src/test/java/io/qameta/allure/junit5/AllureJunit5Test.java b/allure-junit5/src/test/java/io/qameta/allure/junit5/AllureJunit5Test.java index 2ae6ecb78..09e15eb3d 100644 --- a/allure-junit5/src/test/java/io/qameta/allure/junit5/AllureJunit5Test.java +++ b/allure-junit5/src/test/java/io/qameta/allure/junit5/AllureJunit5Test.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/AfterEachFixtureBrokenSupport.java b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/AfterEachFixtureBrokenSupport.java index eacb46a00..1f7ba67dd 100644 --- a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/AfterEachFixtureBrokenSupport.java +++ b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/AfterEachFixtureBrokenSupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/AllFixtureSupport.java b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/AllFixtureSupport.java index 2ef2e0550..923d4f75b 100644 --- a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/AllFixtureSupport.java +++ b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/AllFixtureSupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/BeforeAllFixtureFailureSupport.java b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/BeforeAllFixtureFailureSupport.java index d34b07973..6cf6f09b3 100644 --- a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/BeforeAllFixtureFailureSupport.java +++ b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/BeforeAllFixtureFailureSupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/BeforeEachFixtureBrokenSupport.java b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/BeforeEachFixtureBrokenSupport.java index 9bd91d4c4..8084c1b56 100644 --- a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/BeforeEachFixtureBrokenSupport.java +++ b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/BeforeEachFixtureBrokenSupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/EachFixtureSupport.java b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/EachFixtureSupport.java index ac6005395..8231baf97 100644 --- a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/EachFixtureSupport.java +++ b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/EachFixtureSupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/ParameterisedBlankParameterValueTests.java b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/ParameterisedBlankParameterValueTests.java index 6a5b1eab5..ab53e4547 100644 --- a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/ParameterisedBlankParameterValueTests.java +++ b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/ParameterisedBlankParameterValueTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/ParameterisedPrimitivesTests.java b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/ParameterisedPrimitivesTests.java index a257a3581..1553e2a81 100644 --- a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/ParameterisedPrimitivesTests.java +++ b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/ParameterisedPrimitivesTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/ParameterisedTests.java b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/ParameterisedTests.java index e1ab37cf2..3cbb9adc6 100644 --- a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/ParameterisedTests.java +++ b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/ParameterisedTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/SkipOtherInjectables.java b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/SkipOtherInjectables.java index 4e566370b..9209f1ad7 100644 --- a/allure-junit5/src/test/java/io/qameta/allure/junit5/features/SkipOtherInjectables.java +++ b/allure-junit5/src/test/java/io/qameta/allure/junit5/features/SkipOtherInjectables.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-karate/src/main/java/io/qameta/allure/karate/AllureKarate.java b/allure-karate/src/main/java/io/qameta/allure/karate/AllureKarate.java index 9629018e3..a300f0ecd 100644 --- a/allure-karate/src/main/java/io/qameta/allure/karate/AllureKarate.java +++ b/allure-karate/src/main/java/io/qameta/allure/karate/AllureKarate.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-karate/src/test/java/io/qameta/allure/karate/AllureKarateTest.java b/allure-karate/src/test/java/io/qameta/allure/karate/AllureKarateTest.java index 782e6478b..21fba0ecf 100644 --- a/allure-karate/src/test/java/io/qameta/allure/karate/AllureKarateTest.java +++ b/allure-karate/src/test/java/io/qameta/allure/karate/AllureKarateTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-karate/src/test/java/io/qameta/allure/karate/TestRunner.java b/allure-karate/src/test/java/io/qameta/allure/karate/TestRunner.java index 099ef0a25..0e53fbf89 100644 --- a/allure-karate/src/test/java/io/qameta/allure/karate/TestRunner.java +++ b/allure-karate/src/test/java/io/qameta/allure/karate/TestRunner.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/Attachment.java b/allure-model/src/main/java/io/qameta/allure/model/Attachment.java index 750bc7239..dc5b36e7c 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/Attachment.java +++ b/allure-model/src/main/java/io/qameta/allure/model/Attachment.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/ExecutableItem.java b/allure-model/src/main/java/io/qameta/allure/model/ExecutableItem.java index b73cfee17..714a30b17 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/ExecutableItem.java +++ b/allure-model/src/main/java/io/qameta/allure/model/ExecutableItem.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/FixtureResult.java b/allure-model/src/main/java/io/qameta/allure/model/FixtureResult.java index 7c2e12427..20e7b3cdc 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/FixtureResult.java +++ b/allure-model/src/main/java/io/qameta/allure/model/FixtureResult.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/Label.java b/allure-model/src/main/java/io/qameta/allure/model/Label.java index d8b400379..af9c52595 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/Label.java +++ b/allure-model/src/main/java/io/qameta/allure/model/Label.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/Link.java b/allure-model/src/main/java/io/qameta/allure/model/Link.java index a5de7c71d..7009aee99 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/Link.java +++ b/allure-model/src/main/java/io/qameta/allure/model/Link.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/Parameter.java b/allure-model/src/main/java/io/qameta/allure/model/Parameter.java index b41727380..6fbb0fb00 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/Parameter.java +++ b/allure-model/src/main/java/io/qameta/allure/model/Parameter.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/Stage.java b/allure-model/src/main/java/io/qameta/allure/model/Stage.java index 14b0b199b..697478122 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/Stage.java +++ b/allure-model/src/main/java/io/qameta/allure/model/Stage.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/Status.java b/allure-model/src/main/java/io/qameta/allure/model/Status.java index 4f6c73d55..15c275bd2 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/Status.java +++ b/allure-model/src/main/java/io/qameta/allure/model/Status.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/StatusDetails.java b/allure-model/src/main/java/io/qameta/allure/model/StatusDetails.java index 940ffd9d1..92e5449e5 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/StatusDetails.java +++ b/allure-model/src/main/java/io/qameta/allure/model/StatusDetails.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/StepResult.java b/allure-model/src/main/java/io/qameta/allure/model/StepResult.java index 04855631a..92de00ecf 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/StepResult.java +++ b/allure-model/src/main/java/io/qameta/allure/model/StepResult.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/TestResult.java b/allure-model/src/main/java/io/qameta/allure/model/TestResult.java index fdbd569db..f6eb0f1f1 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/TestResult.java +++ b/allure-model/src/main/java/io/qameta/allure/model/TestResult.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/TestResultContainer.java b/allure-model/src/main/java/io/qameta/allure/model/TestResultContainer.java index db4f430cb..b83500026 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/TestResultContainer.java +++ b/allure-model/src/main/java/io/qameta/allure/model/TestResultContainer.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/WithAttachments.java b/allure-model/src/main/java/io/qameta/allure/model/WithAttachments.java index 970ba3262..772228218 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/WithAttachments.java +++ b/allure-model/src/main/java/io/qameta/allure/model/WithAttachments.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/WithLinks.java b/allure-model/src/main/java/io/qameta/allure/model/WithLinks.java index 35d93ae89..63d640788 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/WithLinks.java +++ b/allure-model/src/main/java/io/qameta/allure/model/WithLinks.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/WithParameters.java b/allure-model/src/main/java/io/qameta/allure/model/WithParameters.java index 59634c8fd..4b043d412 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/WithParameters.java +++ b/allure-model/src/main/java/io/qameta/allure/model/WithParameters.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/WithStatus.java b/allure-model/src/main/java/io/qameta/allure/model/WithStatus.java index 14ce4ecd8..8fdd95234 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/WithStatus.java +++ b/allure-model/src/main/java/io/qameta/allure/model/WithStatus.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/WithStatusDetails.java b/allure-model/src/main/java/io/qameta/allure/model/WithStatusDetails.java index 409886584..08400c748 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/WithStatusDetails.java +++ b/allure-model/src/main/java/io/qameta/allure/model/WithStatusDetails.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-model/src/main/java/io/qameta/allure/model/WithSteps.java b/allure-model/src/main/java/io/qameta/allure/model/WithSteps.java index 11952fa58..c225a6c27 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/WithSteps.java +++ b/allure-model/src/main/java/io/qameta/allure/model/WithSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-okhttp/src/main/java/io/qameta/allure/okhttp/AllureOkHttp.java b/allure-okhttp/src/main/java/io/qameta/allure/okhttp/AllureOkHttp.java index 781927cf5..4826eb0ea 100644 --- a/allure-okhttp/src/main/java/io/qameta/allure/okhttp/AllureOkHttp.java +++ b/allure-okhttp/src/main/java/io/qameta/allure/okhttp/AllureOkHttp.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-okhttp/src/test/java/io/qameta/allure/okhttp/AllureOkHttp3Test.java b/allure-okhttp/src/test/java/io/qameta/allure/okhttp/AllureOkHttp3Test.java index 15e39c6fe..4a6c9dc3f 100644 --- a/allure-okhttp/src/test/java/io/qameta/allure/okhttp/AllureOkHttp3Test.java +++ b/allure-okhttp/src/test/java/io/qameta/allure/okhttp/AllureOkHttp3Test.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-okhttp3/src/main/java/io/qameta/allure/okhttp3/AllureOkHttp3.java b/allure-okhttp3/src/main/java/io/qameta/allure/okhttp3/AllureOkHttp3.java index e47a956bd..bb784fb00 100644 --- a/allure-okhttp3/src/main/java/io/qameta/allure/okhttp3/AllureOkHttp3.java +++ b/allure-okhttp3/src/main/java/io/qameta/allure/okhttp3/AllureOkHttp3.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-okhttp3/src/test/java/io/qameta/allure/okhttp3/AllureOkHttp3Test.java b/allure-okhttp3/src/test/java/io/qameta/allure/okhttp3/AllureOkHttp3Test.java index 3d0adc6c1..b2a8630f4 100644 --- a/allure-okhttp3/src/test/java/io/qameta/allure/okhttp3/AllureOkHttp3Test.java +++ b/allure-okhttp3/src/test/java/io/qameta/allure/okhttp3/AllureOkHttp3Test.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java index f7ed171cb..9a9861826 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/AllureObjectMapperFactory.java b/allure-reader/src/main/java/io/qameta/allure/reader/AllureObjectMapperFactory.java index ad91d2899..88fe9eccf 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/AllureObjectMapperFactory.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/AllureObjectMapperFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java index a83ba7c65..f048e72e1 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java index 47858a16c..8b6ddb62a 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java index 2500e65ca..f7824aa0e 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-rest-assured/src/main/java/io/qameta/allure/restassured/AllureRestAssured.java b/allure-rest-assured/src/main/java/io/qameta/allure/restassured/AllureRestAssured.java index a916012fe..6eebf322c 100644 --- a/allure-rest-assured/src/main/java/io/qameta/allure/restassured/AllureRestAssured.java +++ b/allure-rest-assured/src/main/java/io/qameta/allure/restassured/AllureRestAssured.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-rest-assured/src/test/java/io/qameta/allure/restassured/AllureRestAssuredTest.java b/allure-rest-assured/src/test/java/io/qameta/allure/restassured/AllureRestAssuredTest.java index d3121ed0f..f38e778af 100644 --- a/allure-rest-assured/src/test/java/io/qameta/allure/restassured/AllureRestAssuredTest.java +++ b/allure-rest-assured/src/test/java/io/qameta/allure/restassured/AllureRestAssuredTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-scalatest/src/main/scala/io/qameta/allure/scalatest/AllureScalatest.scala b/allure-scalatest/src/main/scala/io/qameta/allure/scalatest/AllureScalatest.scala index defd7019c..a1b84719e 100644 --- a/allure-scalatest/src/main/scala/io/qameta/allure/scalatest/AllureScalatest.scala +++ b/allure-scalatest/src/main/scala/io/qameta/allure/scalatest/AllureScalatest.scala @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/AllureScalatestTest.scala b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/AllureScalatestTest.scala index 085e617a4..03f172a3d 100644 --- a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/AllureScalatestTest.scala +++ b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/AllureScalatestTest.scala @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/AllureApiSpec.scala b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/AllureApiSpec.scala index 1b0e55df2..77cb1fdc5 100644 --- a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/AllureApiSpec.scala +++ b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/AllureApiSpec.scala @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/AnnotationsOnClassSpec.scala b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/AnnotationsOnClassSpec.scala index 85e283061..9e7b6460c 100644 --- a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/AnnotationsOnClassSpec.scala +++ b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/AnnotationsOnClassSpec.scala @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/BrokenSpec.scala b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/BrokenSpec.scala index 11e41d4d7..351fddf4a 100644 --- a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/BrokenSpec.scala +++ b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/BrokenSpec.scala @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/CancelledSpec.scala b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/CancelledSpec.scala index 66b84ea75..b13b174bd 100644 --- a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/CancelledSpec.scala +++ b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/CancelledSpec.scala @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/FailedSpec.scala b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/FailedSpec.scala index 26e2d1ce7..29f996fef 100644 --- a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/FailedSpec.scala +++ b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/FailedSpec.scala @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/IgnoredSpec.scala b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/IgnoredSpec.scala index 8cba30608..9a13d712d 100644 --- a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/IgnoredSpec.scala +++ b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/IgnoredSpec.scala @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/SeveritySpec.scala b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/SeveritySpec.scala index d363790c0..39011d68b 100644 --- a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/SeveritySpec.scala +++ b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/SeveritySpec.scala @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/SimpleSpec.scala b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/SimpleSpec.scala index e94fcd842..31bfcb563 100644 --- a/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/SimpleSpec.scala +++ b/allure-scalatest/src/test/scala/io/qameta/allure/scalatest/testdata/SimpleSpec.scala @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-selenide/src/main/java/io/qameta/allure/selenide/AllureSelenide.java b/allure-selenide/src/main/java/io/qameta/allure/selenide/AllureSelenide.java index 53aceea47..ca06a32b4 100644 --- a/allure-selenide/src/main/java/io/qameta/allure/selenide/AllureSelenide.java +++ b/allure-selenide/src/main/java/io/qameta/allure/selenide/AllureSelenide.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-selenide/src/main/java/io/qameta/allure/selenide/LogType.java b/allure-selenide/src/main/java/io/qameta/allure/selenide/LogType.java index 9857debe2..97995efc5 100644 --- a/allure-selenide/src/main/java/io/qameta/allure/selenide/LogType.java +++ b/allure-selenide/src/main/java/io/qameta/allure/selenide/LogType.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-selenide/src/test/java/io/qameta/allure/selenide/AllureSelenideTest.java b/allure-selenide/src/test/java/io/qameta/allure/selenide/AllureSelenideTest.java index 4aaabffd7..889fd8ff5 100644 --- a/allure-selenide/src/test/java/io/qameta/allure/selenide/AllureSelenideTest.java +++ b/allure-selenide/src/test/java/io/qameta/allure/selenide/AllureSelenideTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-servlet-api/src/main/java/io/qameta/allure/servletapi/HttpServletAttachmentBuilder.java b/allure-servlet-api/src/main/java/io/qameta/allure/servletapi/HttpServletAttachmentBuilder.java index b3a547053..5822a102a 100644 --- a/allure-servlet-api/src/main/java/io/qameta/allure/servletapi/HttpServletAttachmentBuilder.java +++ b/allure-servlet-api/src/main/java/io/qameta/allure/servletapi/HttpServletAttachmentBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/main/java/io/qameta/allure/spock/AllureSpock.java b/allure-spock/src/main/java/io/qameta/allure/spock/AllureSpock.java index 4157abd74..6ef5a51dd 100644 --- a/allure-spock/src/main/java/io/qameta/allure/spock/AllureSpock.java +++ b/allure-spock/src/main/java/io/qameta/allure/spock/AllureSpock.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/AllureSpockTest.java b/allure-spock/src/test/groovy/io/qameta/allure/spock/AllureSpockTest.java index 4b9e005ca..afb51f3ef 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/AllureSpockTest.java +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/AllureSpockTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/BrokenTest.groovy b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/BrokenTest.groovy index f3b7b5d33..908722f4a 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/BrokenTest.groovy +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/BrokenTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/DataDrivenTest.groovy b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/DataDrivenTest.groovy index 4b5512c81..e07a9db3a 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/DataDrivenTest.groovy +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/DataDrivenTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/FailedTest.groovy b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/FailedTest.groovy index 913120c53..00bf73451 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/FailedTest.groovy +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/FailedTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/JiraIssue.groovy b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/JiraIssue.groovy index ec3afda57..ad8c2234c 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/JiraIssue.groovy +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/JiraIssue.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/OneTest.groovy b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/OneTest.groovy index 055a01137..28f18540e 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/OneTest.groovy +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/OneTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/ParametersTest.groovy b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/ParametersTest.groovy index 3f357adbd..506c514ba 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/ParametersTest.groovy +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/ParametersTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithAnnotations.groovy b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithAnnotations.groovy index 95e80a03c..d7b086890 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithAnnotations.groovy +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithAnnotations.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithAnnotationsOnClass.groovy b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithAnnotationsOnClass.groovy index 5b7f691a6..c6eda8825 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithAnnotationsOnClass.groovy +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithAnnotationsOnClass.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithCustomAnnotations.groovy b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithCustomAnnotations.groovy index 1995b0575..32efd0e2a 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithCustomAnnotations.groovy +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithCustomAnnotations.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithSteps.groovy b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithSteps.groovy index 438e4a162..1e019b408 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithSteps.groovy +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/TestWithSteps.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/XrayId.groovy b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/XrayId.groovy index cd91a219f..2055e1d73 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/XrayId.groovy +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/samples/XrayId.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/main/java/io/qameta/allure/spock2/AllureSpock2.java b/allure-spock2/src/main/java/io/qameta/allure/spock2/AllureSpock2.java index 9c973b7de..a07a47f06 100644 --- a/allure-spock2/src/main/java/io/qameta/allure/spock2/AllureSpock2.java +++ b/allure-spock2/src/main/java/io/qameta/allure/spock2/AllureSpock2.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/main/java/io/qameta/allure/spock2/compiler/AllureStatementsLabelsToStepsTransformation.java b/allure-spock2/src/main/java/io/qameta/allure/spock2/compiler/AllureStatementsLabelsToStepsTransformation.java index e97e15594..c90a393ab 100644 --- a/allure-spock2/src/main/java/io/qameta/allure/spock2/compiler/AllureStatementsLabelsToStepsTransformation.java +++ b/allure-spock2/src/main/java/io/qameta/allure/spock2/compiler/AllureStatementsLabelsToStepsTransformation.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/AllureSpock2Test.java b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/AllureSpock2Test.java index 38fa96dc1..402a77eef 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/AllureSpock2Test.java +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/AllureSpock2Test.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/BrokenTest.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/BrokenTest.groovy index ec7f8c110..722cdc975 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/BrokenTest.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/BrokenTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/DataDrivenTest.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/DataDrivenTest.groovy index 572f7489a..8a7a62afd 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/DataDrivenTest.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/DataDrivenTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/FailedTest.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/FailedTest.groovy index e0e1cb8f6..b690390b2 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/FailedTest.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/FailedTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/FixturesTest.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/FixturesTest.groovy index f0b747b35..581241776 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/FixturesTest.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/FixturesTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/HelloSpockSpec.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/HelloSpockSpec.groovy index b8ab906df..890d8aca1 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/HelloSpockSpec.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/HelloSpockSpec.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2022 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/JiraIssue.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/JiraIssue.groovy index a35128212..3ae0b7f34 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/JiraIssue.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/JiraIssue.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/OneTest.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/OneTest.groovy index debc96f55..27e7e70dd 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/OneTest.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/OneTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/ParametersTest.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/ParametersTest.groovy index 252f16ec1..d5b4f5beb 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/ParametersTest.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/ParametersTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/SpecFixtures.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/SpecFixtures.groovy index 7e4c8c0b0..3884e6fed 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/SpecFixtures.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/SpecFixtures.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/SpecInheritanceSpec.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/SpecInheritanceSpec.groovy index d0b598387..41a1ef57f 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/SpecInheritanceSpec.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/SpecInheritanceSpec.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2022 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/SpockTags.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/SpockTags.groovy index 7bcf50ff2..25940b3c1 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/SpockTags.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/SpockTags.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/StepsAndBlocks.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/StepsAndBlocks.groovy index 47dff03e0..2aed57c68 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/StepsAndBlocks.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/StepsAndBlocks.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithAnnotations.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithAnnotations.groovy index d5065cafd..8f1a4b46e 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithAnnotations.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithAnnotations.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithAnnotationsOnClass.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithAnnotationsOnClass.groovy index 169711214..58347d7b2 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithAnnotationsOnClass.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithAnnotationsOnClass.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithCustomAnnotations.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithCustomAnnotations.groovy index 78e290cdf..a535ba9c4 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithCustomAnnotations.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithCustomAnnotations.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithSteps.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithSteps.groovy index ac6029158..c80c9e4ab 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithSteps.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestWithSteps.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestsWithIdForFilter.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestsWithIdForFilter.groovy index b05be8128..64ae85712 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestsWithIdForFilter.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/TestsWithIdForFilter.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2023 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/XrayId.groovy b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/XrayId.groovy index ab73089df..ac88117c5 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/XrayId.groovy +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/samples/XrayId.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spring-web/src/main/java/io/qameta/allure/springweb/AllureRestTemplate.java b/allure-spring-web/src/main/java/io/qameta/allure/springweb/AllureRestTemplate.java index 012ceb974..9f1daf988 100644 --- a/allure-spring-web/src/main/java/io/qameta/allure/springweb/AllureRestTemplate.java +++ b/allure-spring-web/src/main/java/io/qameta/allure/springweb/AllureRestTemplate.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-spring-web/src/test/java/io/qameta/allure/springweb/AllureRestTemplateTest.java b/allure-spring-web/src/test/java/io/qameta/allure/springweb/AllureRestTemplateTest.java index 8da4532dc..3911b640f 100644 --- a/allure-spring-web/src/test/java/io/qameta/allure/springweb/AllureRestTemplateTest.java +++ b/allure-spring-web/src/test/java/io/qameta/allure/springweb/AllureRestTemplateTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-test-filter/src/main/java/io/qameta/allure/testfilter/FileTestPlanSupplier.java b/allure-test-filter/src/main/java/io/qameta/allure/testfilter/FileTestPlanSupplier.java index 901b685da..5587bbf3c 100644 --- a/allure-test-filter/src/main/java/io/qameta/allure/testfilter/FileTestPlanSupplier.java +++ b/allure-test-filter/src/main/java/io/qameta/allure/testfilter/FileTestPlanSupplier.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlan.java b/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlan.java index a0c5b7c21..64bad2ebd 100644 --- a/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlan.java +++ b/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlan.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanSupplier.java b/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanSupplier.java index b3a2c27a7..bbd53e1cd 100644 --- a/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanSupplier.java +++ b/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanSupplier.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanUnknown.java b/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanUnknown.java index 937a7c74a..fd4720302 100644 --- a/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanUnknown.java +++ b/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanUnknown.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanV1_0.java b/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanV1_0.java index 72d79e816..c282ce882 100644 --- a/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanV1_0.java +++ b/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanV1_0.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java b/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java index fecc30ecb..ebbc0a63e 100644 --- a/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java +++ b/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNgTestFilter.java b/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNgTestFilter.java index 376a00e60..886f3e55e 100644 --- a/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNgTestFilter.java +++ b/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNgTestFilter.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/main/java/io/qameta/allure/testng/Tag.java b/allure-testng/src/main/java/io/qameta/allure/testng/Tag.java index 3336c1e51..b6ddaec1b 100644 --- a/allure-testng/src/main/java/io/qameta/allure/testng/Tag.java +++ b/allure-testng/src/main/java/io/qameta/allure/testng/Tag.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/main/java/io/qameta/allure/testng/Tags.java b/allure-testng/src/main/java/io/qameta/allure/testng/Tags.java index 7c78a40f5..2d1590102 100644 --- a/allure-testng/src/main/java/io/qameta/allure/testng/Tags.java +++ b/allure-testng/src/main/java/io/qameta/allure/testng/Tags.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/main/java/io/qameta/allure/testng/TestInstanceParameter.java b/allure-testng/src/main/java/io/qameta/allure/testng/TestInstanceParameter.java index 7fcafee50..62de34c33 100644 --- a/allure-testng/src/main/java/io/qameta/allure/testng/TestInstanceParameter.java +++ b/allure-testng/src/main/java/io/qameta/allure/testng/TestInstanceParameter.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/main/java/io/qameta/allure/testng/config/AllureTestNgConfig.java b/allure-testng/src/main/java/io/qameta/allure/testng/config/AllureTestNgConfig.java index f35fdea72..e68c09879 100644 --- a/allure-testng/src/main/java/io/qameta/allure/testng/config/AllureTestNgConfig.java +++ b/allure-testng/src/main/java/io/qameta/allure/testng/config/AllureTestNgConfig.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java index ed5cb1c79..736564729 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/AfterFixturesCombination.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/AfterFixturesCombination.java index 19e5b5df2..563680c60 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/AfterFixturesCombination.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/AfterFixturesCombination.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/AllFeatures.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/AllFeatures.java index 7399eac70..f24a42c19 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/AllFeatures.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/AllFeatures.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/AttachmentsTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/AttachmentsTest.java index 71f88dc7d..a816b75d7 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/AttachmentsTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/AttachmentsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BaseTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BaseTest.java index e90bca720..62485655a 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BaseTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BaseTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BaseTestA.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BaseTestA.java index e2fee0852..460d1b0c9 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BaseTestA.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BaseTestA.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BaseTestB.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BaseTestB.java index 1d71e10e7..a99c791bb 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BaseTestB.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BaseTestB.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BddAnnotationsTests.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BddAnnotationsTests.java index e37b6c1c3..23e4b8949 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BddAnnotationsTests.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BddAnnotationsTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BddAnnotationsTestsInherited.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BddAnnotationsTestsInherited.java index cdcdf49b9..9aa261359 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BddAnnotationsTestsInherited.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BddAnnotationsTestsInherited.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BeforeFixturesCombination.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BeforeFixturesCombination.java index 24efb054b..0122ae8df 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BeforeFixturesCombination.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BeforeFixturesCombination.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BeforeMethods.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BeforeMethods.java index b0b8c6b37..802a5a309 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/BeforeMethods.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/BeforeMethods.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixtures1.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixtures1.java index c500d2873..258a738fd 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixtures1.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixtures1.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixtures2.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixtures2.java index dd4984ba3..a58f47ace 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixtures2.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixtures2.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixtures3.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixtures3.java index 7df51b414..76195b36f 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixtures3.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixtures3.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixturesInParent.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixturesInParent.java index fc3b8262b..a620ffbba 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixturesInParent.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixturesInParent.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixturesInherited.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixturesInherited.java index da723cfd2..196aad966 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixturesInherited.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ClassFixturesInherited.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ConfigurationFailure.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ConfigurationFailure.java index 5775f0ac3..d258efa0b 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ConfigurationFailure.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ConfigurationFailure.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/CyrillicDescriptions.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/CyrillicDescriptions.java index a13f441be..475ffb5bd 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/CyrillicDescriptions.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/CyrillicDescriptions.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/DataProviderWithArray.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/DataProviderWithArray.java index bd9fc9a9c..994e32565 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/DataProviderWithArray.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/DataProviderWithArray.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/DescriptionsAnotherTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/DescriptionsAnotherTest.java index 3e8ab149f..cb5f9f3df 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/DescriptionsAnotherTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/DescriptionsAnotherTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/DescriptionsTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/DescriptionsTest.java index 3772bce0d..c16eab81a 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/DescriptionsTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/DescriptionsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/DisabledTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/DisabledTest.java index 82e1c751d..b01b16f4f 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/DisabledTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/DisabledTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FactoryOnConstructorTests.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FactoryOnConstructorTests.java index 8d9fdfc24..4f2af21c4 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FactoryOnConstructorTests.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FactoryOnConstructorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedAfterMethod.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedAfterMethod.java index 649fea153..5297b3d69 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedAfterMethod.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedAfterMethod.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedAfterSuite.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedAfterSuite.java index c794347a3..09ed05877 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedAfterSuite.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedAfterSuite.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedAfterTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedAfterTest.java index 9fd4a952c..417b2fbfc 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedAfterTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedAfterTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeClass.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeClass.java index f28c7a7d8..05d8853fb 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeClass.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeClass.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeMethod.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeMethod.java index 85b1326ae..fdba2be7f 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeMethod.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeMethod.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeSuite.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeSuite.java index f0f10afef..4226d81f8 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeSuite.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeSuite.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeTest.java index 0e57ae2d3..bd498a19a 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedBeforeTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedFlakyTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedFlakyTest.java index a11acb9ab..7bf87987e 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedFlakyTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedFlakyTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedSetUp.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedSetUp.java index 4d3524532..578b4f807 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedSetUp.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedSetUp.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedTestPassedBeforeFixture.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedTestPassedBeforeFixture.java index 1dedbe5ee..d5a24421c 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedTestPassedBeforeFixture.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FailedTestPassedBeforeFixture.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FixtureWithDescription.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FixtureWithDescription.java index 37ef45fbc..94e0922d9 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FixtureWithDescription.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FixtureWithDescription.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyMethods.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyMethods.java index 293d00a23..5441c5940 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyMethods.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyMethods.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyMethodsInherited.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyMethodsInherited.java index b1d50c574..970dd55af 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyMethodsInherited.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyMethodsInherited.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyTestClass.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyTestClass.java index 20cd5155c..317c0603b 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyTestClass.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyTestClass.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyTestClassInherited.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyTestClassInherited.java index 80ea6f84a..65b002350 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyTestClassInherited.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/FlakyTestClassInherited.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/HistoryIdForTestWithDataProvider.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/HistoryIdForTestWithDataProvider.java index c2297a372..e21a0ac06 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/HistoryIdForTestWithDataProvider.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/HistoryIdForTestWithDataProvider.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/JustTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/JustTest.java index cb383f502..98f2f142d 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/JustTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/JustTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/LinksOnTests.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/LinksOnTests.java index f98541dfb..b964fbb46 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/LinksOnTests.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/LinksOnTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/LinksOnTestsInherited.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/LinksOnTestsInherited.java index 351a5b5dd..c63d7b821 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/LinksOnTestsInherited.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/LinksOnTestsInherited.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedMethods.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedMethods.java index 2f960863f..fd0f30bfa 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedMethods.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedMethods.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedMethodsInherited.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedMethodsInherited.java index f079e1a71..078f3b0a4 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedMethodsInherited.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedMethodsInherited.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedTestClass.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedTestClass.java index eb149798c..0edc9b78f 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedTestClass.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedTestClass.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedTestClassInherited.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedTestClassInherited.java index cb9c3a304..741cb2924 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedTestClassInherited.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/MutedTestClassInherited.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/NestedSteps.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/NestedSteps.java index 25f6f0df1..f12af9f78 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/NestedSteps.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/NestedSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/NullParamTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/NullParamTest.java index 211522528..bb1482c06 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/NullParamTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/NullParamTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerClassTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerClassTest.java index f0d534ed3..36cbed218 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerClassTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerClassTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerClassTestInherited.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerClassTestInherited.java index 64780d44d..26a18b612 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerClassTestInherited.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerClassTestInherited.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerMethodTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerMethodTest.java index a6fb4e849..8c5b56bc7 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerMethodTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerMethodTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerMethodTestInherited.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerMethodTestInherited.java index 198586ca0..1b6e7251e 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerMethodTestInherited.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/OwnerMethodTestInherited.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ParallelDataProviderSample.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ParallelDataProviderSample.java index 28d4cd5ca..5a98b901b 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ParallelDataProviderSample.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ParallelDataProviderSample.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ParallelMethods.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ParallelMethods.java index de1adde10..3adfa59eb 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ParallelMethods.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ParallelMethods.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ParameterizedTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ParameterizedTest.java index 567b6dae7..385689b14 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/ParameterizedTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/ParameterizedTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerClassFixtures.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerClassFixtures.java index 701663c7f..49c67d25c 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerClassFixtures.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerClassFixtures.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerMethodFixtures.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerMethodFixtures.java index c8a859938..ec0515dbf 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerMethodFixtures.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerMethodFixtures.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerSuiteFixtures.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerSuiteFixtures.java index f3d5adced..51c1a6c1a 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerSuiteFixtures.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerSuiteFixtures.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerTestFixtures.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerTestFixtures.java index f77ed3f79..da09bb7fd 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerTestFixtures.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/PerTestFixtures.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/PriorityTests.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/PriorityTests.java index 43997cbdf..b61c15088 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/PriorityTests.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/PriorityTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/RetryTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/RetryTest.java index f24a30ca5..94f28efc4 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/RetryTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/RetryTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityClassTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityClassTest.java index fd8e25385..3f8468389 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityClassTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityClassTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityClassTestInherited.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityClassTestInherited.java index 2f59dc291..968fbe9ff 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityClassTestInherited.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityClassTestInherited.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityMethodTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityMethodTest.java index b7e262097..fe2671834 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityMethodTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityMethodTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityMethodTestInherited.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityMethodTestInherited.java index 2cb9f4349..87d1ddffd 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityMethodTestInherited.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/SeverityMethodTestInherited.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/SkippedSuite.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/SkippedSuite.java index 8dbb03e05..45d36923c 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/SkippedSuite.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/SkippedSuite.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/SuiteParameterTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/SuiteParameterTest.java index 69d676785..d1ab7946d 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/SuiteParameterTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/SuiteParameterTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TagClassTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TagClassTest.java index 4c6d07bfa..f9fa0f65a 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TagClassTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TagClassTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TagMethodTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TagMethodTest.java index aabb2ed36..0aae5a0aa 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TagMethodTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TagMethodTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestTagFixtures.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestTagFixtures.java index c9242d7e2..af3aeb2f4 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestTagFixtures.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestTagFixtures.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestWithParameters.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestWithParameters.java index f23e504e4..bd08a9ba2 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestWithParameters.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestWithParameters.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestWithTimeout.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestWithTimeout.java index 02447df3c..548d2780c 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestWithTimeout.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestWithTimeout.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestsWithIdForFilter.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestsWithIdForFilter.java index 70bcdcde4..aa401db70 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestsWithIdForFilter.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestsWithIdForFilter.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestsWithSteps.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestsWithSteps.java index 157a9981e..25faca37c 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestsWithSteps.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/TestsWithSteps.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/samples/VarargsParameters.java b/allure-testng/src/test/java/io/qameta/allure/testng/samples/VarargsParameters.java index b2f363422..f620badc1 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/samples/VarargsParameters.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/samples/VarargsParameters.java @@ -1,5 +1,5 @@ /* - * Copyright 2019 Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/gradle/quality-configs/spotless/header.java b/gradle/quality-configs/spotless/header.java index e42de8108..a91c27d5a 100644 --- a/gradle/quality-configs/spotless/header.java +++ b/gradle/quality-configs/spotless/header.java @@ -1,5 +1,5 @@ /* - * Copyright $YEAR Qameta Software OÜ + * Copyright 2016-2024 Qameta Software Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -12,4 +12,4 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ \ No newline at end of file + */ From cb1ce6f90416d2f30e88002622ec613af123631b Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Mon, 29 Jan 2024 18:36:30 +0000 Subject: [PATCH 004/139] cleanup workflows --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- .github/workflows/build.yml | 2 +- Jenkinsfile | 40 --------------------------- 3 files changed, 2 insertions(+), 42 deletions(-) delete mode 100644 Jenkinsfile diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index fb19a1b5d..bb09719d9 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -79,7 +79,7 @@ body: id: terms attributes: label: Code of Conduct - description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/allure-framework/allure-java/blob/master/CODE_OF_CONDUCT.md) + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/allure-framework/allure-java/blob/main/CODE_OF_CONDUCT.md) options: - label: I agree to follow this project's Code of Conduct required: true diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 69f577fc1..ad77feb7d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,7 @@ on: - '*' push: branches: - - 'master' + - 'main' - 'hotfix-*' jobs: diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 64bac5a9e..000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,40 +0,0 @@ -pipeline { - agent { label 'java' } - parameters { - booleanParam(name: 'RELEASE', defaultValue: false, description: 'Perform release?') - string(name: 'RELEASE_VERSION', defaultValue: '', description: 'Release version') - string(name: 'NEXT_VERSION', defaultValue: '', description: 'Next version (without SNAPSHOT)') - } - stages { - stage('Build') { - steps { - sh './gradlew build' - } - } - stage('Release') { - when { expression { return params.RELEASE } } - steps { - withCredentials([usernamePassword(credentialsId: 'qameta-ci_bintray', - usernameVariable: 'BINTRAY_USER', passwordVariable: 'BINTRAY_API_KEY')]) { - sshagent(['qameta-ci_ssh']) { - sh 'git checkout master && git pull origin master' - sh "./gradlew release -Prelease.useAutomaticVersion=true " + - "-Prelease.releaseVersion=${RELEASE_VERSION} " + - "-Prelease.newVersion=${NEXT_VERSION}-SNAPSHOT" - } - } - } - } - } - post { - always { - allure results: [[path: '**/build/allure-results']] - deleteDir() - } - - failure { - slackSend message: "${env.JOB_NAME} - #${env.BUILD_NUMBER} failed (<${env.BUILD_URL}|Open>)", - color: 'danger', teamDomain: 'qameta', channel: 'allure', tokenCredentialId: 'allure-channel' - } - } -} From 2b85a8cd884abab316b1c31f010c884ec46b041d Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Mon, 29 Jan 2024 18:39:56 +0000 Subject: [PATCH 005/139] add dependency submission action --- .github/workflows/dependency-submission.yml | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/dependency-submission.yml diff --git a/.github/workflows/dependency-submission.yml b/.github/workflows/dependency-submission.yml new file mode 100644 index 000000000..0f479b11a --- /dev/null +++ b/.github/workflows/dependency-submission.yml @@ -0,0 +1,22 @@ +name: Dependency Submission + +on: + push: + branches: + - main + +permissions: + contents: write + +jobs: + dependency-submission: + name: Dependency Submission + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v4 + - name: Generate and submit dependency graph + uses: gradle/actions/dependency-submission@v3 + env: + DEPENDENCY_GRAPH_EXCLUDE_PROJECTS: ':allure-java-commons-test' + DEPENDENCY_GRAPH_EXCLUDE_CONFIGURATIONS: 'test(Compile|Runtime)Classpath' From 08bc3ac109224125b065fb8f688604458ea97b25 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Mon, 29 Jan 2024 18:46:23 +0000 Subject: [PATCH 006/139] update license year --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index e078585bf..aa0c10ae1 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2021 Qameta Software OÜ + Copyright 2016-2024 Qameta Software Inc Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. From 790c39f5f8176267fe727ee700d8ad97565e81a4 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Mon, 29 Jan 2024 19:23:08 +0000 Subject: [PATCH 007/139] update ds action --- .github/workflows/dependency-submission.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/dependency-submission.yml b/.github/workflows/dependency-submission.yml index 0f479b11a..f11f89b35 100644 --- a/.github/workflows/dependency-submission.yml +++ b/.github/workflows/dependency-submission.yml @@ -17,6 +17,8 @@ jobs: uses: actions/checkout@v4 - name: Generate and submit dependency graph uses: gradle/actions/dependency-submission@v3 + with: + dependency-graph: generate-and-upload env: DEPENDENCY_GRAPH_EXCLUDE_PROJECTS: ':allure-java-commons-test' DEPENDENCY_GRAPH_EXCLUDE_CONFIGURATIONS: 'test(Compile|Runtime)Classpath' From f97bb819f3a2840ac0674b91620488e80e9a0d2c Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Mon, 29 Jan 2024 19:32:14 +0000 Subject: [PATCH 008/139] only include runtime classpath --- .github/workflows/dependency-submission.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/dependency-submission.yml b/.github/workflows/dependency-submission.yml index f11f89b35..bb93c2eb2 100644 --- a/.github/workflows/dependency-submission.yml +++ b/.github/workflows/dependency-submission.yml @@ -17,8 +17,6 @@ jobs: uses: actions/checkout@v4 - name: Generate and submit dependency graph uses: gradle/actions/dependency-submission@v3 - with: - dependency-graph: generate-and-upload env: DEPENDENCY_GRAPH_EXCLUDE_PROJECTS: ':allure-java-commons-test' - DEPENDENCY_GRAPH_EXCLUDE_CONFIGURATIONS: 'test(Compile|Runtime)Classpath' + DEPENDENCY_GRAPH_INCLUDE_CONFIGURATIONS: 'runtimeClasspath' From 2ba9ee9452e2e28da9dab42b1f981bffd5e50a1e Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Tue, 30 Jan 2024 10:18:18 +0000 Subject: [PATCH 009/139] gradle 8 (via #996) --- .../allure/internal/AllureThreadContext.java | 2 +- .../io/qameta/allure/jooq/AllureJooq.java | 1 + .../junitplatform/AllureJunitPlatform.java | 2 +- allure-scalatest/build.gradle.kts | 2 +- ...StatementsLabelsToStepsTransformation.java | 4 +- build.gradle.kts | 75 +++-- gradle/quality-configs/pmd/pmd.xml | 5 +- gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 60756 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 263 +++++++++++------- gradlew.bat | 14 +- settings.gradle.kts | 2 +- 12 files changed, 234 insertions(+), 138 deletions(-) diff --git a/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureThreadContext.java b/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureThreadContext.java index ddfcc5c12..bbf94fd4e 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureThreadContext.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureThreadContext.java @@ -79,7 +79,7 @@ public void clear() { /** * Thread local context that stores information about not finished tests and steps. */ - private static class Context extends InheritableThreadLocal> { + private static final class Context extends InheritableThreadLocal> { @Override public LinkedList initialValue() { diff --git a/allure-jooq/src/main/java/io/qameta/allure/jooq/AllureJooq.java b/allure-jooq/src/main/java/io/qameta/allure/jooq/AllureJooq.java index 3d314b172..3498deb2b 100644 --- a/allure-jooq/src/main/java/io/qameta/allure/jooq/AllureJooq.java +++ b/allure-jooq/src/main/java/io/qameta/allure/jooq/AllureJooq.java @@ -34,6 +34,7 @@ /** * @author charlie (Dmitry Baev). */ +@SuppressWarnings("PMD.NonSerializableClass") public class AllureJooq implements ExecuteListener { private static final String STEP_UUID diff --git a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java index e7303595d..e48ee7713 100644 --- a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java +++ b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java @@ -730,7 +730,7 @@ private String getOrCreateTest(final TestIdentifier testIdentifier) { return tests.get().getOrCreate(testIdentifier); } - private static class Uuids { + private static final class Uuids { private final Map storage = new ConcurrentHashMap<>(); private final ReadWriteLock lock = new ReentrantReadWriteLock(); diff --git a/allure-scalatest/build.gradle.kts b/allure-scalatest/build.gradle.kts index 382bbfbf5..910d28ad2 100644 --- a/allure-scalatest/build.gradle.kts +++ b/allure-scalatest/build.gradle.kts @@ -22,7 +22,7 @@ if (hasProperty("scalaVersion")) { } val baseScalaVersion = selectedScalaVersion.substring(0, selectedScalaVersion.lastIndexOf(".")) -project.base.archivesBaseName = "allure-scalatest_$baseScalaVersion" +project.base.archivesName.set("allure-scalatest_$baseScalaVersion") for (sv in availableScalaVersions) { val taskSuffix = sv.replace('.', '_') diff --git a/allure-spock2/src/main/java/io/qameta/allure/spock2/compiler/AllureStatementsLabelsToStepsTransformation.java b/allure-spock2/src/main/java/io/qameta/allure/spock2/compiler/AllureStatementsLabelsToStepsTransformation.java index c90a393ab..4db9dc0fe 100644 --- a/allure-spock2/src/main/java/io/qameta/allure/spock2/compiler/AllureStatementsLabelsToStepsTransformation.java +++ b/allure-spock2/src/main/java/io/qameta/allure/spock2/compiler/AllureStatementsLabelsToStepsTransformation.java @@ -59,7 +59,7 @@ public void visit(final ASTNode[] nodes, final SourceUnit sourceUnit) { /** * Use of nested class defers linking until after groovy version check. */ - private static class Impl { + private static final class Impl { private static final AstNodeCache NODE_CACHE = new AstNodeCache(); private void visit(final SourceUnit sourceUnit) { @@ -100,7 +100,7 @@ private void processSpec(final SourceUnit sourceUnit, /** * Adds Allure steps for statements with labels. */ - private static class MethodVisitor implements GroovyClassVisitor { + private static final class MethodVisitor implements GroovyClassVisitor { private static final ClassNode ALLURE = ClassHelper.makeWithoutCaching(Allure.class); diff --git a/build.gradle.kts b/build.gradle.kts index 4d6d8249d..82d806791 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,5 @@ +import com.github.spotbugs.snom.SpotBugsTask + val gradleScriptDir by extra("${rootProject.projectDir}/gradle") val qualityConfigsDir by extra("$gradleScriptDir/quality-configs") val spotlessDtr by extra("$qualityConfigsDir/spotless") @@ -5,7 +7,7 @@ val spotlessDtr by extra("$qualityConfigsDir/spotless") val libs = subprojects.filterNot { it.name in "allure-bom" } tasks.withType(Wrapper::class) { - gradleVersion = "7.5.1" + gradleVersion = "8.5" } plugins { @@ -13,12 +15,14 @@ plugins { `java-library` `maven-publish` signing + checkstyle + pmd + id("com.github.spotbugs") id("com.diffplug.spotless") id("io.github.gradle-nexus.publish-plugin") id("io.qameta.allure-adapter") apply false id("io.qameta.allure-report") id("io.spring.dependency-management") - id("ru.vyarus.quality") } java { @@ -125,13 +129,15 @@ configure(subprojects) { configure(libs) { val project = this + apply(plugin = "checkstyle") + apply(plugin = "pmd") + apply(plugin = "com.github.spotbugs") apply(plugin = "com.diffplug.spotless") apply(plugin = "io.qameta.allure-report") apply(plugin = "io.qameta.allure-adapter") apply(plugin = "io.spring.dependency-management") apply(plugin = "java") apply(plugin = "java-library") - apply(plugin = "ru.vyarus.quality") val orgSlf4jVersion = "1.7.36" val assertJVersion = "1.9.9.1" @@ -142,17 +148,17 @@ configure(libs) { mavenBom("org.junit:junit-bom:5.9.2") } dependencies { - dependency("com.github.spotbugs:spotbugs:4.7.3") + dependency("com.github.spotbugs:spotbugs:4.8.3") dependency("com.github.tomakehurst:wiremock:2.27.2") dependency("com.google.inject:guice:5.1.0") dependency("com.google.testing.compile:compile-testing:0.19") - dependency("com.puppycrawl.tools:checkstyle:9.3") + dependency("com.puppycrawl.tools:checkstyle:10.13.0") dependency("com.squareup.retrofit2:retrofit:2.9.0") dependency("commons-io:commons-io:2.11.0") dependency("io.github.benas:random-beans:3.9.0") dependency("io.github.glytching:junit-extensions:2.6.0") dependency("javax.annotation:javax.annotation-api:1.3.2") - dependency("net.sourceforge.pmd:pmd-java:6.46.0") + dependency("net.sourceforge.pmd:pmd-java:6.55.0") dependency("org.apache.commons:commons-lang3:3.12.0") dependency("org.apache.httpcomponents:httpclient:4.5.13") dependency("org.apache.httpcomponents.client5:httpclient5:5.2.1") @@ -260,16 +266,24 @@ configure(libs) { } } - quality { - configDir = qualityConfigsDir - checkstyleVersion = dependencyManagement.managedVersions["com.puppycrawl.tools:checkstyle"] - pmdVersion = dependencyManagement.managedVersions["net.sourceforge.pmd:pmd-java"] - spotbugsVersion = dependencyManagement.managedVersions["com.github.spotbugs:spotbugs"] - spotbugs = true - pmd = true - checkstyle = true - htmlReports = false - enabled = !project.hasProperty("disableQuality") + val enableQuality = true + fun excludeGeneratedSources(source: FileTree): FileTree = (source - fileTree("build/generated-sources")).asFileTree + + checkstyle { + toolVersion = dependencyManagement.managedVersions["com.puppycrawl.tools:checkstyle"]!! + configDirectory = rootProject.layout.projectDirectory.dir("gradle/quality-configs/checkstyle") + } + + pmd { + toolVersion = dependencyManagement.managedVersions["net.sourceforge.pmd:pmd-java"]!! + ruleSets = listOf() + ruleSetFiles = rootProject.files("gradle/quality-configs/pmd/pmd.xml") + } + + spotbugs { + toolVersion = dependencyManagement.managedVersions["com.github.spotbugs:spotbugs"]!! + excludeFilter = rootProject.file("gradle/quality-configs/spotbugs/exclude.xml") + afterEvaluate { val spotbugs = configurations.findByName("spotbugs") if (spotbugs != null) { @@ -281,11 +295,36 @@ configure(libs) { } } + tasks.withType(Checkstyle::class) { + source = excludeGeneratedSources(source) + enabled = enableQuality + } + + tasks.withType(Pmd::class) { + source = excludeGeneratedSources(source) + enabled = enableQuality + } + + tasks.withType(SpotBugsTask::class) { + enabled = enableQuality + } + + tasks.checkstyleTest { + enabled = false + } + + tasks.pmdTest { + enabled = false + } + + tasks.spotbugsTest { + enabled = false + } + spotless { java { target("src/**/*.java") removeUnusedImports() - @Suppress("INACCESSIBLE_TYPE") licenseHeaderFile("$spotlessDtr/header.java", "(package|import|open|module|//startfile)") endWithNewline() replaceRegex("one blank line after package line", "(package .+;)\n+import", "$1\n\nimport") @@ -293,7 +332,6 @@ configure(libs) { } scala { target("src/**/*.scala") - @Suppress("INACCESSIBLE_TYPE") licenseHeaderFile("$spotlessDtr/header.java", "(package|//startfile)") endWithNewline() replaceRegex("one blank line after package line", "(package .+;)\n+import", "$1\n\nimport") @@ -301,7 +339,6 @@ configure(libs) { } groovy { target("src/**/*.groovy") - @Suppress("INACCESSIBLE_TYPE") licenseHeaderFile("$spotlessDtr/header.java", "(package|//startfile) ") endWithNewline() replaceRegex("one blank line after package line", "(package .+;)\n+import", "$1\n\nimport") diff --git a/gradle/quality-configs/pmd/pmd.xml b/gradle/quality-configs/pmd/pmd.xml index 3d45d9f69..7a26c293e 100644 --- a/gradle/quality-configs/pmd/pmd.xml +++ b/gradle/quality-configs/pmd/pmd.xml @@ -111,7 +111,7 @@ - + @@ -123,6 +123,7 @@ + @@ -134,7 +135,7 @@ - + diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..249e5832f090a2944b7473328c07c9755baa3196 100644 GIT binary patch delta 10158 zcmaKSbyOWsmn~e}-QC?axCPf>!2<-jxI0|j{UX8L-QC?axDz};a7}ppGBe+Nv*x{5 zy?WI?=j^WT(_Md5*V*xNP>X9&wM>xUvNiMuKDK=Xg!N%oM>Yru2rh7#yD-sW0Ov#$ zCKBSOD3>TM%&1T5t&#FK@|@1f)Ze+EE6(7`}J(Ek4})CD@I+W;L{ zO>K;wokKMA)EC6C|D@nz%D2L3U=Nm(qc>e4GM3WsHGu-T?l^PV6m-T-(igun?PZ8U z{qbiLDMcGSF1`FiKhlsV@qPMRm~h9@z3DZmWp;Suh%5BdP6jqHn}$-gu`_xNg|j{PSJ0n$ zbE;Azwq8z6IBlgKIEKc4V?*##hGW#t*rh=f<;~RFWotXS$vr;Mqz>A99PMH3N5BMi zWLNRjc57*z`2)gBV0o4rcGM(u*EG8_H5(|kThAnp|}u2xz>>X6tN zv)$|P2Nr1D*fk4wvqf(7;NmdRV3eL{!>DO-B98(s*-4$g{)EnRYAw+DP-C`=k)B!* zHU7!ejcbavGCYuz9k@$aZQaU%#K%6`D}=N_m?~^)IcmQZun+K)fSIoS>Ws zwvZ%Rfmw>%c!kCd~Pmf$E%LCj2r>+FzKGDm+%u88|hHprot{*OIVpi`Vd^^aumtx2L}h} zPu$v~zdHaWPF<`LVQX4i7bk82h#RwRyORx*z3I}o&>>eBDCif%s7&*vF6kU%1` zf(bvILch^~>cQ{=Y#?nx(8C-Uuv7!2_YeCfo?zkP;FK zX+KdjKS;HQ+7 zj>MCBI=d$~9KDJ1I2sb_3=T6D+Mu9{O&vcTnDA(I#<=L8csjEqsOe=&`=QBc7~>u2 zfdcO44PUOST%PcN+8PzKFYoR0;KJ$-Nwu#MgSM{_!?r&%rVM}acp>53if|vpH)q=O z;6uAi__am8g$EjZ33?PmCrg@(M!V_@(^+#wAWNu&e3*pGlfhF2<3NobAC zlusz>wMV--3ytd@S047g)-J@eOD;DMnC~@zvS=Gnw3=LnRzkeV`LH4#JGPklE4!Q3 zq&;|yGR0FiuE-|&1p2g{MG!Z3)oO9Jf4@0h*3!+RHv=SiEf*oGQCSRQf=LqT5~sajcJ8XjE>E*@q$n z!4|Rz%Lv8TgI23JV6%)N&`Otk6&RBdS|lCe7+#yAfdyEWNTfFb&*S6-;Q}d`de!}*3vM(z71&3 z37B%@GWjeQ_$lr%`m-8B&Zl4Gv^X{+N{GCsQGr!LLU4SHmLt3{B*z-HP{73G8u>nK zHxNQ4eduv>lARQfULUtIlLx#7ea+O;w?LH}FF28c9pg#*M`pB~{jQmPB*gA;Hik#e zZpz&X#O}}r#O_#oSr4f`zN^wedt>ST791bAZ5(=g<Oj)m9X8J^>Th}fznPY0T zsD9ayM7Hrlb6?jHXL<{kdA*Q#UPCYce0p`fHxoZ7_P`cF-$1YY9Pi;0QFt{CCf%C# zuF60A_NTstTQeFR3)O*ThlWKk08}7Nshh}J-sGY=gzE!?(_ZI4ovF6oZ$)&Zt~WZi z_0@Bk!~R4+<&b6CjI{nGj+P{*+9}6;{RwZ7^?H)xjhiRi;?A|wb0UxjPr?L@$^v|0= z@6d3+eU|&re3+G*XgFS}tih3;>2-R1x>`2hmUb5+Z~eM4P|$ zAxvE$l@sIhf_#YLnF|Wcfp(Gh@@dJ-yh|FhKqsyQp_>7j1)w|~5OKETx2P$~`}5huK;{gw_~HXP6=RsG)FKSZ=VYkt+0z&D zr?`R3bqVV?Zmqj&PQ`G3b^PIrd{_K|Hhqt zAUS#|*WpEOeZ{@h*j6%wYsrL`oHNV=z*^}yT1NCTgk1-Gl(&+TqZhODTKb9|0$3;| z;{UUq7X9Oz`*gwbi|?&USWH?Fr;6=@Be4w=8zu>DLUsrwf+7A`)lpdGykP`^SA8{ok{KE3sM$N@l}kB2GDe7MEN? zWcQ2I0fJ1ZK%s-YKk?QbEBO6`C{bg$%le0FTgfmSan-Kih0A7)rGy|2gd)_gRH7qp z*bNlP0u|S^5<)kFcd&wQg*6QP5;y(3ZgI%vUgWk#`g!sMf`02>@xz{Ie9_-fXllyw zh>P%cK+-HkQ;D$Jh=ig(ASN^zJ7|q*#m;}2M*T#s0a^nF_>jI(L(|*}#|$O&B^t!W zv-^-vP)kuu+b%(o3j)B@do)n*Y0x%YNy`sYj*-z2ncYoggD6l z6{1LndTQUh+GCX;7rCrT z@=vy&^1zyl{#7vRPv;R^PZPaIks8okq)To8!Cks0&`Y^Xy5iOWC+MmCg0Jl?1ufXO zaK8Q5IO~J&E|<;MnF_oXLc=LU#m{6yeomA^Ood;)fEqGPeD|fJiz(`OHF_f*{oWJq z1_$NF&Mo7@GKae#f4AD|KIkGVi~ubOj1C>>WCpQq>MeDTR_2xL01^+K1+ zr$}J>d=fW{65hi2bz&zqRKs8zpDln z*7+Gtfz6rkgfj~#{MB=49FRP;ge*e0=x#czw5N{@T1{EAl;G&@tpS!+&2&Stf<%<+55R18u2%+}`?PZo8xg|Y9Xli(fSQyC7 z+O5{;ZyW$!eYR~gy>;l6cA+e`oXN6a6t(&kUkWus*Kf<m$W7L)w5uXYF)->OeWMSUVXi;N#sY zvz4c?GkBU{D;FaQ)9|HU7$?BX8DFH%hC11a@6s4lI}y{XrB~jd{w1x&6bD?gemdlV z-+ZnCcldFanu`P=S0S7XzwXO(7N9KV?AkgZzm|J&f{l-Dp<)|-S7?*@HBIfRxmo1% zcB4`;Al{w-OFD08g=Qochf9=gb56_FPc{C9N5UAjTcJ(`$>)wVhW=A<8i#!bmKD#6~wMBak^2(p56d2vs&O6s4>#NB0UVr24K z%cw|-Yv}g5`_zcEqrZBaRSoBm;BuXJM^+W$yUVS9?u(`87t)IokPgC_bQ3g_#@0Yg zywb?u{Di7zd3XQ$y!m^c`6~t-7@g-hwnTppbOXckS-^N?w1`kRMpC!mfMY?K#^Ldm zYL>771%d{+iqh4a&4RdLNt3_(^^*{U2!A>u^b{7e@}Azd_PiZ>d~(@(Q@EYElLAx3LgQ5(ZUf*I%EbGiBTG!g#=t zXbmPhWH`*B;aZI)$+PWX+W)z?3kTOi{2UY9*b9bpSU!GWcVu+)!^b4MJhf=U9c?jj z%V)EOF8X3qC5~+!Pmmmd@gXzbycd5Jdn!N#i^50a$4u}8^O}DG2$w-U|8QkR-WU1mk4pF z#_imS#~c2~Z{>!oE?wfYc+T+g=eJL`{bL6=Gf_lat2s=|RxgP!e#L|6XA8w{#(Po(xk1~rNQ4UiG``U`eKy7`ot;xv4 zdv54BHMXIq;#^B%W(b8xt%JRueW5PZsB2eW=s3k^Pe1C$-NN8~UA~)=Oy->22yJ%e zu=(XD^5s{MkmWB)AF_qCFf&SDH%ytqpt-jgs35XK8Ez5FUj?uD3++@2%*9+-65LGQ zvu1eopeQoFW98@kzU{+He9$Yj#`vaQkqu%?1wCoBd%G=)TROYl2trZa{AZ@#^LARR zdzg-?EUnt9dK2;W=zCcVj18RTj-%w^#pREbgpD0aL@_v-XV2&Cd@JB^(}GRBU}9gV z6sWmVZmFZ9qrBN%4b?seOcOdOZ+6cx8-#R(+LYKJu~Y%pF5#85aF9$MnP7r^Bu%D? zT{b-KBujiy>7_*9{8u0|mTJ(atnnnS%qBDM_Gx5>3V+2~Wt=EeT4cXOdud$+weM(>wdBg+cV$}6%(ccP;`!~CzW{0O2aLY z?rQtBB6`ZztPP@_&`kzDzxc==?a{PUPUbbX31Vy?_(;c+>3q*!df!K(LQYZNrZ>$A*8<4M%e8vj1`%(x9)d~);ym4p zoo518$>9Pe| zZaFGj);h?khh*kgUI-Xvj+Dr#r&~FhU=eQ--$ZcOY9;x%&3U(&)q}eJs=)K5kUgi5 zNaI-m&4?wlwFO^`5l-B?17w4RFk(IKy5fpS0K%txp0qOj$e=+1EUJbLd-u>TYNna~ z+m?gU0~xlcnP>J>%m_y_*7hVMj3d&)2xV8>F%J;6ncm)ILGzF2sPAV|uYk5!-F%jL(53^51BKr zc3g7+v^w<4WIhk7a#{N6Ku_u{F`eo;X+u!C(lIaiY#*V5!sMed39%-AgV*`(nI)Im zemHE^2foBMPyIP<*yuD21{6I?Co?_{pqp-*#N6sZRQAzEBV4HQheOyZT5UBd)>G85 zw^xHvCEP4AJk<{v2kQQ;g;C)rCY=X!c8rNpNJ4mHETN}t1rwSe7=s8u&LzW-+6AEB z)LX0o7`EqC94HM{4p}d2wOwj2EB|O;?&^FeG9ZrT%c!J&x`Z3D2!cm(UZbFBb`+h ztfhjq75yuSn2~|Pc)p$Ul6=)}7cfXtBsvc15f&(K{jnEsw5Gh0GM^O=JC+X-~@r1kI$=FH=yBzsO#PxR1xU9+T{KuPx7sMe~GX zSP>AT3%(Xs@Ez**e@GAn{-GvB^oa6}5^2s+Mg~Gw?#$u&ZP;u~mP|FXsVtr>3k9O?%v>`Ha-3QsOG<7KdXlqKrsN25R|K<<;- z8kFY!&J&Yrqx3ptevOHiqPxKo_wwAPD)$DWMz{0>{T5qM%>rMqGZ!dJdK(&tP1#89 zVcu}I1I-&3%nMyF62m%MDpl~p)PM(%YoR zD)=W)E7kjwzAr!?^P*`?=fMHd1q4yjLGTTRUidem^Ocjrfgk2Jp|6SabEVHKC3c>RX@tNx=&Z7gC z0ztZoZx+#o36xH8mv6;^e{vU;G{JW17kn(RO&0L%q^fpWSYSkr1Cb92@bV->VO5P z;=V{hS5wcROQfbah6ND{2a$zFnj>@yuOcw}X~E20g7)5=Z#(y)RC878{_rObmGQ;9 zUy>&`YT^2R@jqR1z9Fx&x)WBstIE#*UhAa>WrMm<10={@$UN@Cog+#pxq{W@l0DOf zJGs^Jv?t8HgIXk(;NFHXun$J{{p})cJ^BWn4BeQo6dMNp%JO@$9z{(}qqEHuZOUQP zZiwo70Oa@lMYL(W*R4(!oj`)9kRggJns-A|w+XL=P07>QBMTEbG^gPS)H zu^@MFTFZtsKGFHgj|hupbK({r>PX3_kc@|4Jdqr@gyyKrHw8Tu<#0&32Hh?S zsVm_kQ2K`4+=gjw1mVhdOz7dI7V!Iu8J1LgI+_rF`Wgx5-XwU~$h>b$%#$U3wWC-ea0P(At2SjPAm57kd;!W5k{do1}X681o}`!c*(w!kCjtGTh7`=!M)$9 zWjTns{<-WX+Xi;&d!lyV&1KT9dKL??8)fu2(?Ox<^?EAzt_(#5bp4wAfgIADYgLU` z;J7f8g%-tfmTI1ZHjgufKcAT4SO(vx?xSo4pdWh`3#Yk;DqPGQE0GD?!_CfXb(E8WoJt6*Yutnkvmb?7H9B zVICAYowwxK;VM4(#~|}~Ooyzm*1ddU_Yg%Ax*_FcZm^AzYc$<+9bv;Eucr(SSF}*JsjTfb*DY>qmmkt z;dRkB#~SylP~Jcmr&Bl9TxHf^DcGUelG%rA{&s)5*$|-ww}Kwx-lWnNeghVm@z zqi3@-oJnN%r2O4t9`5I5Zfc;^ROHmY6C9 z1VRRX*1+aBlbO_p>B+50f1p&%?_A*16R0n+l}HKWI$yIH3oq2`k4O?tEVd~a4~>iI zo{d}b8tr+$q<%%K%Ett*i|RAJEMnk9hU7LtL!lxOB45xO1g)ycDBd=NbpaE3j?Gw& z0M&xx13EkCgNHu%Z8rBLo93XH-zQUfF3{Iy>65-KSPniqIzF+?x$3>`L?oBOBeEsv zs_y7@7>IbS&w2Vju^#vBpPWQuUv=dDRGm(-MH|l+8T?vfgD;{nE_*-h?@D;GN>4hA z9{!G@ANfHZOxMq5kkoh4h*p3+zE7z$13ocDJR$XA*7uKtG5Cn_-ibn%2h{ z;J0m5aCjg(@_!G>i2FDAvcn5-Aby8b;J0u%u)!`PK#%0FS-C3(cq9J{V`DJEbbE|| zYpTDd+ulcjEd5`&v!?=hVgz&S0|C^We?2|>9|2T6?~nn^_CpLn&kuI|VG7_E{Ofu9 zAqe0Reuq5Zunlx@zyTqEL+ssT15X|Z0LUfZAr-i$1_SJ{j}BHmBm}s8{OgK3lm%4F zzC%jz!y!8WUJo2FLkU(mVh7-uzC+gcbkV^bM}&Y6=HTTca{!7ZSoB!)l|v<(3ly!jq&P5A2q(U5~h)))aj-`-6&aM~LBySnAy zA0{Z{FHiUb8rW|Yo%kQwi`Kh>EEE$0g7UxeeeVkcY%~87yCmSjYyxoqq(%Jib*lH; zz`t5y094U`k_o{-*U^dFH~+1I@GsgwqmGsQC9-Vr0X94TLhlV;Kt#`9h-N?oKHqpx zzVAOxltd%gzb_Qu{NHnE8vPp=G$#S)Y%&6drobF_#NeY%VLzeod delta 9041 zcmY*t@kVBCBP!g$Qih>$!M(|j-I?-C8+=cK0w!?cVWy9LXH zd%I}(h%K_>9Qvap&`U=={XcolW-VA%#t9ljo~WmY8+Eb|zcKX3eyx7qiuU|a)zU5cYm5{k5IAa3ibZf_B&=YT!-XyLap%QRdebT+PIcg$KjM3HqA3uZ5|yBj2vv8$L{#$>P=xi+J&zLILkooDarGpiupEiuy`9uy&>yEr95d)64m+~`y*NClGrY|5MLlv!)d5$QEtqW)BeBhrd)W5g1{S@J-t8_J1 zthp@?CJY}$LmSecnf3aicXde(pXfeCei4=~ZN=7VoeU|rEEIW^!UBtxGc6W$x6;0fjRs7Nn)*b9JW5*9uVAwi) zj&N7W;i<Qy80(5gsyEIEQm>_+4@4Ol)F?0{YzD(6V~e=zXmc2+R~P~< zuz5pju;(akH2+w5w!vnpoikD5_{L<6T`uCCi@_Uorr`L(8zh~x!yEK*!LN02Q1Iri z>v*dEX<(+_;6ZAOIzxm@PbfY4a>ws4D82&_{9UHCfll!x`6o8*i0ZB+B#Ziv%RgtG z*S}<4!&COp)*ZMmXzl0A8mWA$)fCEzk$Wex*YdB}_-v|k9>jKy^Y>3me;{{|Ab~AL zQC(naNU=JtU3aP6P>Fm-!_k1XbhdS0t~?uJ$ZvLbvow10>nh*%_Kh>7AD#IflU8SL zMRF1fmMX#v8m=MGGb7y5r!Qf~Y}vBW}fsG<{1CHX7Yz z=w*V9(vOs6eO>CDuhurDTf3DVVF^j~rqP*7S-$MLSW7Ab>8H-80ly;9Q0BWoNV zz8Wr2CdK!rW0`sMD&y{Ue{`mEkXm0%S2k;J^iMe|sV5xQbt$ojzfQE+6aM9LWH`t& z8B;Ig7S<1Dwq`3W*w59L(opjq)ll4E-c?MivCh!4>$0^*=DKI&T2&j?;Z82_iZV$H zKmK7tEs7;MI-Vo(9wc1b)kc(t(Yk? z#Hgo8PG_jlF1^|6ge%;(MG~6fuKDFFd&}>BlhBTh&mmuKsn>2buYS=<5BWw^`ncCb zrCRWR5`IwKC@URU8^aOJjSrhvO>s}O&RBD8&V=Fk2@~zYY?$qO&!9%s>YecVY0zhK zBxKGTTyJ(uF`p27CqwPU1y7*)r}y;{|0FUO)-8dKT^>=LUoU_6P^^utg|* zuj}LBA*gS?4EeEdy$bn#FGex)`#y|vg77NVEjTUn8%t z@l|7T({SM!y$PZy9lb2N;BaF}MfGM%rZk10aqvUF`CDaC)&Av|eED$x_;qSoAka*2 z2rR+OTZTAPBx`vQ{;Z{B4Ad}}qOBqg>P4xf%ta|}9kJ2$od>@gyC6Bf&DUE>sqqBT zYA>(sA=Scl2C_EF8)9d8xwdBSnH5uL=I4hch6KCHj-{99IywUD{HR`d(vk@Kvl)WD zXC(v{ZTsyLy{rio*6Wi6Lck%L(7T~Is-F_`2R}q z!H1ylg_)Mv&_|b1{tVl!t{;PDa!0v6^Zqs_`RdxI%@vR)n|`i`7O<>CIMzqI00y{;` zhoMyy>1}>?kAk~ND6}`qlUR=B+a&bvA)BWf%`@N)gt@@Ji2`p1GzRGC$r1<2KBO3N z++YMLD9c|bxC;za_UVJ*r6&Ea;_YC>-Ebe-H=VAgDmx+?Q=DxCE4=yQXrn z7(0X#oIjyfZUd}fv2$;4?8y|0!L^ep_rMz|1gU-hcgVYIlI~o>o$K&)$rwo(KJO~R zDcGKo-@im7C<&2$6+q-xtxlR`I4vL|wFd<`a|T}*Nt;(~Vwx&2QG_j$r0DktR+6I4W)gUx*cDVBwGe00aa803ZYiwy;d{1p)y0?*IT8ddPS`E~MiS z1d%Vm0Hb4LN2*f8FZ|6xRQev@ZK-?(oPs+mT*{%NqhGL_0dJ$?rAxA{2 z`r3MBv&)xblcd>@hArncJpL~C(_HTo&D&CS!_J5Giz$^2EfR_)xjgPg`Bq^u%1C*+ z7W*HGp|{B?dOM}|E)Cs$61y8>&-rHBw;A8 zgkWw}r$nT%t(1^GLeAVyj1l@)6UkHdM!%LJg|0%BO74M593&LlrksrgoO{iEz$}HK z4V>WXgk|7Ya!Vgm#WO^ZLtVjxwZ&k5wT6RteViH3ds{VO+2xMJZ`hToOz~_+hRfY{ z%M;ZDKRNTsK5#h6goUF(h#VXSB|7byWWle*d0$IHP+FA`y)Q^5W!|&N$ndaHexdTn z{vf?T$(9b&tI&O`^+IqpCheAFth;KY(kSl2su_9|Y1B{o9`mm)z^E`Bqw!n+JCRO) zGbIpJ@spvz=*Jki{wufWm|m`)XmDsxvbJR5dLF=kuf_C>dl}{nGO(g4I$8 zSSW#5$?vqUDZHe_%`Zm?Amd^>I4SkBvy+i}wiQYBxj0F1a$*%T+6}Yz?lX&iQ}zaU zI@%8cwVGtF3!Ke3De$dL5^j-$Bh3+By zrSR3c2a>XtaE#TB}^#hq@!vnZ1(An#bk_eKR{?;Z&0cgh4$cMNU2HL=m=YjMTI zT$BRltXs4T=im;Ao+$Bk3Dz(3!C;rTqelJ?RF)d~dP9>$_6dbz=_8#MQFMMX0S$waWxY#mtDn}1U{4PGeRH5?a>{>TU@1UlucMAmzrd@PCwr|il)m1fooO7Z{Vyr z6wn=2A5z(9g9-OU10X_ei50@~)$}w4u)b+mt)z-sz0X32m}NKTt4>!O{^4wA(|3A8 zkr(DxtMnl$Hol>~XNUE?h9;*pGG&kl*q_pb z&*$lH70zI=D^s)fU~A7cg4^tUF6*Oa+3W0=7FFB*bf$Kbqw1&amO50YeZM)SDScqy zTw$-M$NA<_We!@4!|-?V3CEPnfN4t}AeM9W$iSWYz8f;5H)V$pRjMhRV@Z&jDz#FF zXyWh7UiIc7=0U9L35=$G54RjAupR&4j`(O3i?qjOk6gb!WjNtl1Fj-VmltDTos-Bl z*OLfOleS~o3`?l!jTYIG!V7?c<;Xu(&#~xf-f(-jwow-0Hv7JZG>}YKvB=rRbdMyv zmao*-!L?)##-S#V^}oRm7^Db zT5C2RFY4>ov~?w!3l_H}t=#X=vY-*LQy(w>u%r`zQ`_RukSqIv@WyGXa-ppbk-X=g zyn?TH(`-m*in(w=Ny$%dHNSVxsL|_+X=+kM+v_w{ZC(okof9k1RP5qDvcA-d&u{5U z?)a9LXht1f6|Tdy5FgXo;sqR|CKxDKruU9RjK~P6xN+4;0eAc|^x%UO^&NM4!nK_! z6X14Zkk=5tqpl&d6FYuMmlLGQZep0UE3`fT>xzgH>C*hQ2VzCQlO`^kThU6q%3&K^ zf^kfQm|7SeU#c%f8e?A<9mALLJ-;)p_bv6$pp~49_o;>Y=GyUQ)*prjFbkU;z%HkOW_*a#j^0b@GF|`6c}7>=W{Ef!#dz5lpkN>@IH+(sx~QMEFe4 z1GeKK67;&P%ExtO>}^JxBeHii)ykX8W@aWhJO!H(w)DH4sPatQ$F-Phiqx_clj`9m zK;z7X6gD2)8kG^aTr|oY>vmgOPQ4`_W+xj2j!$YT9x(DH6pF~ zd_C#8c>Gfb)k2Ku4~t=Xb>T^8KW;2HPN#%}@@hC1lNf~Xk)~oj=w-Y11a@DtIyYk8 z9^|_RIAA(1qUSs3rowxr&OuRVFL8(zSqU_rGlqHpkeYT4z7DGdS0q4V-b!3fsv$Yb zPq4UP^3XFd(G%JAN|0y>?&sLzNir30K(lyzNYvCtE2gDyy-nthPlrXXU75fhoS7kA zg%GYyBEFQ(xgdjtv+>?>Q!G!8& z3+F>)4|N+F1a^T?XC8 zxRRx7-{DV%uUYt&*$z2uQTbZDbUn)PozID*(i^{JDjNq`v?;&OW^&~{ZPE_e+?RMk z!7O5CUKJSnGZvjTbLX2$zwYRZs_$f{T!hvVHuTg77|O;zBHlA|GIUu_bh4`Bl?7KE zYB~a`b?O;0SfD?0EZiPYpVf=P4=|zr(u_w}oP0S`YOZziX9cuwpll&%QMv4bBC_JdP#rT3>MliqySv0& zh)r=vw?no&;5T}QVTkHKY%t`%{#*#J;aw!wPs}?q2$(e0Y#cdBG1T09ypI@#-y24+fzhJem1NSZ$TCAjU2|ebYG&&6p(0f>wQoNqVa#6J^W!3$gIWEw7d<^k!U~O5v=8goq$jC`p8CS zrox#Jw3w`k&Ty7UVbm35nZ}FYT5`fN)TO6R`tEUFotxr^BTXZGt|n(Ymqmr^pCu^^w?uX!ONbm?q{y9FehdmcJuV8V%A-ma zgl=n9+op{wkj-}N;6t;(JA1A#VF3S9AFh6EXRa0~7qop~3^~t1>hc6rdS_4!+D?Xh z5y?j}*p@*-pmlTb#7C0x{E(E@%eepK_YycNkhrYH^0m)YR&gRuQi4ZqJNv6Rih0zQ zqjMuSng>Ps;?M0YVyh<;D3~;60;>exDe)Vq3x@GRf!$wgFY5w4=Jo=g*E{76%~jqr zxTtb_L4Cz_E4RTfm@0eXfr1%ho?zP(>dsRarS>!^uAh~bd0lEhe2x7AEZQmBc%rU; z&FUrs&mIt8DL`L4JpiFp3NNyk3N>iL6;Nohp*XbZZn%BDhF_y{&{X3UtX(7aAyG63P zELC;>2L`jnFS#vC->A(hZ!tGi7N7^YtW7-LB6!SVdEM&7N?g}r4rW2wLn{Ni*I~$Y z@#;KwJIl0^?eX{JWiHQxDvccnNKBhHW0h6`j=)OH1`)7)69B$XNT@)l1s25M+~o2_ zpa&X<_vHxN_oR|B#ir2p*VNB~o6Z1OE&~a+_|AxS)(@Dgznq(b(|K8BN_nQ7+>N`= zXOx_@AhcmmcRvp6eX#4z6sn=V0%KonKFVY@+m&)Rx!Z5U@WdyHMCF4_qzJNpzc9Fw z7Bdzx54(e7>wcEqHKqH-Paiut;~ZVJpS6_q>ub)zD#TQ4j*i(I8DvS$BfyX~A%<#} z*=g2$8s;YYjEHl`7cKw!a9PFRt8tVR zM&X|bs?B1#ycjl>AzgbdRkr-@NmBc^ys)aoT75F(yweV&Y-3hNNXj-valA&=)G{NL zX?smr5sQWi3n;GGPW{%vW)xw-#D0QY%zjXxYj?($b4JzpW0sWY!fkwC5bJMkhTp$J z6CNVLd=-Ktt7D<^-f|=wjNjf0l%@iu2dR+zdQ&9NLa(B_okKdRy^!Q!F$Ro=hF$-r z!3@ocUs^7?cvdTMPbn*8S-o!PsF;>FcBkBkg&ET`W`lp?j`Z}4>DF|}9407lK9y~^No&pT7J|rVQ9Dh>qg|%=gxxg=! z>WX$!;7s~gDPmPF<--(?CvEnvV*E1KdXpr>XVv!DN~PyISE7d+K_9+W^pnR6cX&?E ziLr{0`JIs@NcA|;8L|p!3H~9y8mga2Dsm4I?rBS7$3wcT!_l*$^8U3hKUri|_I3N2 zz$xY`)IWA7P*Y1BJtyBEh?8EEvs8Oyl^{(+`gi{9hwpcN#I%Z0j$^yBp?z<;Ny!G$ zra3J_^i0(~LiKuITs%v)qE+YrJr?~w+)`Rcte^O=nwmPg@&!Q7FGTtjpTdI6wH&ZV z)2}VZY6(MbP`tgoew++(pt$jVj- zvPK)pSJ)U(XfUqBqZNo|za#Xx+IVEb?HGQ^wUVH&wTdWgP(z#ijyvXjwk>tFBUn*2 zuj5ENQjT{2&T`k;q54*Z>O~djuUBNwc6l(BzY?Ed4SIt9QA&8+>qaRIck?WdD0rh@ zh`VTZPwSNNCcLH3J}(q zdEtu@HfxDTpEqWruG=86m;QVO{}E&q8qYWhmA>(FjW`V&rg!CEL1oZCZcAX@yX(2tg8`>m1psG0ZpO+Rnph@Bhjj!~|+S=@+U{*ukwGrBj{5xfIHHP7|} z^7@g2;d%FMO8f(MS&6c##mrX2i(5uiX1o(=Vw89IQcHw)n{ZTS@``xT$Af@CQTP#w zl3kn6+MJP+l(;K-rWgjpdBU|CB4>W%cObZBH^Am~EvRO%D>uU^HVRXi$1 zb?Pr~ZlopLfT5l%03SjI7>YiGZZs=n(A!c;N9%%aByY~5(-hS4z_i2wgKYsG%OhhxH#^5i%&9ESb(@# zV_f5${Gf=$BK)1VY=NX#f+M}6f`OWmpC*OU3&+P@n>$Xvco*Nm$c<=`S|lY6S}Ut- z80}ztIpkV>W%^Ox`enpk<25_i7`RPiDugxHfUDBD8$bp9XR15>a?r^#&!1Ne6n{MI z){H`!jwrx}8b-w@@E8H0v)l!5!W8En=u67v+`iNoz<_h4{V*qQK+@)JP^JqsKAedZ zNh4toE+I7;^}7kkj|hzNVFWkZ$N9rxPl9|_@2kbW*4}&o%(L`WpQCN2M?gz>cyWHk zulMwRxpdpx+~P(({@%UY20LwM7sA&1M|`bEoq)Id zyUHt>@vfu**UOL9wiW*C75cc&qBX37qLd`<;$gS+mvL^v3Z8i4p6(@Wv`N|U6Exn< zd`@WxqU^8u^Aw+uw#vuDEIByaD)vucU2{4xRseczf_TJXUwaUK+E_IoItXJq88${0 z=K5jGehPa2)CnH&Lcxv&1jQ=T8>*vgp1^%)c&C2TL69;vSN)Q)e#Hj7!oS0 zlrEmJ=w4N9pID5KEY5qz;?2Q}0|4ESEio&cLrp221LTt~j3KjUB`LU?tP=p;B=WSXo;C?8(pnF6@?-ZD0m3DYZ* z#SzaXh|)hmTC|zQOG>aEMw%4&2XU?prlk5(M3ay-YC^QLRMN+TIB*;TB=wL_atpeD zh-!sS%A`3 z=^?niQx+^za_wQd2hRR=hsR0uzUoyOcrY!z7W)G2|C-_gqc`wrG5qCuU!Z?g*GL^H z?j^<_-A6BC^Dp`p(i0!1&?U{YlF@!|W{E@h=qQ&5*|U~V8wS;m!RK(Q6aX~oH9ToE zZYKXZoRV~!?P1ADJ74J-PFk2A{e&gh2o)@yZOZuBi^0+Hkp`dX;cZs9CRM+##;P!*BlA%M48TuR zWUgfD1DLsLs+-4XC>o>wbv-B)!t*47ON5wgoMX%llnmXG%L8209Vi;yZ`+N2v2Ox+ zMe7JHunQE$ckHHhEYRA+e`A3=XO5L%fMau71`XL7v)b{f1rkTY+WWSIkH#sG=pLqe zA(xZIp>_=4$zKq0t_G7q9@L zZ5D-0{8o%7f>0szA#c;rjL;4Y%hl}wYrx1R`Viq|Pz}c-{{LJY070ym@E~mt*pTyG z79bfcWTGGEje;PLD;N-XHw=`wS^howfzb$%oP8n)lN$o$ZWjZx|6iSsi2piI_7s7z zX#b$@z6kIJ^9{-Y^~wJ!s0V^Td5V7#4&pyU#NHw#9)N&qbpNFDR1jqC00W}91OnnS z{$J@GBz%bka`xsz;rb_iJ|rgmpUVyEZ)Xi*SO5U&|NFkTHb3y@e@%{WrvE&Jp#Lw^ zcj13CbsW+V>i@rj@SEfFf0@yjS@nbPB0)6D`lA;e%61nh`-qhydO!uS7jXGQd%i7opEnOL;| zDn!3EUm(V796;f?fA+RDF<@%qKlo)`0VtL74`!~516_aogYP%QfG#<2kQ!pijthz2 zpaFX3|D$%C7!bL242U?-e@2QZ`q$~lgZbvgfLLyVfT1OC5<8@6lLi=A{stK#zJmWd zlx+(HbgX)l$RGwH|2rV@P3o@xCrxch0$*z1ASpy(n+d4d2XWd~2AYjQm`xZU3af8F p+x$Nxf1895@0bJirXkdpJh+N7@Nb7x007(DEB&^Lm}dWn{T~m64-^0Z diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ae04661ee..a59520664 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 744e882ed..a69d9cb6c 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,67 +17,101 @@ # ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +APP_BASE_NAME=${0##*/} # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MSYS* | MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -87,9 +121,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -98,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -106,80 +140,101 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=`expr $i + 1` + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index ac1b06f93..53a6b238d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +75,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/settings.gradle.kts b/settings.gradle.kts index a1c4358dd..a3c39ddc5 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -56,8 +56,8 @@ pluginManagement { id("io.qameta.allure-download") version "2.11.2" id("io.qameta.allure-report") version "2.11.2" id("io.spring.dependency-management") version "1.1.0" - id("ru.vyarus.quality") version "4.7.0" id("com.google.protobuf") version "0.9.1" + id("com.github.spotbugs") version "6.0.6" kotlin("jvm") version "1.7.10" } } From dae846458abecccfe0185b8fc7e19a7f05f90261 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 11:03:42 +0000 Subject: [PATCH 010/139] bump com.github.johnrengelman.shadow from 7.1.2 to 8.1.1 (via #995) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index a3c39ddc5..487d5b0ad 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -48,7 +48,7 @@ pluginManagement { } plugins { id("com.diffplug.spotless") version "6.11.0" - id("com.github.johnrengelman.shadow") version "7.1.2" + id("com.github.johnrengelman.shadow") version "8.1.1" id("com.gradle.enterprise") version "3.12.5" id("io.github.gradle-nexus.publish-plugin") version "1.1.0" id("io.qameta.allure-adapter") version "2.11.2" From 5fb84fe2685ae4cb8c48b357cb7df94f8d456ef9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 31 Jan 2024 12:17:32 +0000 Subject: [PATCH 011/139] bump org.mock-server:mockserver-netty from 5.14.0 to 5.15.0 (via #1000) --- allure-karate/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-karate/build.gradle.kts b/allure-karate/build.gradle.kts index 914f29c08..f300ed9fd 100644 --- a/allure-karate/build.gradle.kts +++ b/allure-karate/build.gradle.kts @@ -21,7 +21,7 @@ dependencies { testImplementation("org.slf4j:slf4j-simple") testImplementation(project(":allure-java-commons-test")) testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") - testImplementation("org.mock-server:mockserver-netty:5.14.0") + testImplementation("org.mock-server:mockserver-netty:5.15.0") } tasks.jar { From ffe0fb5a930619b3b686b4f8542c313eb40d13af Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 31 Jan 2024 12:29:24 +0000 Subject: [PATCH 012/139] bump org.postgresql:postgresql from 42.6.0 to 42.7.1 (via #999) --- allure-jooq/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-jooq/build.gradle.kts b/allure-jooq/build.gradle.kts index a0f29febe..d7aeab402 100644 --- a/allure-jooq/build.gradle.kts +++ b/allure-jooq/build.gradle.kts @@ -15,7 +15,7 @@ dependencies { testImplementation(project(":allure-java-commons-test")) testImplementation(project(":allure-junit-platform")) testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") - testRuntimeOnly("org.postgresql:postgresql:42.6.0") + testRuntimeOnly("org.postgresql:postgresql:42.7.1") } java { From e8c7265c64857ff334ebd5a99a1dfa4f74344944 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Wed, 31 Jan 2024 16:58:58 +0000 Subject: [PATCH 013/139] rft test commons (via #1001) --- .../cucumber4jvm/AllureCucumber4JvmTest.java | 63 ++++++-------- .../cucumber5jvm/AllureCucumber5JvmTest.java | 62 ++++++-------- .../cucumber6jvm/AllureCucumber6JvmTest.java | 62 ++++++-------- .../cucumber7jvm/AllureCucumber7JvmTest.java | 62 ++++++-------- .../java/io/qameta/allure/test/RunUtils.java | 85 ++++++++++++++++--- .../main/java/io/qameta/allure/Allure.java | 3 +- .../io/qameta/allure/util/ExceptionUtils.java | 2 +- .../io/qameta/allure/AllureLifecycleTest.java | 39 +++------ .../allure/StepLifecycleListenerTest.java | 54 ++---------- .../allure/jbehave/AllureJbehaveTest.java | 68 +++++++-------- .../allure/jbehave5/AllureJbehave5Test.java | 68 +++++++-------- .../AllureJunitPlatformTest.java | 45 ++++------ .../AllureJunitPlatformTestUtils.java | 70 ++++----------- .../allure/junit4/AllureJunit4Test.java | 35 +++----- .../allure/junit5/AllureJunit5Test.java | 51 ++++------- .../io/qameta/allure/karate/TestRunner.java | 54 +++++------- .../qameta/allure/spock/AllureSpockTest.java | 36 ++------ .../io/qameta/allure/spock2/AllureSpock2.java | 2 +- .../allure/spock2/AllureSpock2Test.java | 71 ++++++---------- .../allure/testng/AllureTestNgTest.java | 76 ++++++----------- 20 files changed, 399 insertions(+), 609 deletions(-) diff --git a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java index da872dced..18940bc83 100644 --- a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java +++ b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java @@ -15,19 +15,16 @@ */ package io.qameta.allure.cucumber4jvm; -import cucumber.runtime.ClassFinder; import cucumber.runtime.FeaturePathFeatureSupplier; import cucumber.runtime.Runtime; import cucumber.runtime.io.MultiLoader; import cucumber.runtime.io.ResourceLoader; -import cucumber.runtime.io.ResourceLoaderClassFinder; import cucumber.runtime.model.FeatureLoader; import io.cucumber.core.model.FeatureWithLines; import io.cucumber.core.options.CommandlineOptionsParser; import io.cucumber.core.options.RuntimeOptions; import io.github.glytching.junit.extension.system.SystemProperty; import io.github.glytching.junit.extension.system.SystemPropertyExtension; -import io.qameta.allure.AllureLifecycle; import io.qameta.allure.Step; import io.qameta.allure.model.Attachment; import io.qameta.allure.model.FixtureResult; @@ -41,8 +38,7 @@ import io.qameta.allure.model.TestResult; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; -import io.qameta.allure.test.AllureTestCommonsUtils; +import io.qameta.allure.test.RunUtils; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.parallel.ResourceLock; @@ -719,38 +715,31 @@ void shouldSupportProvidedLabels() { @Step private AllureResults runFeature(final String featureResource, final String... moreOptions) { - - final AllureResultsWriterStub writer = new AllureResultsWriterStub(); - - final AllureLifecycle lifecycle = new AllureLifecycle(writer); - final AllureCucumber4Jvm cucumber4Jvm = new AllureCucumber4Jvm(lifecycle); - final ClassLoader classLoader = currentThread().getContextClassLoader(); - final ResourceLoader resourceLoader = new MultiLoader(classLoader); - final ClassFinder classFinder = new ResourceLoaderClassFinder(resourceLoader, classLoader); - final List opts = new ArrayList<>(Arrays.asList( - "--glue", "io.qameta.allure.cucumber4jvm.samples", - "--plugin", "null_summary" - )); - opts.addAll(Arrays.asList(moreOptions)); - final FeatureWithLines featureWithLines = FeatureWithLines.parse("src/test/resources/" + featureResource); - final RuntimeOptions options = new CommandlineOptionsParser() - .parse(opts.toArray(new String[]{})).addFeature(featureWithLines).build(); - - final FeaturePathFeatureSupplier supplier - = new FeaturePathFeatureSupplier(new FeatureLoader(resourceLoader), options); - - final Runtime runtime = Runtime.builder() - .withClassLoader(classLoader) - .withRuntimeOptions(options) - .withAdditionalPlugins(cucumber4Jvm) - .withFeatureSupplier(supplier) - .build(); - - runtime.run(); - - AllureTestCommonsUtils.attach(writer); - - return writer; + return RunUtils.runTests(lifecycle -> { + final AllureCucumber4Jvm cucumber4Jvm = new AllureCucumber4Jvm(lifecycle); + final ClassLoader classLoader = currentThread().getContextClassLoader(); + final ResourceLoader resourceLoader = new MultiLoader(classLoader); + final List opts = new ArrayList<>(Arrays.asList( + "--glue", "io.qameta.allure.cucumber4jvm.samples", + "--plugin", "null_summary" + )); + opts.addAll(Arrays.asList(moreOptions)); + final FeatureWithLines featureWithLines = FeatureWithLines.parse("src/test/resources/" + featureResource); + final RuntimeOptions options = new CommandlineOptionsParser() + .parse(opts.toArray(new String[]{})).addFeature(featureWithLines).build(); + + final FeaturePathFeatureSupplier supplier + = new FeaturePathFeatureSupplier(new FeatureLoader(resourceLoader), options); + + final Runtime runtime = Runtime.builder() + .withClassLoader(classLoader) + .withRuntimeOptions(options) + .withAdditionalPlugins(cucumber4Jvm) + .withFeatureSupplier(supplier) + .build(); + + runtime.run(); + }); } diff --git a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java index f4fe1a151..988882c27 100644 --- a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java +++ b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java @@ -26,7 +26,6 @@ import io.cucumber.core.runtime.TimeServiceEventBus; import io.github.glytching.junit.extension.system.SystemProperty; import io.github.glytching.junit.extension.system.SystemPropertyExtension; -import io.qameta.allure.AllureLifecycle; import io.qameta.allure.Step; import io.qameta.allure.model.Attachment; import io.qameta.allure.model.FixtureResult; @@ -40,8 +39,7 @@ import io.qameta.allure.model.TestResult; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; -import io.qameta.allure.test.AllureTestCommonsUtils; +import io.qameta.allure.test.RunUtils; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.parallel.ResourceLock; @@ -720,38 +718,32 @@ void shouldSupportProvidedLabels() { @Step private AllureResults runFeature(final String featureResource, final String... moreOptions) { - - final AllureResultsWriterStub writer = new AllureResultsWriterStub(); - - final AllureLifecycle lifecycle = new AllureLifecycle(writer); - final AllureCucumber5Jvm cucumber5jvm = new AllureCucumber5Jvm(lifecycle); - final Supplier classLoader = ClassLoaders::getDefaultClassLoader; - final List opts = new ArrayList<>(Arrays.asList( - "--glue", "io.qameta.allure.cucumber5jvm.samples", - "--plugin", "null_summary" - )); - opts.addAll(Arrays.asList(moreOptions)); - final FeatureWithLines featureWithLines = FeatureWithLines.parse("src/test/resources/" + featureResource); - final RuntimeOptions options = new CommandlineOptionsParser() - .parse(opts.toArray(new String[]{})).addFeature(featureWithLines).build(); - - final EventBus bus = new TimeServiceEventBus(Clock.systemUTC(), UUID::randomUUID); - final FeatureParser parser = new FeatureParser(bus::generateId); - final FeaturePathFeatureSupplier supplier - = new FeaturePathFeatureSupplier(classLoader, options, parser); - - final Runtime runtime = Runtime.builder() - .withClassLoader(classLoader) - .withRuntimeOptions(options) - .withAdditionalPlugins(cucumber5jvm) - .withFeatureSupplier(supplier) - .build(); - - runtime.run(); - - AllureTestCommonsUtils.attach(writer); - - return writer; + return RunUtils.runTests(lifecycle -> { + final AllureCucumber5Jvm cucumber5jvm = new AllureCucumber5Jvm(lifecycle); + final Supplier classLoader = ClassLoaders::getDefaultClassLoader; + final List opts = new ArrayList<>(Arrays.asList( + "--glue", "io.qameta.allure.cucumber5jvm.samples", + "--plugin", "null_summary" + )); + opts.addAll(Arrays.asList(moreOptions)); + final FeatureWithLines featureWithLines = FeatureWithLines.parse("src/test/resources/" + featureResource); + final RuntimeOptions options = new CommandlineOptionsParser() + .parse(opts.toArray(new String[]{})).addFeature(featureWithLines).build(); + + final EventBus bus = new TimeServiceEventBus(Clock.systemUTC(), UUID::randomUUID); + final FeatureParser parser = new FeatureParser(bus::generateId); + final FeaturePathFeatureSupplier supplier + = new FeaturePathFeatureSupplier(classLoader, options, parser); + + final Runtime runtime = Runtime.builder() + .withClassLoader(classLoader) + .withRuntimeOptions(options) + .withAdditionalPlugins(cucumber5jvm) + .withFeatureSupplier(supplier) + .build(); + + runtime.run(); + }); } diff --git a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java index b5a1ff4d4..e742aeb02 100644 --- a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java +++ b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java @@ -26,7 +26,6 @@ import io.cucumber.core.runtime.TimeServiceEventBus; import io.github.glytching.junit.extension.system.SystemProperty; import io.github.glytching.junit.extension.system.SystemPropertyExtension; -import io.qameta.allure.AllureLifecycle; import io.qameta.allure.Step; import io.qameta.allure.model.Attachment; import io.qameta.allure.model.FixtureResult; @@ -40,8 +39,7 @@ import io.qameta.allure.model.TestResult; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; -import io.qameta.allure.test.AllureTestCommonsUtils; +import io.qameta.allure.test.RunUtils; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.parallel.ResourceLock; @@ -720,37 +718,31 @@ void shouldSupportProvidedLabels() { @Step private AllureResults runFeature(final String featureResource, final String... moreOptions) { - - final AllureResultsWriterStub writer = new AllureResultsWriterStub(); - - final AllureLifecycle lifecycle = new AllureLifecycle(writer); - final AllureCucumber6Jvm cucumber6jvm = new AllureCucumber6Jvm(lifecycle); - final Supplier classLoader = ClassLoaders::getDefaultClassLoader; - final List opts = new ArrayList<>(Arrays.asList( - "--glue", "io.qameta.allure.cucumber6jvm.samples", - "--plugin", "null_summary" - )); - opts.addAll(Arrays.asList(moreOptions)); - final FeatureWithLines featureWithLines = FeatureWithLines.parse("src/test/resources/" + featureResource); - final RuntimeOptions options = new CommandlineOptionsParser(System.out) - .parse(opts.toArray(new String[]{})).addFeature(featureWithLines).build(); - - final EventBus bus = new TimeServiceEventBus(Clock.systemUTC(), UUID::randomUUID); - final FeatureParser parser = new FeatureParser(bus::generateId); - final FeaturePathFeatureSupplier supplier - = new FeaturePathFeatureSupplier(classLoader, options, parser); - - final Runtime runtime = Runtime.builder() - .withClassLoader(classLoader) - .withRuntimeOptions(options) - .withAdditionalPlugins(cucumber6jvm) - .withFeatureSupplier(supplier) - .build(); - - runtime.run(); - - AllureTestCommonsUtils.attach(writer); - - return writer; + return RunUtils.runTests(lifecycle -> { + final AllureCucumber6Jvm cucumber6jvm = new AllureCucumber6Jvm(lifecycle); + final Supplier classLoader = ClassLoaders::getDefaultClassLoader; + final List opts = new ArrayList<>(Arrays.asList( + "--glue", "io.qameta.allure.cucumber6jvm.samples", + "--plugin", "null_summary" + )); + opts.addAll(Arrays.asList(moreOptions)); + final FeatureWithLines featureWithLines = FeatureWithLines.parse("src/test/resources/" + featureResource); + final RuntimeOptions options = new CommandlineOptionsParser(System.out) + .parse(opts.toArray(new String[]{})).addFeature(featureWithLines).build(); + + final EventBus bus = new TimeServiceEventBus(Clock.systemUTC(), UUID::randomUUID); + final FeatureParser parser = new FeatureParser(bus::generateId); + final FeaturePathFeatureSupplier supplier + = new FeaturePathFeatureSupplier(classLoader, options, parser); + + final Runtime runtime = Runtime.builder() + .withClassLoader(classLoader) + .withRuntimeOptions(options) + .withAdditionalPlugins(cucumber6jvm) + .withFeatureSupplier(supplier) + .build(); + + runtime.run(); + }); } } diff --git a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java index 055fd7dbc..ff644c18b 100644 --- a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java +++ b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java @@ -26,7 +26,6 @@ import io.cucumber.core.runtime.TimeServiceEventBus; import io.github.glytching.junit.extension.system.SystemProperty; import io.github.glytching.junit.extension.system.SystemPropertyExtension; -import io.qameta.allure.AllureLifecycle; import io.qameta.allure.Step; import io.qameta.allure.model.Attachment; import io.qameta.allure.model.FixtureResult; @@ -40,8 +39,7 @@ import io.qameta.allure.model.TestResult; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; -import io.qameta.allure.test.AllureTestCommonsUtils; +import io.qameta.allure.test.RunUtils; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.parallel.ResourceLock; @@ -721,38 +719,32 @@ void shouldSupportProvidedLabels() { private AllureResults runFeature(final String featureResource, final String... moreOptions) { - final AllureResultsWriterStub writer = new AllureResultsWriterStub(); - - final AllureLifecycle lifecycle = new AllureLifecycle(writer); - final AllureCucumber7Jvm cucumber7jvm = new AllureCucumber7Jvm(lifecycle); - final Supplier classLoader = ClassLoaders::getDefaultClassLoader; - final List opts = new ArrayList<>(Arrays.asList( - "--glue", "io.qameta.allure.cucumber7jvm.samples", - "--no-summary" - )); - opts.addAll(Arrays.asList(moreOptions)); - final FeatureWithLines featureWithLines = FeatureWithLines.parse("src/test/resources/" + featureResource); - final RuntimeOptions options = new CommandlineOptionsParser(System.out) - .parse(opts.toArray(new String[]{})).addFeature(featureWithLines).build(); - - final EventBus bus = new TimeServiceEventBus(Clock.systemUTC(), UUID::randomUUID); - final FeatureParser parser = new FeatureParser(bus::generateId); - final FeaturePathFeatureSupplier supplier - = new FeaturePathFeatureSupplier(classLoader, options, parser); - - final Runtime runtime = Runtime.builder() - .withClassLoader(classLoader) - .withRuntimeOptions(options) - .withAdditionalPlugins(cucumber7jvm) - .withFeatureSupplier(supplier) - .build(); - - runtime.run(); - - AllureTestCommonsUtils.attach(writer); - - return writer; + return RunUtils.runTests(lifecycle -> { + final AllureCucumber7Jvm cucumber7jvm = new AllureCucumber7Jvm(lifecycle); + final Supplier classLoader = ClassLoaders::getDefaultClassLoader; + final List opts = new ArrayList<>(Arrays.asList( + "--glue", "io.qameta.allure.cucumber7jvm.samples", + "--no-summary" + )); + opts.addAll(Arrays.asList(moreOptions)); + final FeatureWithLines featureWithLines = FeatureWithLines.parse("src/test/resources/" + featureResource); + final RuntimeOptions options = new CommandlineOptionsParser(System.out) + .parse(opts.toArray(new String[]{})).addFeature(featureWithLines).build(); + + final EventBus bus = new TimeServiceEventBus(Clock.systemUTC(), UUID::randomUUID); + final FeatureParser parser = new FeatureParser(bus::generateId); + final FeaturePathFeatureSupplier supplier + = new FeaturePathFeatureSupplier(classLoader, options, parser); + + final Runtime runtime = Runtime.builder() + .withClassLoader(classLoader) + .withRuntimeOptions(options) + .withAdditionalPlugins(cucumber7jvm) + .withFeatureSupplier(supplier) + .build(); + + runtime.run(); + }); } - } diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/RunUtils.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/RunUtils.java index 185a98b54..3905c64a7 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/RunUtils.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/RunUtils.java @@ -17,12 +17,15 @@ import io.qameta.allure.Allure; import io.qameta.allure.AllureLifecycle; +import io.qameta.allure.AllureResultsWriter; import io.qameta.allure.aspects.AttachmentsAspects; import io.qameta.allure.aspects.StepsAspects; import io.qameta.allure.model.TestResult; +import io.qameta.allure.util.ExceptionUtils; import java.util.UUID; import java.util.function.Consumer; +import java.util.function.Function; import java.util.stream.Stream; import static io.qameta.allure.util.ResultsUtils.getStatus; @@ -37,8 +40,21 @@ private RunUtils() { throw new IllegalStateException("do not instance"); } - public static AllureResults runWithinTestContext(final Runnable runnable) { - return runWithinTestContext( + public static AllureResults runTests( + final Allure.ThrowableContextRunnableVoid runnable) { + return runTests( + runnable, + Allure::setLifecycle, + StepsAspects::setLifecycle, + AttachmentsAspects::setLifecycle + ); + } + + public static AllureResults runTests( + final Function lifecycleFactory, + final Allure.ThrowableContextRunnableVoid runnable) { + return runTests( + lifecycleFactory, runnable, Allure::setLifecycle, StepsAspects::setLifecycle, @@ -47,18 +63,67 @@ public static AllureResults runWithinTestContext(final Runnable runnable) { } @SafeVarargs - public static AllureResults runWithinTestContext(final Runnable runnable, - final Consumer... configurers) { + public static AllureResults runTests( + final Allure.ThrowableContextRunnableVoid runnable, + final Consumer... configurers) { + return runTests(AllureLifecycle::new, runnable, configurers); + } + + @SafeVarargs + public static AllureResults runTests( + final Function lifecycleFactory, + final Allure.ThrowableContextRunnableVoid runnable, + final Consumer... configurers) { final AllureResultsWriterStub writer = new AllureResultsWriterStub(); - final AllureLifecycle lifecycle = new AllureLifecycle(writer); + final AllureLifecycle lifecycle = lifecycleFactory.apply(writer); + + final AllureLifecycle defaultLifecycle = Allure.getLifecycle(); + try { + Stream.of(configurers).forEach(configurer -> configurer.accept(lifecycle)); + + runnable.run(lifecycle); + + return writer; + } catch (Throwable e) { + throw ExceptionUtils.sneakyThrow(e); + } finally { + Stream.of(configurers).forEach(configurer -> configurer.accept(defaultLifecycle)); + AllureTestCommonsUtils.attach(writer); + } + } + + public static AllureResults runWithinTestContext( + final Runnable runnable) { + return runTests(lifecycle -> withTestContext(runnable, lifecycle)); + } + + public static AllureResults runWithinTestContext( + final Function lifecycleFactory, + final Runnable runnable) { + return runTests(lifecycleFactory, lifecycle -> withTestContext(runnable, lifecycle)); + } + + @SafeVarargs + public static AllureResults runWithinTestContext( + final Runnable runnable, + final Consumer... configurers) { + return runTests(lifecycle -> withTestContext(runnable, lifecycle), configurers); + } + + @SafeVarargs + public static AllureResults runWithinTestContext( + final Function lifecycleFactory, + final Runnable runnable, + final Consumer... configurers) { + return runTests(lifecycleFactory, lifecycle -> withTestContext(runnable, lifecycle), configurers); + } + + private static void withTestContext(final Runnable runnable, final AllureLifecycle lifecycle) { final String uuid = UUID.randomUUID().toString(); final TestResult result = new TestResult().setUuid(uuid); - final AllureLifecycle cached = Allure.getLifecycle(); try { - Stream.of(configurers).forEach(configurer -> configurer.accept(lifecycle)); - lifecycle.scheduleTestCase(result); lifecycle.startTestCase(uuid); @@ -72,11 +137,7 @@ public static AllureResults runWithinTestContext(final Runnable runnable, } finally { lifecycle.stopTestCase(uuid); lifecycle.writeTestCase(uuid); - - Stream.of(configurers).forEach(configurer -> configurer.accept(cached)); } - - return writer; } } diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Allure.java b/allure-java-commons/src/main/java/io/qameta/allure/Allure.java index afc8ddbc3..445d8b2c4 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Allure.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Allure.java @@ -185,8 +185,7 @@ public static T step(final ThrowableContextRunnable runnable getLifecycle().updateStep(s -> s .setStatus(getStatus(throwable).orElse(Status.BROKEN)) .setStatusDetails(getStatusDetails(throwable).orElse(null))); - ExceptionUtils.sneakyThrow(throwable); - return null; + throw ExceptionUtils.sneakyThrow(throwable); } finally { getLifecycle().stopStep(uuid); } diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/ExceptionUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/ExceptionUtils.java index e658e8e28..f644cf7e7 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/ExceptionUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/ExceptionUtils.java @@ -25,7 +25,7 @@ private ExceptionUtils() { } @SuppressWarnings("unchecked") - public static void sneakyThrow(final Throwable throwable) throws T { + public static T sneakyThrow(final Throwable throwable) throws T { throw (T) throwable; } } diff --git a/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java b/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java index cf8fa80b9..02a74faa8 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java @@ -20,7 +20,8 @@ import io.qameta.allure.model.StepResult; import io.qameta.allure.model.TestResult; import io.qameta.allure.model.TestResultContainer; -import io.qameta.allure.test.AllureResultsWriterStub; +import io.qameta.allure.test.AllureResults; +import io.qameta.allure.test.RunUtils; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; @@ -34,7 +35,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.UUID; import java.util.concurrent.Callable; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CopyOnWriteArrayList; @@ -46,7 +46,6 @@ import java.util.stream.Collectors; import static io.qameta.allure.Allure.addStreamAttachmentAsync; -import static io.qameta.allure.Allure.setLifecycle; import static io.qameta.allure.test.TestData.randomId; import static io.qameta.allure.test.TestData.randomName; import static io.qameta.allure.test.TestData.randomString; @@ -296,36 +295,24 @@ void shouldCreateTestFixture() { .containsExactly(firstStepName, secondStepName); } - @SuppressWarnings("OptionalGetWithoutIsPresent") @Test void shouldAttachAsync() { final List> features = new CopyOnWriteArrayList<>(); - final AllureResultsWriterStub writer = new AllureResultsWriterStub(); - - final AllureLifecycle lifecycle = new AllureLifecycle(writer); - setLifecycle(lifecycle); - - final String uuid = UUID.randomUUID().toString(); - final TestResult result = new TestResult().setUuid(uuid); - - lifecycle.scheduleTestCase(result); - lifecycle.startTestCase(uuid); - - final String attachment1Content = randomString(100); - final String attachment2Content = randomString(100); final String attachment1Name = randomName(); final String attachment2Name = randomName(); - features.add(addStreamAttachmentAsync( - attachment1Name, "video/mp4", getStreamWithTimeout(2, attachment1Content))); - features.add(addStreamAttachmentAsync( - attachment2Name, "text/plain", getStreamWithTimeout(1, attachment2Content))); + final String attachment1Content = randomString(100); + final String attachment2Content = randomString(100); - lifecycle.stopTestCase(uuid); - lifecycle.writeTestCase(uuid); + final AllureResults writer = RunUtils.runWithinTestContext(() -> { + features.add(addStreamAttachmentAsync( + attachment1Name, "video/mp4", getStreamWithTimeout(2, attachment1Content))); + features.add(addStreamAttachmentAsync( + attachment2Name, "text/plain", getStreamWithTimeout(1, attachment2Content))); - allOf(features.toArray(new CompletableFuture[0])).join(); + allOf(features.toArray(new CompletableFuture[0])).join(); + }); final List attachments = writer.getTestResults().stream() .map(TestResult::getAttachments) @@ -351,7 +338,7 @@ void shouldAttachAsync() { final io.qameta.allure.model.Attachment attachment1 = attachments.stream() .filter(attachment -> Objects.equals(attachment.getName(), attachment1Name)) .findAny() - .get(); + .orElseThrow(); final byte[] actual1 = attachmentFiles.get(attachment1.getSource()); @@ -361,7 +348,7 @@ void shouldAttachAsync() { final Attachment attachment2 = attachments.stream() .filter(attachment -> Objects.equals(attachment.getName(), attachment2Name)) .findAny() - .get(); + .orElseThrow(); final byte[] actual2 = attachmentFiles.get(attachment2.getSource()); diff --git a/allure-java-commons/src/test/java/io/qameta/allure/StepLifecycleListenerTest.java b/allure-java-commons/src/test/java/io/qameta/allure/StepLifecycleListenerTest.java index bd09c6935..0a0ba0f78 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/StepLifecycleListenerTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/StepLifecycleListenerTest.java @@ -15,7 +15,6 @@ */ package io.qameta.allure; -import io.qameta.allure.aspects.StepsAspects; import io.qameta.allure.listener.LifecycleNotifier; import io.qameta.allure.listener.StepLifecycleListener; import io.qameta.allure.model.Attachment; @@ -23,17 +22,13 @@ import io.qameta.allure.model.StepResult; import io.qameta.allure.model.TestResult; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; +import io.qameta.allure.test.RunUtils; import org.junit.jupiter.api.Test; -import java.util.UUID; +import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Stream; -import static io.qameta.allure.util.ResultsUtils.getStatus; -import static io.qameta.allure.util.ResultsUtils.getStatusDetails; -import static java.util.Collections.emptyList; -import static java.util.Collections.singletonList; import static org.assertj.core.api.Assertions.assertThat; /** @@ -133,45 +128,12 @@ public void beforeStepStop(final StepResult result) { } protected AllureResults run(final StepLifecycleListener listener, final String... steps) { - final AllureResultsWriterStub writer = new AllureResultsWriterStub(); - final LifecycleNotifier notifier = new LifecycleNotifier( - emptyList(), - emptyList(), - emptyList(), - singletonList(listener) + return RunUtils.runWithinTestContext( + writer -> new AllureLifecycle( + writer, + new LifecycleNotifier(List.of(), List.of(), List.of(), List.of(listener)) + ), + () -> Stream.of(steps).forEach(step -> Allure.step(step, Status.PASSED)) ); - final AllureLifecycle lifecycle = new AllureLifecycle(writer, notifier); - - final String uuid = UUID.randomUUID().toString(); - final TestResult result = new TestResult().setUuid(uuid); - - final AllureLifecycle cached = Allure.getLifecycle(); - try { - Allure.setLifecycle(lifecycle); - StepsAspects.setLifecycle(lifecycle); - - lifecycle.scheduleTestCase(result); - lifecycle.startTestCase(uuid); - - Stream.of(steps).forEach(step -> { - final String stepUuid = UUID.randomUUID().toString(); - lifecycle.startStep(stepUuid, new StepResult().setName(step).setStatus(Status.PASSED)); - lifecycle.stopStep(stepUuid); - }); - } catch (Throwable e) { - lifecycle.updateTestCase(uuid, testResult -> { - getStatus(e).ifPresent(testResult::setStatus); - getStatusDetails(e).ifPresent(testResult::setStatusDetails); - - }); - } finally { - lifecycle.stopTestCase(uuid); - lifecycle.writeTestCase(uuid); - - Allure.setLifecycle(cached); - StepsAspects.setLifecycle(cached); - } - - return writer; } } diff --git a/allure-jbehave/src/test/java/io/qameta/allure/jbehave/AllureJbehaveTest.java b/allure-jbehave/src/test/java/io/qameta/allure/jbehave/AllureJbehaveTest.java index 5e7035e47..1f1917b97 100644 --- a/allure-jbehave/src/test/java/io/qameta/allure/jbehave/AllureJbehaveTest.java +++ b/allure-jbehave/src/test/java/io/qameta/allure/jbehave/AllureJbehaveTest.java @@ -15,8 +15,6 @@ */ package io.qameta.allure.jbehave; -import io.qameta.allure.Allure; -import io.qameta.allure.AllureLifecycle; import io.qameta.allure.Issue; import io.qameta.allure.jbehave.samples.BrokenStorySteps; import io.qameta.allure.jbehave.samples.SimpleStorySteps; @@ -27,7 +25,7 @@ import io.qameta.allure.model.StepResult; import io.qameta.allure.model.TestResult; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; +import io.qameta.allure.test.RunUtils; import org.jbehave.core.configuration.MostUsefulConfiguration; import org.jbehave.core.embedder.Embedder; import org.jbehave.core.embedder.EmbedderControls; @@ -176,7 +174,7 @@ void shouldSetDescription() { final AllureResults results = runStories("stories/description.story"); final String expected = "This is description for current story.\n" - + "It should appear on each scenario in report"; + + "It should appear on each scenario in report"; assertThat(results.getTestResults()) .extracting(TestResult::getDescription) @@ -267,42 +265,34 @@ void shouldNotFailIfGivenStoriesSpecified() { } private AllureResults runStories(final String... storyResources) { - final AllureResultsWriterStub writer = new AllureResultsWriterStub(); - final AllureLifecycle lifecycle = new AllureLifecycle(writer); - - final Embedder embedder = new Embedder(); - embedder.useEmbedderMonitor(new NullEmbedderMonitor()); - embedder.useEmbedderControls(new EmbedderControls() - .doGenerateViewAfterStories(false) - .doFailOnStoryTimeout(false) - .doBatch(false) - .doIgnoreFailureInStories(true) - .doIgnoreFailureInView(true) - .doVerboseFailures(false) - .doVerboseFiltering(false) - ); - final AllureJbehave allureJbehave = new AllureJbehave(lifecycle); - embedder.useConfiguration(new MostUsefulConfiguration() - .useStoryLoader(new LoadFromClasspath(this.getClass())) - .useStoryReporterBuilder(new ReportlessStoryReporterBuilder(temp.toFile()) - .withReporters(allureJbehave) - ) - .useDefaultStoryReporter(new NullStoryReporter()) - ); - final InjectableStepsFactory stepsFactory = new InstanceStepsFactory( - embedder.configuration(), - new SimpleStorySteps(), - new BrokenStorySteps() - ); - embedder.useCandidateSteps(stepsFactory.createCandidateSteps()); - final AllureLifecycle cached = Allure.getLifecycle(); - try { - Allure.setLifecycle(lifecycle); + return RunUtils.runTests(lifecycle -> { + final Embedder embedder = new Embedder(); + embedder.useEmbedderMonitor(new NullEmbedderMonitor()); + embedder.useEmbedderControls(new EmbedderControls() + .doGenerateViewAfterStories(false) + .doFailOnStoryTimeout(false) + .doBatch(false) + .doIgnoreFailureInStories(true) + .doIgnoreFailureInView(true) + .doVerboseFailures(false) + .doVerboseFiltering(false) + ); + final AllureJbehave allureJbehave = new AllureJbehave(lifecycle); + embedder.useConfiguration(new MostUsefulConfiguration() + .useStoryLoader(new LoadFromClasspath(this.getClass())) + .useStoryReporterBuilder(new ReportlessStoryReporterBuilder(temp.toFile()) + .withReporters(allureJbehave) + ) + .useDefaultStoryReporter(new NullStoryReporter()) + ); + final InjectableStepsFactory stepsFactory = new InstanceStepsFactory( + embedder.configuration(), + new SimpleStorySteps(), + new BrokenStorySteps() + ); + embedder.useCandidateSteps(stepsFactory.createCandidateSteps()); embedder.runStoriesAsPaths(Arrays.asList(storyResources)); - } finally { - Allure.setLifecycle(cached); - } - return writer; + }); } static class ReportlessStoryReporterBuilder extends StoryReporterBuilder { diff --git a/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/AllureJbehave5Test.java b/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/AllureJbehave5Test.java index eb670babc..387f94557 100644 --- a/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/AllureJbehave5Test.java +++ b/allure-jbehave5/src/test/java/io/qameta/allure/jbehave5/AllureJbehave5Test.java @@ -15,8 +15,6 @@ */ package io.qameta.allure.jbehave5; -import io.qameta.allure.Allure; -import io.qameta.allure.AllureLifecycle; import io.qameta.allure.Issue; import io.qameta.allure.jbehave5.samples.BrokenStorySteps; import io.qameta.allure.jbehave5.samples.SimpleStorySteps; @@ -27,7 +25,7 @@ import io.qameta.allure.model.StepResult; import io.qameta.allure.model.TestResult; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; +import io.qameta.allure.test.RunUtils; import org.jbehave.core.configuration.MostUsefulConfiguration; import org.jbehave.core.embedder.Embedder; import org.jbehave.core.embedder.EmbedderControls; @@ -172,7 +170,7 @@ void shouldSetDescription() { final AllureResults results = runStories("stories/description.story"); final String expected = "This is description for current story.\n" - + "It should appear on each scenario in report"; + + "It should appear on each scenario in report"; assertThat(results.getTestResults()) .extracting(TestResult::getDescription) @@ -262,42 +260,34 @@ void shouldNotFailIfGivenStoriesSpecified() { } private AllureResults runStories(final String... storyResources) { - final AllureResultsWriterStub writer = new AllureResultsWriterStub(); - final AllureLifecycle lifecycle = new AllureLifecycle(writer); - - final Embedder embedder = new Embedder(); - embedder.useEmbedderMonitor(new NullEmbedderMonitor()); - embedder.useEmbedderControls(new EmbedderControls() - .doGenerateViewAfterStories(false) - .doFailOnStoryTimeout(false) - .doBatch(false) - .doIgnoreFailureInStories(true) - .doIgnoreFailureInView(true) - .doVerboseFailures(false) - .doVerboseFiltering(false) - ); - final AllureJbehave5 allureJbehave5 = new AllureJbehave5(lifecycle); - embedder.useConfiguration(new MostUsefulConfiguration() - .useStoryLoader(new LoadFromClasspath(this.getClass())) - .useStoryReporterBuilder(new ReportlessStoryReporterBuilder(temp.toFile()) - .withReporters(allureJbehave5) - ) - .useDefaultStoryReporter(new NullStoryReporter()) - ); - final InjectableStepsFactory stepsFactory = new InstanceStepsFactory( - embedder.configuration(), - new SimpleStorySteps(), - new BrokenStorySteps() - ); - embedder.useStepsFactory(stepsFactory); - final AllureLifecycle cached = Allure.getLifecycle(); - try { - Allure.setLifecycle(lifecycle); + return RunUtils.runTests(lifecycle -> { + final Embedder embedder = new Embedder(); + embedder.useEmbedderMonitor(new NullEmbedderMonitor()); + embedder.useEmbedderControls(new EmbedderControls() + .doGenerateViewAfterStories(false) + .doFailOnStoryTimeout(false) + .doBatch(false) + .doIgnoreFailureInStories(true) + .doIgnoreFailureInView(true) + .doVerboseFailures(false) + .doVerboseFiltering(false) + ); + final AllureJbehave5 allureJbehave5 = new AllureJbehave5(lifecycle); + embedder.useConfiguration(new MostUsefulConfiguration() + .useStoryLoader(new LoadFromClasspath(this.getClass())) + .useStoryReporterBuilder(new ReportlessStoryReporterBuilder(temp.toFile()) + .withReporters(allureJbehave5) + ) + .useDefaultStoryReporter(new NullStoryReporter()) + ); + final InjectableStepsFactory stepsFactory = new InstanceStepsFactory( + embedder.configuration(), + new SimpleStorySteps(), + new BrokenStorySteps() + ); + embedder.useStepsFactory(stepsFactory); embedder.runStoriesAsPaths(Arrays.asList(storyResources)); - } finally { - Allure.setLifecycle(cached); - } - return writer; + }); } static class ReportlessStoryReporterBuilder extends StoryReporterBuilder { diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTest.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTest.java index 33be21458..ceccd76b3 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTest.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTest.java @@ -16,11 +16,7 @@ package io.qameta.allure.junitplatform; import io.github.glytching.junit.extension.system.SystemProperty; -import io.qameta.allure.Allure; -import io.qameta.allure.AllureLifecycle; import io.qameta.allure.Issue; -import io.qameta.allure.aspects.AttachmentsAspects; -import io.qameta.allure.aspects.StepsAspects; import io.qameta.allure.junitplatform.features.AllureIdAnnotationSupport; import io.qameta.allure.junitplatform.features.BrokenInAfterAllTests; import io.qameta.allure.junitplatform.features.BrokenInBeforeAllTests; @@ -67,7 +63,7 @@ import io.qameta.allure.model.TestResult; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; +import io.qameta.allure.test.RunUtils; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.parallel.ResourceLock; @@ -841,35 +837,23 @@ void shouldProcessAllureParameterReportingEvents() { @Test @AllureFeatures.Retries void shouldSetDifferentUuidsInDifferentRuns() { - final AllureResultsWriterStub results = new AllureResultsWriterStub(); - final AllureLifecycle lifecycle = new AllureLifecycle(results); - - final LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() - .filters(new AllurePostDiscoveryFilter(null)) - .selectors(DiscoverySelectors.selectClass(OneTest.class)) - .build(); - - final LauncherConfig config = LauncherConfig.builder() - .enableTestExecutionListenerAutoRegistration(false) - .addTestExecutionListeners(new AllureJunitPlatform(lifecycle)) - .enablePostDiscoveryFilterAutoRegistration(false) - .build(); - final Launcher launcher = LauncherFactory.create(config); - - final AllureLifecycle defaultLifecycle = Allure.getLifecycle(); - try { - Allure.setLifecycle(lifecycle); - StepsAspects.setLifecycle(lifecycle); - AttachmentsAspects.setLifecycle(lifecycle); + final AllureResults results = RunUtils.runTests(lifecycle -> { + final LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() + .filters(new AllurePostDiscoveryFilter(null)) + .selectors(DiscoverySelectors.selectClass(OneTest.class)) + .build(); + + final LauncherConfig config = LauncherConfig.builder() + .enableTestExecutionListenerAutoRegistration(false) + .addTestExecutionListeners(new AllureJunitPlatform(lifecycle)) + .enablePostDiscoveryFilterAutoRegistration(false) + .build(); + final Launcher launcher = LauncherFactory.create(config); // execute request twice launcher.execute(request); launcher.execute(request); - } finally { - Allure.setLifecycle(defaultLifecycle); - StepsAspects.setLifecycle(defaultLifecycle); - AttachmentsAspects.setLifecycle(defaultLifecycle); - } + }); final List testResults = results.getTestResults(); @@ -888,4 +872,5 @@ void shouldSetDifferentUuidsInDifferentRuns() { .isEqualTo(tr2.getHistoryId()); } + } diff --git a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTestUtils.java b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTestUtils.java index df27d2f3e..9cd8a8f60 100644 --- a/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTestUtils.java +++ b/allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/AllureJunitPlatformTestUtils.java @@ -15,13 +15,9 @@ */ package io.qameta.allure.junitplatform; -import io.qameta.allure.Allure; -import io.qameta.allure.AllureLifecycle; import io.qameta.allure.Step; -import io.qameta.allure.aspects.AttachmentsAspects; -import io.qameta.allure.aspects.StepsAspects; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; +import io.qameta.allure.test.RunUtils; import io.qameta.allure.testfilter.TestPlan; import org.junit.platform.engine.discovery.ClassSelector; import org.junit.platform.engine.discovery.DiscoverySelectors; @@ -49,58 +45,24 @@ public static AllureResults runClasses(final Class... classes) { @Step("Run classes {classes}") public static AllureResults runClasses(final TestPlan testPlan, final Class... classes) { - final AllureResultsWriterStub writerStub = new AllureResultsWriterStub(); - final AllureLifecycle lifecycle = new AllureLifecycle(writerStub); + return RunUtils.runTests(lifecycle -> { + final ClassSelector[] classSelectors = Stream.of(classes) + .map(DiscoverySelectors::selectClass) + .toArray(ClassSelector[]::new); - final ClassSelector[] classSelectors = Stream.of(classes) - .map(DiscoverySelectors::selectClass) - .toArray(ClassSelector[]::new); + final LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() + .filters(new AllurePostDiscoveryFilter(testPlan)) + .selectors(classSelectors) + .build(); - final LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() - .filters(new AllurePostDiscoveryFilter(testPlan)) - .selectors(classSelectors) - .build(); - - final LauncherConfig config = LauncherConfig.builder() - .enableTestExecutionListenerAutoRegistration(false) - .addTestExecutionListeners(new AllureJunitPlatform(lifecycle)) - .enablePostDiscoveryFilterAutoRegistration(false) - .build(); - final Launcher launcher = LauncherFactory.create(config); - - final AllureLifecycle defaultLifecycle = Allure.getLifecycle(); - try { - Allure.setLifecycle(lifecycle); - StepsAspects.setLifecycle(lifecycle); - AttachmentsAspects.setLifecycle(lifecycle); + final LauncherConfig config = LauncherConfig.builder() + .enableTestExecutionListenerAutoRegistration(false) + .addTestExecutionListeners(new AllureJunitPlatform(lifecycle)) + .enablePostDiscoveryFilterAutoRegistration(false) + .build(); + final Launcher launcher = LauncherFactory.create(config); launcher.execute(request); - return writerStub; - } finally { - Allure.setLifecycle(defaultLifecycle); - StepsAspects.setLifecycle(defaultLifecycle); - AttachmentsAspects.setLifecycle(defaultLifecycle); - } + }); } - @Step("Build test plan for {classes}") - public static org.junit.platform.launcher.TestPlan buildPlan( - final io.qameta.allure.testfilter.TestPlan testPlan, - final Class... classes) { - final ClassSelector[] classSelectors = Stream.of(classes) - .map(DiscoverySelectors::selectClass) - .toArray(ClassSelector[]::new); - - final LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() - .selectors(classSelectors) - .filters(new AllurePostDiscoveryFilter(testPlan)) - .build(); - - final LauncherConfig config = LauncherConfig.builder() - .enableTestExecutionListenerAutoRegistration(false) - .enablePostDiscoveryFilterAutoRegistration(false) - .build(); - final Launcher launcher = LauncherFactory.create(config); - - return launcher.discover(request); - } } diff --git a/allure-junit4/src/test/java/io/qameta/allure/junit4/AllureJunit4Test.java b/allure-junit4/src/test/java/io/qameta/allure/junit4/AllureJunit4Test.java index 011443e08..99d08a644 100644 --- a/allure-junit4/src/test/java/io/qameta/allure/junit4/AllureJunit4Test.java +++ b/allure-junit4/src/test/java/io/qameta/allure/junit4/AllureJunit4Test.java @@ -15,11 +15,7 @@ */ package io.qameta.allure.junit4; -import io.qameta.allure.Allure; -import io.qameta.allure.AllureLifecycle; import io.qameta.allure.Step; -import io.qameta.allure.aspects.AttachmentsAspects; -import io.qameta.allure.aspects.StepsAspects; import io.qameta.allure.junit4.samples.AssumptionFailedTest; import io.qameta.allure.junit4.samples.BrokenTest; import io.qameta.allure.junit4.samples.BrokenWithoutMessageTest; @@ -44,7 +40,7 @@ import io.qameta.allure.model.TestResult; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; +import io.qameta.allure.test.RunUtils; import io.qameta.allure.testfilter.TestPlan; import io.qameta.allure.testfilter.TestPlanV1_0; import org.junit.jupiter.api.Test; @@ -422,26 +418,15 @@ private AllureResults runClasses(final Class... classes) { @Step("Run classes {classes}") private AllureResults runClasses(final TestPlan testPlan, final Class... classes) { - final AllureResultsWriterStub writerStub = new AllureResultsWriterStub(); - final AllureLifecycle lifecycle = new AllureLifecycle(writerStub); - final JUnitCore core = new JUnitCore(); - core.addListener(new AllureJunit4(lifecycle)); - - final Request request = Request - .classes(classes) - .filterWith(new AllureJunit4Filter(testPlan)); - - final AllureLifecycle defaultLifecycle = Allure.getLifecycle(); - try { - Allure.setLifecycle(lifecycle); - StepsAspects.setLifecycle(lifecycle); - AttachmentsAspects.setLifecycle(lifecycle); + return RunUtils.runTests(lifecycle -> { + final JUnitCore core = new JUnitCore(); + core.addListener(new AllureJunit4(lifecycle)); + + final Request request = Request + .classes(classes) + .filterWith(new AllureJunit4Filter(testPlan)); + core.run(request); - return writerStub; - } finally { - Allure.setLifecycle(defaultLifecycle); - StepsAspects.setLifecycle(defaultLifecycle); - AttachmentsAspects.setLifecycle(defaultLifecycle); - } + }); } } diff --git a/allure-junit5/src/test/java/io/qameta/allure/junit5/AllureJunit5Test.java b/allure-junit5/src/test/java/io/qameta/allure/junit5/AllureJunit5Test.java index 09e15eb3d..19e62a917 100644 --- a/allure-junit5/src/test/java/io/qameta/allure/junit5/AllureJunit5Test.java +++ b/allure-junit5/src/test/java/io/qameta/allure/junit5/AllureJunit5Test.java @@ -15,12 +15,8 @@ */ package io.qameta.allure.junit5; -import io.qameta.allure.Allure; -import io.qameta.allure.AllureLifecycle; import io.qameta.allure.Issue; import io.qameta.allure.Step; -import io.qameta.allure.aspects.AttachmentsAspects; -import io.qameta.allure.aspects.StepsAspects; import io.qameta.allure.junit5.features.AfterEachFixtureBrokenSupport; import io.qameta.allure.junit5.features.AllFixtureSupport; import io.qameta.allure.junit5.features.BeforeAllFixtureFailureSupport; @@ -39,7 +35,7 @@ import io.qameta.allure.model.TestResultContainer; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; +import io.qameta.allure.test.RunUtils; import org.junit.jupiter.api.Test; import org.junit.platform.engine.discovery.ClassSelector; import org.junit.platform.engine.discovery.DiscoverySelectors; @@ -415,35 +411,22 @@ void shouldSupportFailureInBeforeAllFixture() { @Step("Run classes {classes}") private AllureResults runClasses(final Class... classes) { - final AllureResultsWriterStub writerStub = new AllureResultsWriterStub(); - final AllureLifecycle lifecycle = new AllureLifecycle(writerStub); - - final ClassSelector[] classSelectors = Stream.of(classes) - .map(DiscoverySelectors::selectClass) - .toArray(ClassSelector[]::new); - - final LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() - .configurationParameter("junit.jupiter.extensions.autodetection.enabled", "true") - .selectors(classSelectors) - .build(); - - final LauncherConfig config = LauncherConfig.builder() - .enableTestExecutionListenerAutoRegistration(false) - .addTestExecutionListeners(new AllureJunitPlatform(lifecycle)) - .build(); - final Launcher launcher = LauncherFactory.create(config); - - final AllureLifecycle defaultLifecycle = Allure.getLifecycle(); - try { - Allure.setLifecycle(lifecycle); - StepsAspects.setLifecycle(lifecycle); - AttachmentsAspects.setLifecycle(lifecycle); + return RunUtils.runTests(lifecycle -> { + final ClassSelector[] classSelectors = Stream.of(classes) + .map(DiscoverySelectors::selectClass) + .toArray(ClassSelector[]::new); + + final LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() + .configurationParameter("junit.jupiter.extensions.autodetection.enabled", "true") + .selectors(classSelectors) + .build(); + + final LauncherConfig config = LauncherConfig.builder() + .enableTestExecutionListenerAutoRegistration(false) + .addTestExecutionListeners(new AllureJunitPlatform(lifecycle)) + .build(); + final Launcher launcher = LauncherFactory.create(config); launcher.execute(request); - return writerStub; - } finally { - Allure.setLifecycle(defaultLifecycle); - StepsAspects.setLifecycle(defaultLifecycle); - AttachmentsAspects.setLifecycle(defaultLifecycle); - } + }); } } diff --git a/allure-karate/src/test/java/io/qameta/allure/karate/TestRunner.java b/allure-karate/src/test/java/io/qameta/allure/karate/TestRunner.java index 0e53fbf89..a8300251a 100644 --- a/allure-karate/src/test/java/io/qameta/allure/karate/TestRunner.java +++ b/allure-karate/src/test/java/io/qameta/allure/karate/TestRunner.java @@ -15,12 +15,8 @@ */ package io.qameta.allure.karate; -import io.qameta.allure.Allure; -import io.qameta.allure.AllureLifecycle; -import io.qameta.allure.aspects.AttachmentsAspects; -import io.qameta.allure.aspects.StepsAspects; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; +import io.qameta.allure.test.RunUtils; import org.mockserver.client.MockServerClient; import org.mockserver.model.HttpRequest; import org.mockserver.model.HttpResponse; @@ -59,36 +55,26 @@ AllureResults runApi(final String... featurePath) { } AllureResults run(final String... path) { - final AllureResultsWriterStub writerStub = new AllureResultsWriterStub(); - final AllureLifecycle lifecycle = new AllureLifecycle(writerStub); - final AllureKarate allureKarate = new AllureKarate(lifecycle); + return RunUtils.runTests(lifecycle -> { + final AllureKarate allureKarate = new AllureKarate(lifecycle); - final AllureLifecycle defaultLifecycle = Allure.getLifecycle(); - try { - Allure.setLifecycle(lifecycle); - StepsAspects.setLifecycle(lifecycle); - AttachmentsAspects.setLifecycle(lifecycle); - - com.intuit.karate.Runner.builder() - .path(path) - .hook(allureKarate) - .backupReportDir(false) - .outputJunitXml(false) - .outputCucumberJson(false) - .outputHtmlReport(false) - .parallel(1); - - return writerStub; - } finally { - Allure.setLifecycle(defaultLifecycle); - StepsAspects.setLifecycle(defaultLifecycle); - AttachmentsAspects.setLifecycle(defaultLifecycle); - if (server != null && server.isRunning()) { - server.stop(); - } - if (client != null && !client.hasStopped()) { - client.stop(); + try { + com.intuit.karate.Runner.builder() + .path(path) + .hook(allureKarate) + .backupReportDir(false) + .outputJunitXml(false) + .outputCucumberJson(false) + .outputHtmlReport(false) + .parallel(1); + } finally { + if (server != null && server.isRunning()) { + server.stop(); + } + if (client != null && !client.hasStopped()) { + client.stop(); + } } - } + }); } } diff --git a/allure-spock/src/test/groovy/io/qameta/allure/spock/AllureSpockTest.java b/allure-spock/src/test/groovy/io/qameta/allure/spock/AllureSpockTest.java index afb51f3ef..f7bc5af8b 100644 --- a/allure-spock/src/test/groovy/io/qameta/allure/spock/AllureSpockTest.java +++ b/allure-spock/src/test/groovy/io/qameta/allure/spock/AllureSpockTest.java @@ -15,10 +15,6 @@ */ package io.qameta.allure.spock; -import io.qameta.allure.Allure; -import io.qameta.allure.AllureLifecycle; -import io.qameta.allure.aspects.AttachmentsAspects; -import io.qameta.allure.aspects.StepsAspects; import io.qameta.allure.model.Label; import io.qameta.allure.model.Link; import io.qameta.allure.model.Parameter; @@ -37,7 +33,7 @@ import io.qameta.allure.spock.samples.TestWithCustomAnnotations; import io.qameta.allure.spock.samples.TestWithSteps; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; +import io.qameta.allure.test.RunUtils; import org.junit.jupiter.api.Test; import org.junit.runner.notification.RunNotifier; import org.spockframework.runtime.JUnitDescriptionGenerator; @@ -225,32 +221,16 @@ void shouldSupportDataDrivenTests() { } protected AllureResults run(final Class clazz) { - final AllureResultsWriterStub results = new AllureResultsWriterStub(); - final AllureLifecycle lifecycle = new AllureLifecycle(results); + return RunUtils.runTests(lifecycle -> { + final RunNotifier notifier = new RunNotifier(); + final SpecInfo spec = new SpecInfoBuilder(clazz).build(); + spec.addListener(new AllureSpock(lifecycle)); - final RunNotifier notifier = new RunNotifier(); - final SpecInfo spec = new SpecInfoBuilder(clazz).build(); - spec.addListener(new AllureSpock(lifecycle)); - - new JUnitDescriptionGenerator(spec).describeSpecMethods(); - new JUnitDescriptionGenerator(spec).describeSpec(); - - final AllureLifecycle cached = Allure.getLifecycle(); - try { - Allure.setLifecycle(lifecycle); - StepsAspects.setLifecycle(lifecycle); - AttachmentsAspects.setLifecycle(lifecycle); + new JUnitDescriptionGenerator(spec).describeSpecMethods(); + new JUnitDescriptionGenerator(spec).describeSpec(); RunContext.get().createSpecRunner(spec, notifier).run(); - } catch (Exception e) { - throw new RuntimeException("could not execute sample", e); - } finally { - Allure.setLifecycle(cached); - StepsAspects.setLifecycle(cached); - AttachmentsAspects.setLifecycle(cached); - } - - return results; + }); } private static Predicate mutedPredicate() { diff --git a/allure-spock2/src/main/java/io/qameta/allure/spock2/AllureSpock2.java b/allure-spock2/src/main/java/io/qameta/allure/spock2/AllureSpock2.java index a07a47f06..c0ae16674 100644 --- a/allure-spock2/src/main/java/io/qameta/allure/spock2/AllureSpock2.java +++ b/allure-spock2/src/main/java/io/qameta/allure/spock2/AllureSpock2.java @@ -411,7 +411,7 @@ public void intercept(final IMethodInvocation invocation) throws Throwable { .setStatus(getStatus(throwable).orElse(Status.BROKEN)) .setStatusDetails(getStatusDetails(throwable).orElse(null)) ); - ExceptionUtils.sneakyThrow(throwable); + throw ExceptionUtils.sneakyThrow(throwable); } finally { getLifecycle().stopFixture(fixtureUuid); } diff --git a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/AllureSpock2Test.java b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/AllureSpock2Test.java index 402a77eef..c5c55f79a 100644 --- a/allure-spock2/src/test/groovy/io/qameta/allure/spock2/AllureSpock2Test.java +++ b/allure-spock2/src/test/groovy/io/qameta/allure/spock2/AllureSpock2Test.java @@ -15,11 +15,7 @@ */ package io.qameta.allure.spock2; -import io.qameta.allure.Allure; -import io.qameta.allure.AllureLifecycle; import io.qameta.allure.Step; -import io.qameta.allure.aspects.AttachmentsAspects; -import io.qameta.allure.aspects.StepsAspects; import io.qameta.allure.model.ExecutableItem; import io.qameta.allure.model.FixtureResult; import io.qameta.allure.model.Label; @@ -48,7 +44,7 @@ import io.qameta.allure.spock2.samples.TestsWithIdForFilter; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; +import io.qameta.allure.test.RunUtils; import io.qameta.allure.testfilter.TestPlan; import io.qameta.allure.testfilter.TestPlanV1_0; import org.apache.commons.lang3.tuple.Pair; @@ -607,46 +603,33 @@ public static AllureResults runClasses(final Class... classes) { @Step("Run classes {classes}") public static AllureResults runClasses(final TestPlan testPlan, final Class... classes) { - final AllureResultsWriterStub writerStub = new AllureResultsWriterStub(); - final AllureLifecycle lifecycle = new AllureLifecycle(writerStub); - - final ClassSelector[] classSelectors = Stream.of(classes) - .map(DiscoverySelectors::selectClass) - .toArray(ClassSelector[]::new); - - final LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() - .selectors(classSelectors) - .build(); - - final RunContext context = RunContext.get(); - final GlobalExtensionRegistry extensionRegistry = ReflectionUtils - .tryToReadFieldValue(RunContext.class, "globalExtensionRegistry", context) - .andThenTry(GlobalExtensionRegistry.class::cast) - .toOptional() - .orElseThrow(() -> new AssertionError("could not access globalExtensionRegistry field of RunContext")); - extensionRegistry.getGlobalExtensions().add(new AllureSpock2(lifecycle, testPlan)); - - final LauncherConfig config = LauncherConfig.builder() - .enableTestEngineAutoRegistration(false) - .addTestEngines(new SpockEngine()) - .enableTestExecutionListenerAutoRegistration(false) - .enablePostDiscoveryFilterAutoRegistration(false) - .build(); - - final Launcher launcher = LauncherFactory.create(config); - - final AllureLifecycle defaultLifecycle = Allure.getLifecycle(); - try { - Allure.setLifecycle(lifecycle); - StepsAspects.setLifecycle(lifecycle); - AttachmentsAspects.setLifecycle(lifecycle); + return RunUtils.runTests(lifecycle -> { + final ClassSelector[] classSelectors = Stream.of(classes) + .map(DiscoverySelectors::selectClass) + .toArray(ClassSelector[]::new); + + final LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() + .selectors(classSelectors) + .build(); + + final RunContext context = RunContext.get(); + final GlobalExtensionRegistry extensionRegistry = ReflectionUtils + .tryToReadFieldValue(RunContext.class, "globalExtensionRegistry", context) + .andThenTry(GlobalExtensionRegistry.class::cast) + .toOptional() + .orElseThrow(() -> new AssertionError("could not access globalExtensionRegistry field of RunContext")); + extensionRegistry.getGlobalExtensions().add(new AllureSpock2(lifecycle, testPlan)); + + final LauncherConfig config = LauncherConfig.builder() + .enableTestEngineAutoRegistration(false) + .addTestEngines(new SpockEngine()) + .enableTestExecutionListenerAutoRegistration(false) + .enablePostDiscoveryFilterAutoRegistration(false) + .build(); + + final Launcher launcher = LauncherFactory.create(config); launcher.execute(request); - return writerStub; - } finally { - Allure.setLifecycle(defaultLifecycle); - StepsAspects.setLifecycle(defaultLifecycle); - AttachmentsAspects.setLifecycle(defaultLifecycle); - } + }); } private String printSteps(final ExecutableItem item) { diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java index 736564729..7af9c5303 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java @@ -15,12 +15,8 @@ */ package io.qameta.allure.testng; -import io.qameta.allure.Allure; -import io.qameta.allure.AllureLifecycle; import io.qameta.allure.Issue; import io.qameta.allure.Step; -import io.qameta.allure.aspects.AttachmentsAspects; -import io.qameta.allure.aspects.StepsAspects; import io.qameta.allure.model.Attachment; import io.qameta.allure.model.FixtureResult; import io.qameta.allure.model.Label; @@ -35,7 +31,7 @@ import io.qameta.allure.model.WithSteps; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; -import io.qameta.allure.test.AllureResultsWriterStub; +import io.qameta.allure.test.RunUtils; import io.qameta.allure.testfilter.TestPlan; import io.qameta.allure.testfilter.TestPlanV1_0; import io.qameta.allure.testng.config.AllureTestNgConfig; @@ -180,7 +176,7 @@ public void testWithTimeout(final XmlSuite.ParallelMode mode, final int threadCo .hasSize(2) .as("Unexpectedly passed status or stage of tests") .allMatch(testResult -> testResult.getStatus().equals(Status.PASSED) && - testResult.getStage().equals(Stage.FINISHED)) + testResult.getStage().equals(Stage.FINISHED)) .extracting(TestResult::getName) .as("Unexpectedly passed name of tests") .containsOnlyElementsOf(asList( @@ -1106,7 +1102,7 @@ public void shouldDisplayDisabledTests() { public void shouldNotDisplayDisabledTests() { AllureTestNgConfig allureTestNgConfig = AllureTestNgConfig.loadConfigProperties(); allureTestNgConfig.setHideDisabledTests(true); - final AllureResults results = runTestNgSuites(allureTestNgConfig,"suites/gh-369.xml"); + final AllureResults results = runTestNgSuites(allureTestNgConfig, "suites/gh-369.xml"); assertThat(results.getTestResults()) .extracting(TestResult::getName, TestResult::getStatus) .containsOnly(tuple("enabled", Status.PASSED)); @@ -1253,7 +1249,8 @@ private AllureResults runTestNgSuites(AllureTestNgConfig config, final String... } private AllureResults runTestNgSuites(final Consumer configurer, - final String... suites) {; + final String... suites) { + ; return runTestNgSuites(configurer, AllureTestNgConfig.loadConfigProperties(), suites); } @@ -1272,29 +1269,17 @@ private AllureResults runTestNgSuites(final Consumer configurer, .as("Cannot find all suite xml files") .hasSameSizeAs(suiteFiles); - final AllureResultsWriterStub results = new AllureResultsWriterStub(); - final AllureLifecycle lifecycle = new AllureLifecycle(results); - final AllureTestNg adapter = new AllureTestNg(lifecycle, - new AllureTestNgTestFilter(), - config); - final TestNG testNg = new TestNG(false); - testNg.addListener((ITestNGListener) adapter); - testNg.setTestSuites(suiteFiles); - - configurer.accept(testNg); + return RunUtils.runTests(lifecycle -> { + final AllureTestNg adapter = new AllureTestNg(lifecycle, + new AllureTestNgTestFilter(), + config); + final TestNG testNg = new TestNG(false); + testNg.addListener((ITestNGListener) adapter); + testNg.setTestSuites(suiteFiles); - final AllureLifecycle cached = Allure.getLifecycle(); - try { - Allure.setLifecycle(lifecycle); - StepsAspects.setLifecycle(lifecycle); - AttachmentsAspects.setLifecycle(lifecycle); + configurer.accept(testNg); testNg.run(); - } finally { - Allure.setLifecycle(cached); - StepsAspects.setLifecycle(cached); - AttachmentsAspects.setLifecycle(cached); - } - return results; + }); } protected Consumer parallel(final XmlSuite.ParallelMode mode, @@ -1329,13 +1314,13 @@ private Predicate hasLinks() { @Step("Find flaky") private Predicate flakyPredicate() { return testResult -> Objects.nonNull(testResult.getStatusDetails()) - && testResult.getStatusDetails().isFlaky(); + && testResult.getStatusDetails().isFlaky(); } @Step("Find muted") private Predicate mutedPredicate() { return testResult -> Objects.nonNull(testResult.getStatusDetails()) - && testResult.getStatusDetails().isMuted(); + && testResult.getStatusDetails().isMuted(); } @Step("Get uuids by container name") @@ -1517,28 +1502,15 @@ public void correctIdIncorrectSelector() { ); } - public AllureResultsWriterStub runTestPlan(TestPlan plan, final Class... testClasses) { - final AllureResultsWriterStub results = new AllureResultsWriterStub(); - final AllureLifecycle lifecycle = new AllureLifecycle(results); - final AllureTestNg adapter = new AllureTestNg(lifecycle, new AllureTestNgTestFilter(plan)); - TestNG testNG = new TestNG(false); - testNG.addListener((ITestNGListener) adapter); - testNG.setTestClasses(testClasses); - testNG.setOutputDirectory("build/test-output"); - - - final AllureLifecycle cached = Allure.getLifecycle(); - try { - Allure.setLifecycle(lifecycle); - StepsAspects.setLifecycle(lifecycle); - AttachmentsAspects.setLifecycle(lifecycle); + public AllureResults runTestPlan(final TestPlan plan, final Class... testClasses) { + return RunUtils.runTests(lifecycle -> { + final AllureTestNg adapter = new AllureTestNg(lifecycle, new AllureTestNgTestFilter(plan)); + final TestNG testNG = new TestNG(false); + testNG.addListener((ITestNGListener) adapter); + testNG.setTestClasses(testClasses); + testNG.setOutputDirectory("build/test-output"); testNG.run(); - return results; - } finally { - Allure.setLifecycle(cached); - StepsAspects.setLifecycle(cached); - AttachmentsAspects.setLifecycle(cached); - } + }); } private Integer getOrderParameter(final TestResult result) { From 6a1fd52e42cf5713306be6d6e7026654ef5c7d71 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Fri, 1 Mar 2024 11:26:27 +0000 Subject: [PATCH 014/139] update AUTHORS --- AUTHORS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 0edbd3fb9..8263d9471 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,4 +1,4 @@ The following authors have created the source code of "Allure Java" -published and distributed by Qameta Software OÜ as the owner: +published and distributed by Qameta Software Inc as the owner: * Dmitry Baev From 1c697994c2cbd805ec2fc005b012567085aa91fa Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Fri, 1 Mar 2024 17:01:12 +0000 Subject: [PATCH 015/139] fix junit 4 aspect (fixes #975, via #1014) --- .../allure/junit4/aspect/AllureJunit4ListenerAspect.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4ListenerAspect.java b/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4ListenerAspect.java index da9e03535..bd351e30e 100644 --- a/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4ListenerAspect.java +++ b/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4ListenerAspect.java @@ -32,8 +32,8 @@ public class AllureJunit4ListenerAspect { @After("execution(org.junit.runner.notification.RunNotifier.new())") public void addListener(final JoinPoint point) { final RunNotifier notifier = (RunNotifier) point.getThis(); - notifier.removeListener(allure); - notifier.addListener(allure); + if (RunNotifier.class.equals(notifier.getClass())) { + notifier.addListener(allure); + } } - } From 44341294f2f5840af9e7fa68aa20134b8d7f1691 Mon Sep 17 00:00:00 2001 From: Maksim Date: Tue, 12 Mar 2024 18:07:23 +0300 Subject: [PATCH 016/139] feat(rest-assured): add support for form params (via #1016) --- .../http/HttpRequestAttachment.java | 35 +++++++++++++- .../src/main/resources/tpl/http-request.ftl | 47 +++++++++++-------- .../allure/restassured/AllureRestAssured.java | 4 ++ .../restassured/AllureRestAssuredTest.java | 8 +++- build.gradle.kts | 2 +- 5 files changed, 73 insertions(+), 23 deletions(-) diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpRequestAttachment.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpRequestAttachment.java index 5d4514140..75cda2e96 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpRequestAttachment.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpRequestAttachment.java @@ -18,6 +18,7 @@ import io.qameta.allure.attachment.AttachmentData; import io.qameta.allure.util.ObjectUtils; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -41,9 +42,18 @@ public class HttpRequestAttachment implements AttachmentData { private final Map cookies; + private final Map formParams; + public HttpRequestAttachment(final String name, final String url, final String method, final String body, final String curl, final Map headers, final Map cookies) { + this(name, url, method, body, curl, headers, cookies, Collections.emptyMap()); + } + + @SuppressWarnings("checkstyle:parameternumber") + public HttpRequestAttachment(final String name, final String url, final String method, + final String body, final String curl, final Map headers, + final Map cookies, final Map formParams) { this.name = name; this.url = url; this.method = method; @@ -51,6 +61,7 @@ public HttpRequestAttachment(final String name, final String url, final String m this.curl = curl; this.headers = headers; this.cookies = cookies; + this.formParams = formParams; } public String getUrl() { @@ -73,6 +84,10 @@ public Map getCookies() { return cookies; } + public Map getFormParams() { + return formParams; + } + public String getCurl() { return curl; } @@ -90,6 +105,7 @@ public String toString() { + ",\n\tbody=" + this.body + ",\n\theaders=" + ObjectUtils.mapToString(this.headers) + ",\n\tcookies=" + ObjectUtils.mapToString(this.cookies) + + ",\n\tformParams=" + ObjectUtils.mapToString(this.formParams) + "\n)"; } @@ -111,6 +127,8 @@ public static final class Builder { private final Map cookies = new HashMap<>(); + private final Map formParams = new HashMap<>(); + private Builder(final String name, final String url) { Objects.requireNonNull(name, "Name must not be null value"); Objects.requireNonNull(url, "Url must not be null value"); @@ -160,6 +178,12 @@ public Builder setBody(final String body) { return this; } + public Builder setFormParams(final Map formParams) { + Objects.requireNonNull(formParams, "Form params must not be null value"); + this.formParams.putAll(formParams); + return this; + } + /** * Use setter method instead. * @deprecated scheduled for removal in 3.0 release @@ -215,7 +239,7 @@ public Builder withBody(final String body) { } public HttpRequestAttachment build() { - return new HttpRequestAttachment(name, url, method, body, getCurl(), headers, cookies); + return new HttpRequestAttachment(name, url, method, body, getCurl(), headers, cookies, formParams); } private String getCurl() { @@ -226,6 +250,7 @@ private String getCurl() { builder.append(" '").append(url).append('\''); headers.forEach((key, value) -> appendHeader(builder, key, value)); cookies.forEach((key, value) -> appendCookie(builder, key, value)); + formParams.forEach((key, value) -> appendFormParams(builder, key, value)); if (Objects.nonNull(body)) { builder.append(" -d '").append(body).append('\''); @@ -248,5 +273,13 @@ private static void appendCookie(final StringBuilder builder, final String key, .append(value) .append('\''); } + + private static void appendFormParams(final StringBuilder builder, final String key, final String value) { + builder.append(" --form '") + .append(key) + .append('=') + .append(value) + .append('\''); + } } } diff --git a/allure-attachments/src/main/resources/tpl/http-request.ftl b/allure-attachments/src/main/resources/tpl/http-request.ftl index b4e31d632..935c1c91a 100644 --- a/allure-attachments/src/main/resources/tpl/http-request.ftl +++ b/allure-attachments/src/main/resources/tpl/http-request.ftl @@ -3,36 +3,45 @@
<#if data.method??>${data.method}<#else>GET to <#if data.url??>${data.url}<#else>Unknown
<#if data.body??> -

Body

-
+

Body

+
     <#t>${data.body}
     
-
+
<#if (data.headers)?has_content> -

Headers

-
- <#list data.headers as name, value> -
${name}: ${value!"null"}
- -
+

Headers

+
+ <#list data.headers as name, value> +
${name}: ${value!"null"}
+ +
<#if (data.cookies)?has_content> -

Cookies

-
- <#list data.cookies as name, value> -
${name}: ${value!"null"}
- -
+

Cookies

+
+ <#list data.cookies as name, value> +
${name}: ${value!"null"}
+ +
<#if data.curl??> -

Curl

-
-${data.curl} -
+

Curl

+
+ ${data.curl} +
+ + +<#if (data.formParams)?has_content> +

FormParams

+
+ <#list data.formParams as name, value> +
${name}: ${value!"null"}
+ +
diff --git a/allure-rest-assured/src/main/java/io/qameta/allure/restassured/AllureRestAssured.java b/allure-rest-assured/src/main/java/io/qameta/allure/restassured/AllureRestAssured.java index 6eebf322c..49b4c203b 100644 --- a/allure-rest-assured/src/main/java/io/qameta/allure/restassured/AllureRestAssured.java +++ b/allure-rest-assured/src/main/java/io/qameta/allure/restassured/AllureRestAssured.java @@ -98,6 +98,10 @@ public Response filter(final FilterableRequestSpecification requestSpec, requestAttachmentBuilder.setBody(prettifier.getPrettifiedBodyIfPossible(requestSpec)); } + if (Objects.nonNull(requestSpec.getFormParams())) { + requestAttachmentBuilder.setFormParams(requestSpec.getFormParams()); + } + final HttpRequestAttachment requestAttachment = requestAttachmentBuilder.build(); new DefaultAttachmentProcessor().addAttachment( diff --git a/allure-rest-assured/src/test/java/io/qameta/allure/restassured/AllureRestAssuredTest.java b/allure-rest-assured/src/test/java/io/qameta/allure/restassured/AllureRestAssuredTest.java index f38e778af..1a58504c9 100644 --- a/allure-rest-assured/src/test/java/io/qameta/allure/restassured/AllureRestAssuredTest.java +++ b/allure-rest-assured/src/test/java/io/qameta/allure/restassured/AllureRestAssuredTest.java @@ -24,6 +24,7 @@ import io.qameta.allure.model.TestResult; import io.qameta.allure.test.AllureResults; import io.restassured.RestAssured; +import io.restassured.http.ContentType; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.params.ParameterizedTest; @@ -143,9 +144,12 @@ protected final AllureResults executeWithStub(ResponseDefinitionBuilder response server.start(); WireMock.configureFor(server.port()); - WireMock.stubFor(WireMock.get(WireMock.urlEqualTo("/hello")).willReturn(responseBuilder)); + WireMock.stubFor(WireMock.get(WireMock.urlEqualTo("/hello?Allure=Form")).willReturn(responseBuilder)); try { - RestAssured.when().get(server.url("/hello")).then().statusCode(statusCode); + RestAssured.given() + .contentType(ContentType.URLENC) + .formParams("Allure", "Form") + .get(server.url("/hello")).then().statusCode(statusCode); } finally { server.stop(); RestAssured.replaceFiltersWith(ImmutableList.of()); diff --git a/build.gradle.kts b/build.gradle.kts index 82d806791..69a89cf1b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -149,7 +149,7 @@ configure(libs) { } dependencies { dependency("com.github.spotbugs:spotbugs:4.8.3") - dependency("com.github.tomakehurst:wiremock:2.27.2") + dependency("com.github.tomakehurst:wiremock:3.0.1") dependency("com.google.inject:guice:5.1.0") dependency("com.google.testing.compile:compile-testing:0.19") dependency("com.puppycrawl.tools:checkstyle:10.13.0") From 0dcd87b78edd4c31cf69840d27b0d68b995ad3b7 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Thu, 14 Mar 2024 15:24:43 +0000 Subject: [PATCH 017/139] fix(cucumberjvm): fix Runtime API (fixes #1008, fixes #1006, via #1011) --- .../cucumber4jvm/AllureCucumber4Jvm.java | 466 ++++++++++-------- .../cucumber4jvm/AllureCucumber4JvmTest.java | 233 ++++++--- .../cucumber4jvm/samples/RuntimeApiSteps.java | 83 ++++ .../resources/features/runtimeapi.feature | 10 + allure-cucumber5-jvm/build.gradle.kts | 2 + .../cucumber5jvm/AllureCucumber5Jvm.java | 376 +++++++------- .../cucumber5jvm/AllureCucumber5JvmTest.java | 227 ++++++--- .../cucumber5jvm/samples/RuntimeApiSteps.java | 83 ++++ .../resources/features/runtimeapi.feature | 10 + .../cucumber6jvm/AllureCucumber6Jvm.java | 304 ++++++------ .../cucumber6jvm/AllureCucumber6JvmTest.java | 225 ++++++--- .../cucumber6jvm/samples/RuntimeApiSteps.java | 83 ++++ .../resources/features/runtimeapi.feature | 10 + .../cucumber7jvm/AllureCucumber7Jvm.java | 314 ++++++------ .../cucumber7jvm/AllureCucumber7JvmTest.java | 225 ++++++--- .../cucumber7jvm/samples/RuntimeApiSteps.java | 83 ++++ .../resources/features/runtimeapi.feature | 10 + .../io/qameta/allure/test/AllureResults.java | 19 + .../allure/test/AllureTestCommonsUtils.java | 66 ++- .../io/qameta/allure/AllureLifecycleTest.java | 18 + 20 files changed, 1859 insertions(+), 988 deletions(-) create mode 100644 allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/RuntimeApiSteps.java create mode 100644 allure-cucumber4-jvm/src/test/resources/features/runtimeapi.feature create mode 100644 allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/RuntimeApiSteps.java create mode 100644 allure-cucumber5-jvm/src/test/resources/features/runtimeapi.feature create mode 100644 allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/RuntimeApiSteps.java create mode 100644 allure-cucumber6-jvm/src/test/resources/features/runtimeapi.feature create mode 100644 allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/RuntimeApiSteps.java create mode 100644 allure-cucumber7-jvm/src/test/resources/features/runtimeapi.feature diff --git a/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java b/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java index d2ec2204c..8998226d8 100644 --- a/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java +++ b/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java @@ -17,10 +17,10 @@ import cucumber.api.HookTestStep; import cucumber.api.HookType; -import cucumber.api.PendingException; import cucumber.api.PickleStepTestStep; import cucumber.api.Result; import cucumber.api.TestCase; +import cucumber.api.TestStep; import cucumber.api.event.ConcurrentEventListener; import cucumber.api.event.EmbedEvent; import cucumber.api.event.EventHandler; @@ -39,6 +39,7 @@ import gherkin.ast.TableRow; import gherkin.pickles.PickleCell; import gherkin.pickles.PickleRow; +import gherkin.pickles.PickleStep; import gherkin.pickles.PickleTable; import gherkin.pickles.PickleTag; import io.qameta.allure.Allure; @@ -52,12 +53,14 @@ import io.qameta.allure.model.TestResultContainer; import java.io.ByteArrayInputStream; +import java.net.URI; import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.util.Collections; import java.util.Deque; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.UUID; @@ -66,6 +69,7 @@ import java.util.stream.IntStream; import java.util.stream.Stream; +import static cucumber.api.HookType.Before; import static io.qameta.allure.util.ResultsUtils.createParameter; import static io.qameta.allure.util.ResultsUtils.getStatus; import static io.qameta.allure.util.ResultsUtils.getStatusDetails; @@ -82,17 +86,12 @@ }) public class AllureCucumber4Jvm implements ConcurrentEventListener { + private static final String COLON = ":"; + private final AllureLifecycle lifecycle; - private final ConcurrentHashMap scenarioUuids = new ConcurrentHashMap<>(); private final TestSourcesModelProxy testSources = new TestSourcesModelProxy(); - private final ThreadLocal currentFeature = new InheritableThreadLocal<>(); - private final ThreadLocal currentFeatureFile = new InheritableThreadLocal<>(); - private final ThreadLocal currentTestCase = new InheritableThreadLocal<>(); - private final ThreadLocal currentContainer = new InheritableThreadLocal<>(); - private final ThreadLocal forbidTestCaseStatusChange = new InheritableThreadLocal<>(); - private final EventHandler featureStartedHandler = this::handleFeatureStartedHandler; private final EventHandler caseStartedHandler = this::handleTestCaseStarted; private final EventHandler caseFinishedHandler = this::handleTestCaseFinished; @@ -101,11 +100,14 @@ public class AllureCucumber4Jvm implements ConcurrentEventListener { private final EventHandler writeEventHandler = this::handleWriteEvent; private final EventHandler embedEventHandler = this::handleEmbedEvent; + private final Map hookStepContainerUuid = new ConcurrentHashMap<>(); + private final Map testCaseUuids = new ConcurrentHashMap<>(); + private final Map stepUuids = new ConcurrentHashMap<>(); + private final Map fixtureUuids = new ConcurrentHashMap<>(); + private static final String TXT_EXTENSION = ".txt"; private static final String TEXT_PLAIN = "text/plain"; - private static final String CUCUMBER_WORKING_DIR = Paths.get("").toUri().toString(); - private static final String CLASSPATH_PREFIX = "classpath:"; - private static final String FILE_PREFIX = "file:"; + private static final String CUCUMBER_WORKING_DIR = Paths.get("").toUri().getSchemeSpecificPart(); @SuppressWarnings("unused") public AllureCucumber4Jvm() { @@ -130,39 +132,46 @@ public void setEventPublisher(final EventPublisher publisher) { publisher.registerHandlerFor(EmbedEvent.class, embedEventHandler); } - /* - Event Handlers - */ - private void handleFeatureStartedHandler(final TestSourceRead event) { testSources.addTestSourceReadEvent(event.uri, event); } private void handleTestCaseStarted(final TestCaseStarted event) { - currentFeatureFile.set(event.testCase.getUri()); - currentFeature.set(testSources.getFeature(currentFeatureFile.get())); - currentTestCase.set(event.testCase); - currentContainer.set(UUID.randomUUID().toString()); - forbidTestCaseStatusChange.set(false); + final TestCase testCase = event.getTestCase(); + final Feature feature = testSources.getFeature(testCase.getUri()); - final TestCase testCase = currentTestCase.get(); final Deque tags = new LinkedList<>(testCase.getTags()); - - final Feature feature = currentFeature.get(); final LabelBuilder labelBuilder = new LabelBuilder(feature, testCase, tags); final String name = testCase.getName(); + + // the same way full name is generated for + // org.junit.platform.engine.support.descriptor.ClasspathResourceSource + // to support io.qameta.allure.junitplatform.AllurePostDiscoveryFilter + final String fullName = String.format("%s:%d", + getTestCaseUri(testCase), + testCase.getLine() + ); + + final String testCaseUuid = testCaseUuids + .computeIfAbsent(testCase, tc -> UUID.randomUUID().toString()); + final TestResult result = new TestResult() - .setUuid(getTestCaseUuid(testCase)) + .setUuid(testCaseUuid) + .setTestCaseId(getTestCaseId(testCase)) .setHistoryId(getHistoryId(testCase)) - .setFullName(getTestCaseUri(testCase) + ":" + testCase.getLine()) + .setFullName(fullName) .setName(name) .setLabels(labelBuilder.getScenarioLabels()) .setLinks(labelBuilder.getScenarioLinks()); final ScenarioDefinition scenarioDefinition = - testSources.getScenarioDefinition(currentFeatureFile.get(), testCase.getLine()); + testSources.getScenarioDefinition( + testCase.getUri(), + testCase.getLine() + ); + if (scenarioDefinition instanceof ScenarioOutline) { result.setParameters( getExamplesAsParameters((ScenarioOutline) scenarioDefinition, testCase) @@ -178,74 +187,157 @@ private void handleTestCaseStarted(final TestCaseStarted event) { result.setDescription(description); } - final TestResultContainer resultContainer = new TestResultContainer() - .setName(String.format("%s: %s", scenarioDefinition.getKeyword(), scenarioDefinition.getName())) - .setUuid(getTestContainerUuid()) - .setChildren(Collections.singletonList(getTestCaseUuid(testCase))); - lifecycle.scheduleTestCase(result); - lifecycle.startTestContainer(getTestContainerUuid(), resultContainer); - lifecycle.startTestCase(getTestCaseUuid(testCase)); + lifecycle.startTestCase(testCaseUuid); } private void handleTestCaseFinished(final TestCaseFinished event) { + final TestCase testCase = event.getTestCase(); + final String uuid = testCaseUuids.get(testCase); + if (Objects.isNull(uuid)) { + return; + } + + final Feature feature = testSources.getFeature(testCase.getUri()); + final Result result = event.result; + final Status status = translateTestCaseStatus(result); + final StatusDetails statusDetails = getStatusDetails(result.getError()) + .orElseGet(StatusDetails::new); + + final TagParser tagParser = new TagParser(feature, testCase); + statusDetails + .setFlaky(tagParser.isFlaky()) + .setMuted(tagParser.isMuted()) + .setKnown(tagParser.isKnown()); + + lifecycle.updateTestCase(uuid, testResult -> testResult + .setStatus(status) + .setStatusDetails(statusDetails) + ); - final String uuid = getTestCaseUuid(event.testCase); - final Optional details = getStatusDetails(event.result.getError()); - details.ifPresent(statusDetails -> lifecycle.updateTestCase( - uuid, - testResult -> testResult.setStatusDetails(statusDetails) - )); lifecycle.stopTestCase(uuid); - lifecycle.stopTestContainer(getTestContainerUuid()); lifecycle.writeTestCase(uuid); - lifecycle.writeTestContainer(getTestContainerUuid()); } private void handleTestStepStarted(final TestStepStarted event) { - if (event.testStep instanceof PickleStepTestStep) { - final PickleStepTestStep pickleStep = (PickleStepTestStep) event.testStep; - final String stepKeyword = Optional.ofNullable( - testSources.getKeywordFromSource(currentFeatureFile.get(), pickleStep.getStepLine()) - ).orElse("UNDEFINED"); - - final StepResult stepResult = new StepResult() - .setName(String.format("%s %s", stepKeyword, pickleStep.getPickleStep().getText())) - .setStart(System.currentTimeMillis()); - - lifecycle.startStep(getTestCaseUuid(currentTestCase.get()), getStepUuid(pickleStep), stepResult); - - pickleStep.getStepArgument().stream() - .filter(PickleTable.class::isInstance) - .findFirst() - .ifPresent(table -> createDataTableAttachment((PickleTable) table)); - } else if (event.testStep instanceof HookTestStep) { - initHook((HookTestStep) event.testStep); + final TestCase testCase = event.getTestCase(); + if (event.testStep instanceof HookTestStep) { + final HookTestStep hook = (HookTestStep) event.testStep; + + if (isFixtureHook(hook)) { + handleStartFixtureHook(testCase, hook); + } else { + handleStartStepHook(testCase, hook); + } + } else if (event.testStep instanceof PickleStepTestStep) { + handleStartPickleStep(testCase, (PickleStepTestStep) event.testStep); + } + } + + private void handleStartPickleStep(final TestCase testCase, + final PickleStepTestStep pickleStep) { + final String uuid = testCaseUuids.get(testCase); + if (Objects.isNull(uuid)) { + return; } + + final PickleStep step = pickleStep.getPickleStep(); + final String stepKeyword = Optional + .ofNullable( + testSources.getKeywordFromSource( + testCase.getUri(), + pickleStep.getStepLine() + ) + ) + .orElse(""); + + final StepResult stepResult = new StepResult() + .setName(stepKeyword + step.getText()) + .setStart(System.currentTimeMillis()); + + final String stepUuid = stepUuids.computeIfAbsent( + pickleStep, + cl -> UUID.randomUUID().toString() + ); + + lifecycle.setCurrentTestCase(uuid); + lifecycle.startStep(uuid, stepUuid, stepResult); + + pickleStep.getStepArgument() + .stream() + .filter(PickleTable.class::isInstance) + .map(PickleTable.class::cast) + .findFirst() + .ifPresent(this::createDataTableAttachment); + } - private void initHook(final HookTestStep hook) { + private void handleStartStepHook(final TestCase testCase, + final HookTestStep hook) { + final String uuid = testCaseUuids.get(testCase); + if (Objects.isNull(uuid)) { + return; + } - final FixtureResult hookResult = new FixtureResult() + final StepResult stepResult = new StepResult() .setName(hook.getCodeLocation()) .setStart(System.currentTimeMillis()); - if (hook.getHookType() == HookType.Before) { - lifecycle.startPrepareFixture(getTestContainerUuid(), getHookStepUuid(hook), hookResult); - } else { - lifecycle.startTearDownFixture(getTestContainerUuid(), getHookStepUuid(hook), hookResult); + final String stepUuid = stepUuids.computeIfAbsent( + hook, unused -> UUID.randomUUID().toString() + ); + + lifecycle.setCurrentTestCase(uuid); + lifecycle.startStep(uuid, stepUuid, stepResult); + } + + private void handleStartFixtureHook(final TestCase testCase, + final HookTestStep hook) { + final String uuid = testCaseUuids.get(testCase); + if (Objects.isNull(uuid)) { + return; } + + final String containerUuid = hookStepContainerUuid + .computeIfAbsent(hook, unused -> UUID.randomUUID().toString()); + + lifecycle.startTestContainer(new TestResultContainer() + .setUuid(containerUuid) + .setChildren(Collections.singletonList(uuid)) + ); + + final FixtureResult hookResult = new FixtureResult() + .setName(hook.getCodeLocation()); + + final String fixtureUuid = fixtureUuids.computeIfAbsent( + hook, unused -> UUID.randomUUID().toString() + ); + if (hook.getHookType() == Before) { + lifecycle.startPrepareFixture(containerUuid, fixtureUuid, hookResult); + } else { + lifecycle.startTearDownFixture(containerUuid, fixtureUuid, hookResult); + } } private void handleTestStepFinished(final TestStepFinished event) { if (event.testStep instanceof HookTestStep) { - handleHookStep(event); - } else { - handlePickleStep(event); + final HookTestStep hook = (HookTestStep) event.testStep; + if (isFixtureHook(hook)) { + handleStopHookStep(event.result, hook); + } else { + handleStopStep(event.getTestCase(), event.result, hook); + } + } else if (event.testStep instanceof PickleStepTestStep) { + final PickleStepTestStep pickleStep = (PickleStepTestStep) event.testStep; + handleStopStep(event.getTestCase(), event.result, pickleStep); } } + private static boolean isFixtureHook(final HookTestStep hook) { + return hook.getHookType() == Before || hook.getHookType() == HookType.After; + } + private void handleWriteEvent(final WriteEvent event) { lifecycle.addAttachment( "Text output", @@ -256,34 +348,41 @@ private void handleWriteEvent(final WriteEvent event) { } private void handleEmbedEvent(final EmbedEvent event) { - lifecycle.addAttachment("Screenshot", null, null, new ByteArrayInputStream(event.data)); + lifecycle.addAttachment( + Objects.isNull(event.name) + ? "Embedding" + : event.name, + event.mimeType, + null, + new ByteArrayInputStream(event.data) + ); } - /* - Utility Methods - */ - - private String getTestContainerUuid() { - return currentContainer.get(); + private String getHistoryId(final TestCase testCase) { + final String testCaseLocation = getTestCaseUri(testCase) + COLON + testCase.getLine(); + return md5(testCaseLocation); } - private String getTestCaseUuid(final TestCase testCase) { - return scenarioUuids.computeIfAbsent(getHistoryId(testCase), it -> UUID.randomUUID().toString()); + private String getTestCaseId(final TestCase testCase) { + final String testCaseId = getTestCaseUri(testCase) + COLON + testCase.getName(); + return md5(testCaseId); } - private String getStepUuid(final PickleStepTestStep step) { - return currentFeature.get().getName() + getTestCaseUuid(currentTestCase.get()) - + step.getPickleStep().getText() + step.getStepLine(); - } + private String getTestCaseUri(final TestCase testCase) { + final String testCaseUri = getUriWithoutScheme(testCase); - private String getHookStepUuid(final HookTestStep step) { - return currentFeature.get().getName() + getTestCaseUuid(currentTestCase.get()) - + step.getHookType().toString() + step.getCodeLocation(); + if (testCaseUri.startsWith(CUCUMBER_WORKING_DIR)) { + return testCaseUri.substring(CUCUMBER_WORKING_DIR.length()); + } + return testCaseUri; } - private String getHistoryId(final TestCase testCase) { - final String testCaseLocation = getTestCaseUri(testCase) + ":" + testCase.getLine(); - return md5(testCaseLocation); + private static String getUriWithoutScheme(final TestCase testCase) { + try { + return URI.create(testCase.getUri()).getSchemeSpecificPart(); + } catch (Exception ignored) { + return testCase.getUri(); + } } private Status translateTestCaseStatus(final Result testCaseResult) { @@ -304,139 +403,116 @@ private Status translateTestCaseStatus(final Result testCaseResult) { } private List getExamplesAsParameters( - final ScenarioOutline scenarioOutline, final TestCase localCurrentTestCase) { - final Optional examplesBlock = - scenarioOutline.getExamples().stream() + final ScenarioOutline scenario, + final TestCase localCurrentTestCase) { + final Optional maybeExample = + scenario.getExamples().stream() .filter(example -> example.getTableBody().stream() - .anyMatch(row -> row.getLocation().getLine() == localCurrentTestCase.getLine()) - ).findFirst(); - - if (examplesBlock.isPresent()) { - final TableRow row = examplesBlock.get().getTableBody().stream() - .filter(example -> example.getLocation().getLine() == localCurrentTestCase.getLine()) - .findFirst().get(); - return IntStream.range(0, examplesBlock.get().getTableHeader().getCells().size()).mapToObj(index -> { - final String name = examplesBlock.get().getTableHeader().getCells().get(index).getValue(); - final String value = row.getCells().get(index).getValue(); - return createParameter(name, value); - }).collect(Collectors.toList()); - } else { + .anyMatch(row -> row.getLocation().getLine() + == localCurrentTestCase.getLine()) + ) + .findFirst(); + + if (!maybeExample.isPresent()) { return Collections.emptyList(); } + + final Examples examples = maybeExample.get(); + + final Optional maybeRow = examples.getTableBody().stream() + .filter(example -> example.getLocation().getLine() == localCurrentTestCase.getLine()) + .findFirst(); + + if (!maybeRow.isPresent()) { + return Collections.emptyList(); + } + + final TableRow row = maybeRow.get(); + + return IntStream.range(0, examples.getTableHeader().getCells().size()) + .mapToObj(index -> { + final String name = examples.getTableHeader().getCells().get(index).getValue(); + final String value = row.getCells().get(index).getValue(); + return createParameter(name, value); + }) + .collect(Collectors.toList()); } private void createDataTableAttachment(final PickleTable pickleTable) { final List rows = pickleTable.getRows(); final StringBuilder dataTableCsv = new StringBuilder(); - if (!rows.isEmpty()) { - rows.forEach(dataTableRow -> { - dataTableCsv.append( - dataTableRow.getCells().stream() - .map(PickleCell::getValue) - .collect(Collectors.joining("\t")) - ); - dataTableCsv.append('\n'); - }); - - final String attachmentSource = lifecycle - .prepareAttachment("Data table", "text/tab-separated-values", "csv"); - lifecycle.writeAttachment(attachmentSource, - new ByteArrayInputStream(dataTableCsv.toString().getBytes(StandardCharsets.UTF_8))); + for (PickleRow row : rows) { + final String rowString = row.getCells().stream() + .map(PickleCell::getValue) + .collect(Collectors.joining("\t", "", "\n")); + dataTableCsv.append(rowString); } + final String attachmentSource = lifecycle + .prepareAttachment("Data table", "text/tab-separated-values", "csv"); + lifecycle.writeAttachment(attachmentSource, + new ByteArrayInputStream(dataTableCsv.toString().getBytes(StandardCharsets.UTF_8))); } - private void handleHookStep(final TestStepFinished event) { - final HookTestStep hookStep = (HookTestStep) event.testStep; - final String uuid = getHookStepUuid(hookStep); - final FixtureResult fixtureResult = new FixtureResult().setStatus(translateTestCaseStatus(event.result)); - - if (!Status.PASSED.equals(fixtureResult.getStatus())) { - final TestResult testResult = new TestResult().setStatus(translateTestCaseStatus(event.result)); - final StatusDetails statusDetails = getStatusDetails(event.result.getError()) - .orElseGet(StatusDetails::new); - - final String errorMessage = event.result.getError() == null - ? hookStep.getHookType().name() + " is failed." - : hookStep.getHookType().name() + " is failed: " - + event.result.getError().getLocalizedMessage(); - - statusDetails.setMessage(errorMessage); - - if (hookStep.getHookType() == HookType.Before) { - final TagParser tagParser = new TagParser(currentFeature.get(), currentTestCase.get()); - statusDetails - .setFlaky(tagParser.isFlaky()) - .setMuted(tagParser.isMuted()) - .setKnown(tagParser.isKnown()); - testResult.setStatus(Status.SKIPPED); - updateTestCaseStatus(testResult.getStatus()); - forbidTestCaseStatusChange.set(true); - } else { - testResult.setStatus(Status.BROKEN); - updateTestCaseStatus(testResult.getStatus()); - } - fixtureResult.setStatusDetails(statusDetails); + private void handleStopHookStep(final Result eventResult, + final HookTestStep hook) { + final String containerUuid = hookStepContainerUuid.get(hook); + if (Objects.isNull(containerUuid)) { + // maybe throw an exception? + return; } - lifecycle.updateFixture(uuid, result -> result.setStatus(fixtureResult.getStatus()) - .setStatusDetails(fixtureResult.getStatusDetails())); + final String uuid = fixtureUuids.get(hook); + if (Objects.isNull(uuid)) { + // maybe throw an exception? + return; + } + + final Status status = translateTestCaseStatus(eventResult); + final StatusDetails statusDetails = getStatusDetails(eventResult.getError()) + .orElseGet(StatusDetails::new); + + lifecycle.updateFixture(uuid, result -> result + .setStatus(status) + .setStatusDetails(statusDetails) + ); lifecycle.stopFixture(uuid); + + lifecycle.stopTestContainer(containerUuid); + lifecycle.writeTestContainer(containerUuid); } - private void handlePickleStep(final TestStepFinished event) { + private void handleStopStep(final TestCase testCase, + final Result eventResult, + final TestStep step) { + final String stepUuid = stepUuids.get(step); + if (Objects.isNull(stepUuid)) { + // maybe exception? + return; + } - final Status stepStatus = translateTestCaseStatus(event.result); - final StatusDetails statusDetails; - if (event.result.getStatus() == Result.Type.UNDEFINED) { - updateTestCaseStatus(Status.PASSED); + final Feature feature = testSources.getFeature(testCase.getUri()); - statusDetails = - getStatusDetails(new PendingException("TODO: implement me")) - .orElse(new StatusDetails()); - lifecycle.updateTestCase(getTestCaseUuid(currentTestCase.get()), scenarioResult -> - scenarioResult - .setStatusDetails(statusDetails)); - } else { - statusDetails = - getStatusDetails(event.result.getError()) - .orElse(new StatusDetails()); - updateTestCaseStatus(stepStatus); - } + final Status stepStatus = translateTestCaseStatus(eventResult); - if (!Status.PASSED.equals(stepStatus) && stepStatus != null) { - forbidTestCaseStatusChange.set(true); - } + final StatusDetails statusDetails + = eventResult.getStatus() == Result.Type.UNDEFINED + ? new StatusDetails().setMessage("Undefined Step. Please add step definition") + : getStatusDetails(eventResult.getError()) + .orElse(new StatusDetails()); - final TagParser tagParser = new TagParser(currentFeature.get(), currentTestCase.get()); + final TagParser tagParser = new TagParser(feature, testCase); statusDetails .setFlaky(tagParser.isFlaky()) .setMuted(tagParser.isMuted()) .setKnown(tagParser.isKnown()); - lifecycle.updateStep(getStepUuid((PickleStepTestStep) event.testStep), - stepResult -> stepResult.setStatus(stepStatus).setStatusDetails(statusDetails)); - lifecycle.stopStep(getStepUuid((PickleStepTestStep) event.testStep)); - } - - private void updateTestCaseStatus(final Status status) { - if (!forbidTestCaseStatusChange.get()) { - lifecycle.updateTestCase(getTestCaseUuid(currentTestCase.get()), - result -> result.setStatus(status)); - } - } - - private String getTestCaseUri(final TestCase testCase) { - final String testCaseUri = testCase.getUri(); - if (testCaseUri.startsWith(CUCUMBER_WORKING_DIR)) { - return testCaseUri.substring(CUCUMBER_WORKING_DIR.length()); - } - if (testCaseUri.startsWith(CLASSPATH_PREFIX)) { - return testCaseUri.substring(CLASSPATH_PREFIX.length()); - } - if (testCaseUri.startsWith(FILE_PREFIX)) { - return testCaseUri.substring(FILE_PREFIX.length()); - } - return testCaseUri; + lifecycle.updateStep( + stepUuid, + stepResult -> stepResult + .setStatus(stepStatus) + .setStatusDetails(statusDetails) + ); + lifecycle.stopStep(stepUuid); } } diff --git a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java index 18940bc83..9cc09bbfc 100644 --- a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java +++ b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/AllureCucumber4JvmTest.java @@ -36,6 +36,7 @@ import io.qameta.allure.model.StatusDetails; import io.qameta.allure.model.StepResult; import io.qameta.allure.model.TestResult; +import io.qameta.allure.model.TestResultContainer; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; import io.qameta.allure.test.RunUtils; @@ -55,6 +56,7 @@ import static io.qameta.allure.util.ResultsUtils.PACKAGE_LABEL_NAME; import static io.qameta.allure.util.ResultsUtils.SUITE_LABEL_NAME; import static io.qameta.allure.util.ResultsUtils.TEST_CLASS_LABEL_NAME; +import static io.qameta.allure.util.ResultsUtils.md5; import static java.lang.Thread.currentThread; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.tuple; @@ -84,8 +86,10 @@ void shouldSetStatus() { final List testResults = results.getTestResults(); assertThat(testResults) - .extracting(TestResult::getStatus) - .containsExactlyInAnyOrder(Status.PASSED); + .extracting(TestResult::getName, TestResult::getStatus) + .containsExactlyInAnyOrder( + tuple("Add a to b", Status.PASSED) + ); } @AllureFeatures.FailedTests @@ -256,7 +260,7 @@ void shouldAddAttachments() { .extracting(Attachment::getName, Attachment::getType) .containsExactlyInAnyOrder( tuple("Text output", "text/plain"), - tuple("Screenshot", null) + tuple("Embedding", "image/png") ); final List attachmentContents = results.getAttachments().values().stream() @@ -279,10 +283,10 @@ void shouldAddBackgroundSteps() { .flatExtracting(TestResult::getSteps) .extracting(StepResult::getName) .containsExactly( - "Given cat is sad", - "And cat is murmur", - "When Pet the cat", - "Then Cat is happy" + "Given cat is sad", + "And cat is murmur", + "When Pet the cat", + "Then Cat is happy" ); } @@ -444,15 +448,17 @@ void shouldProcessUndefinedSteps() { final List testResults = results.getTestResults(); assertThat(testResults) - .extracting(TestResult::getStatus) - .containsExactlyInAnyOrder(Status.SKIPPED); + .extracting(TestResult::getName, TestResult::getStatus) + .containsExactlyInAnyOrder( + tuple("Step is not defined", null) + ); assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 5", Status.PASSED), - tuple("When step is undefined", null), - tuple("Then b is 10", Status.SKIPPED) + tuple("Given a is 5", Status.PASSED), + tuple("When step is undefined", null), + tuple("Then b is 10", Status.SKIPPED) ); } @@ -470,9 +476,9 @@ void shouldProcessPendingExceptionsInSteps() { assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 5", Status.PASSED), - tuple("When step is yet to be implemented", Status.SKIPPED), - tuple("Then b is 10", Status.SKIPPED) + tuple("Given a is 5", Status.PASSED), + tuple("When step is yet to be implemented", Status.SKIPPED), + tuple("Then b is 10", Status.SKIPPED) ); } @@ -491,10 +497,10 @@ void shouldSupportDryRunForSimpleFeatures() { assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 5", Status.SKIPPED), - tuple("And b is 10", Status.SKIPPED), - tuple("When I add a to b", Status.SKIPPED), - tuple("Then result is 15", Status.SKIPPED) + tuple("Given a is 5", Status.SKIPPED), + tuple("And b is 10", Status.SKIPPED), + tuple("When I add a to b", Status.SKIPPED), + tuple("Then result is 15", Status.SKIPPED) ); } @@ -505,32 +511,29 @@ void shouldSupportDryRunForHooks() { final AllureResults results = runFeature("features/hooks.feature", "--dry-run", "-t", "@WithHooks or @BeforeHookWithException or @AfterHookWithException"); - final List testResults = results.getTestResults(); - assertThat(testResults) - .extracting(TestResult::getName, TestResult::getStatus) - .startsWith( - tuple("Simple scenario with Before and After hooks", Status.SKIPPED) - ); + final TestResult tr1 = results.getTestResultByName("Simple scenario with Before and After hooks"); - assertThat(results.getTestResultContainers().get(0).getBefores()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getBefores) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("HookSteps.beforeHook()", Status.SKIPPED) ); - assertThat(results.getTestResultContainers().get(0).getAfters()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getAfters) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("HookSteps.afterHook()", Status.SKIPPED) ); - assertThat(testResults.get(0).getSteps()) + assertThat(tr1.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.SKIPPED), - tuple("And b is 8", Status.SKIPPED), - tuple("When I add a to b", Status.SKIPPED), - tuple("Then result is 15", Status.SKIPPED) + tuple("Given a is 7", Status.SKIPPED), + tuple("And b is 8", Status.SKIPPED), + tuple("When I add a to b", Status.SKIPPED), + tuple("Then result is 15", Status.SKIPPED) ); } @@ -552,7 +555,7 @@ void shouldPersistHistoryIdForExamples() { final List testResults = results.getTestResults(); assertThat(testResults) .extracting(TestResult::getHistoryId) - .containsExactlyInAnyOrder("646aca5d0775cd4f13161e1ea1a68c39", "c0f824814a130048e9f86358363cf23e"); + .containsExactlyInAnyOrder("c0f824814a130048e9f86358363cf23e", "646aca5d0775cd4f13161e1ea1a68c39"); } @AllureFeatures.History @@ -565,6 +568,42 @@ void shouldPersistDifferentHistoryIdComparedToTheSameTestCaseInDifferentLocation .isNotEqualTo(results2.getTestResults().get(0).getHistoryId()); } + @AllureFeatures.History + @Test + void shouldSetTestCaseIdForScenarios() { + final AllureResults results = runFeature("features/simple.feature"); + + final List testResults = results.getTestResults(); + assertThat(testResults) + .extracting(TestResult::getName, TestResult::getTestCaseId) + .containsExactlyInAnyOrder( + tuple( + "Add a to b", + md5("src/test/resources/features/simple.feature:Add a to b") + ) + ); + } + + @AllureFeatures.History + @Test + void shouldSetTestCaseIdForExamples() { + final AllureResults results = runFeature("features/examples.feature", "--threads", "2"); + + final List testResults = results.getTestResults(); + assertThat(testResults) + .extracting(TestResult::getName, TestResult::getTestCaseId) + .containsExactlyInAnyOrder( + tuple( + "Scenario with Positive Examples", + md5("src/test/resources/features/examples.feature:Scenario with Positive Examples") + ), + tuple( + "Scenario with Positive Examples", + md5("src/test/resources/features/examples.feature:Scenario with Positive Examples") + ) + ); + } + @AllureFeatures.Parallel @Test void shouldProcessScenariosInParallelMode() { @@ -576,30 +615,33 @@ void shouldProcessScenariosInParallelMode() { .hasSize(3); assertThat(testResults) - .extracting(testResult -> testResult.getSteps().stream().map(StepResult::getName).collect(Collectors.toList())) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) .containsSubsequence( - Arrays.asList("Given a is 1", - "And b is 3", - "When I add a to b", - "Then result is 4") + "Given a is 1", + "And b is 3", + "When I add a to b", + "Then result is 4" ); assertThat(testResults) - .extracting(testResult -> testResult.getSteps().stream().map(StepResult::getName).collect(Collectors.toList())) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) .containsSubsequence( - Arrays.asList("Given a is 2", - "And b is 4", - "When I add a to b", - "Then result is 6") + "Given a is 2", + "And b is 4", + "When I add a to b", + "Then result is 6" ); assertThat(testResults) - .extracting(testResult -> testResult.getSteps().stream().map(StepResult::getName).collect(Collectors.toList())) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) .containsSubsequence( - Arrays.asList("Given a is 7", - "And b is 8", - "When I add a to b", - "Then result is 15") + "Given a is 7", + "And b is 8", + "When I add a to b", + "Then result is 15" ); } @@ -610,64 +652,61 @@ void shouldDisplayHooksAsStages() { final AllureResults results = runFeature("features/hooks.feature", "-t", "@WithHooks or @BeforeHookWithException or @AfterHookWithException"); - final List testResults = results.getTestResults(); - assertThat(testResults) - .extracting(TestResult::getName, TestResult::getStatus) - .containsExactlyInAnyOrder( - tuple("Simple scenario with Before and After hooks", Status.PASSED), - tuple("Simple scenario with Before hook with Exception", Status.SKIPPED), - tuple("Simple scenario with After hook with Exception", Status.BROKEN) - ); + final TestResult tr1 = results.getTestResultByName("Simple scenario with Before and After hooks"); + final TestResult tr2 = results.getTestResultByName("Simple scenario with Before hook with Exception"); + final TestResult tr3 = results.getTestResultByName("Simple scenario with After hook with Exception"); - assertThat(testResults.get(0).getSteps()) + assertThat(tr1.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.PASSED), - tuple("And b is 8", Status.PASSED), - tuple("When I add a to b", Status.PASSED), - tuple("Then result is 15", Status.PASSED) + tuple("Given a is 7", Status.PASSED), + tuple("And b is 8", Status.PASSED), + tuple("When I add a to b", Status.PASSED), + tuple("Then result is 15", Status.PASSED) ); - - assertThat(results.getTestResultContainers().get(0).getBefores()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getBefores) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("HookSteps.beforeHook()", Status.PASSED) ); - assertThat(results.getTestResultContainers().get(0).getAfters()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getAfters) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("HookSteps.afterHook()", Status.PASSED) ); - assertThat(testResults.get(1).getSteps()) + assertThat(tr2.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.SKIPPED), - tuple("And b is 8", Status.SKIPPED), - tuple("When I add a to b", Status.SKIPPED), - tuple("Then result is 15", Status.SKIPPED) + tuple("Given a is 7", Status.SKIPPED), + tuple("And b is 8", Status.SKIPPED), + tuple("When I add a to b", Status.SKIPPED), + tuple("Then result is 15", Status.SKIPPED) ); - assertThat(results.getTestResultContainers().get(1).getBefores()) + assertThat(results.getTestResultContainersForTestResult(tr2)) + .flatExtracting(TestResultContainer::getBefores) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("HookSteps.beforeHookWithException()", Status.FAILED) ); - - assertThat(testResults.get(2).getSteps()) + assertThat(tr3.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.PASSED), - tuple("And b is 8", Status.PASSED), - tuple("When I add a to b", Status.PASSED), - tuple("Then result is 15", Status.PASSED) + tuple("Given a is 7", Status.PASSED), + tuple("And b is 8", Status.PASSED), + tuple("When I add a to b", Status.PASSED), + tuple("Then result is 15", Status.PASSED) ); - assertThat(results.getTestResultContainers().get(2).getAfters()) + assertThat(results.getTestResultContainersForTestResult(tr3)) + .flatExtracting(TestResultContainer::getAfters) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("HookSteps.afterHookWithException()", Status.FAILED) @@ -684,19 +723,19 @@ void shouldHandleAmbigiousStepsExceptions() { assertThat(testResults) .extracting(TestResult::getName, TestResult::getStatus) .containsExactlyInAnyOrder( - tuple("Simple scenario with ambigious steps", Status.SKIPPED) + tuple("Simple scenario with ambigious steps", null) ); assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactly( - tuple("When ambigious step present", null), - tuple("Then something bad should happen", Status.SKIPPED) + tuple("When ambigious step present", null), + tuple("Then something bad should happen", Status.SKIPPED) ); } @ResourceLock(value = SYSTEM_PROPERTIES, mode = READ_WRITE) - @SystemProperty(name = "allure.label.x-provided", value = "cucumberjvm4-test-provided") + @SystemProperty(name = "allure.label.x-provided", value = "cucumberjvm5-test-provided") @Test void shouldSupportProvidedLabels() { final AllureResults results = runFeature("features/simple.feature"); @@ -707,7 +746,37 @@ void shouldSupportProvidedLabels() { .flatExtracting(TestResult::getLabels) .extracting(Label::getName, Label::getValue) .contains( - tuple("x-provided", "cucumberjvm4-test-provided") + tuple("x-provided", "cucumberjvm5-test-provided") + ); + } + + @Test + void shouldSupportRuntimeApiInStepsWhenHooksAreUsed() { + final AllureResults results = runFeature("features/runtimeapi.feature"); + + final List testResults = results.getTestResults(); + + assertThat(testResults) + .hasSize(1) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) + .containsExactly( + "When step 1", + "When step 2", + "And step 3", + "Then step 4", + "And step 5" + ); + + assertThat(testResults) + .flatExtracting(TestResult::getLinks) + .extracting(Link::getName, Link::getUrl) + .containsExactly( + tuple("step1", "https://example.org/step1"), + tuple("step2", "https://example.org/step2"), + tuple("step3", "https://example.org/step3"), + tuple("step4", "https://example.org/step4"), + tuple("step5", "https://example.org/step5") ); } diff --git a/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/RuntimeApiSteps.java b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/RuntimeApiSteps.java new file mode 100644 index 000000000..41bd4bfa6 --- /dev/null +++ b/allure-cucumber4-jvm/src/test/java/io/qameta/allure/cucumber4jvm/samples/RuntimeApiSteps.java @@ -0,0 +1,83 @@ +/* + * Copyright 2016-2024 Qameta Software Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.qameta.allure.cucumber4jvm.samples; + +import io.cucumber.java.Before; +import io.cucumber.java.en.And; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; +import io.qameta.allure.Allure; + +/** + * @author charlie (Dmitry Baev). + */ +public class RuntimeApiSteps { + + @Before("@beforeScenario") + public void beforeScenario(){ + // nothing + } + + @Before("@beforeFeature") + public void beforeFeature(){ + // nothing + } + + @When("^step 1$") + public void step1() { + Allure.step("step1 nested"); + Allure.link("step1", "https://example.org/step1"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step1: " + uuid); + }); + } + + @When("^step 2$") + public void step2() { + Allure.step("step2 nested"); + Allure.link("step2", "https://example.org/step2"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step2: " + uuid); + }); + } + + @And("^step 3$") + public void step3() { + Allure.step("step3 nested"); + Allure.link("step3", "https://example.org/step3"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step3: " + uuid); + }); + } + + @Then("^step 4$") + public void step4() { + Allure.step("step4 nested"); + Allure.link("step4", "https://example.org/step4"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step4: " + uuid); + }); + } + + @And("^step 5$") + public void step5() { + Allure.step("step5 nested"); + Allure.link("step5", "https://example.org/step5"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step5: " + uuid); + }); + } +} diff --git a/allure-cucumber4-jvm/src/test/resources/features/runtimeapi.feature b/allure-cucumber4-jvm/src/test/resources/features/runtimeapi.feature new file mode 100644 index 000000000..ec43eccb7 --- /dev/null +++ b/allure-cucumber4-jvm/src/test/resources/features/runtimeapi.feature @@ -0,0 +1,10 @@ +@beforeFeature +Feature: Should support runtime API in all steps + + @beforeScenario + Scenario: Scenario with Runtime API usage + When step 1 + When step 2 + And step 3 + Then step 4 + And step 5 diff --git a/allure-cucumber5-jvm/build.gradle.kts b/allure-cucumber5-jvm/build.gradle.kts index e39b579e4..0bb513d73 100644 --- a/allure-cucumber5-jvm/build.gradle.kts +++ b/allure-cucumber5-jvm/build.gradle.kts @@ -15,7 +15,9 @@ dependencies { testImplementation("org.assertj:assertj-core") testImplementation("org.junit.jupiter:junit-jupiter-api") testImplementation("org.slf4j:slf4j-simple") + testImplementation(project(":allure-assertj")) testImplementation(project(":allure-java-commons-test")) + testImplementation(project(":allure-junit-platform")) testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") } diff --git a/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/AllureCucumber5Jvm.java b/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/AllureCucumber5Jvm.java index 928fff4d1..546838100 100644 --- a/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/AllureCucumber5Jvm.java +++ b/allure-cucumber5-jvm/src/main/java/io/qameta/allure/cucumber5jvm/AllureCucumber5Jvm.java @@ -29,11 +29,13 @@ import io.cucumber.plugin.event.HookType; import io.cucumber.plugin.event.PickleStepTestStep; import io.cucumber.plugin.event.Result; +import io.cucumber.plugin.event.Step; import io.cucumber.plugin.event.StepArgument; import io.cucumber.plugin.event.TestCase; import io.cucumber.plugin.event.TestCaseFinished; import io.cucumber.plugin.event.TestCaseStarted; import io.cucumber.plugin.event.TestSourceRead; +import io.cucumber.plugin.event.TestStep; import io.cucumber.plugin.event.TestStepFinished; import io.cucumber.plugin.event.TestStepStarted; import io.cucumber.plugin.event.WriteEvent; @@ -49,13 +51,13 @@ import io.qameta.allure.model.TestResultContainer; import java.io.ByteArrayInputStream; -import java.net.URI; import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.util.Collections; import java.util.Deque; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.UUID; @@ -80,17 +82,12 @@ }) public class AllureCucumber5Jvm implements ConcurrentEventListener { + private static final String COLON = ":"; + private final AllureLifecycle lifecycle; - private final ConcurrentHashMap scenarioUuids = new ConcurrentHashMap<>(); private final TestSourcesModelProxy testSources = new TestSourcesModelProxy(); - private final ThreadLocal currentFeature = new InheritableThreadLocal<>(); - private final ThreadLocal currentFeatureFile = new InheritableThreadLocal<>(); - private final ThreadLocal currentTestCase = new InheritableThreadLocal<>(); - private final ThreadLocal currentContainer = new InheritableThreadLocal<>(); - private final ThreadLocal forbidTestCaseStatusChange = new InheritableThreadLocal<>(); - private final EventHandler featureStartedHandler = this::handleFeatureStartedHandler; private final EventHandler caseStartedHandler = this::handleTestCaseStarted; private final EventHandler caseFinishedHandler = this::handleTestCaseFinished; @@ -99,6 +96,10 @@ public class AllureCucumber5Jvm implements ConcurrentEventListener { private final EventHandler writeEventHandler = this::handleWriteEvent; private final EventHandler embedEventHandler = this::handleEmbedEvent; + private final Map hookStepContainerUuid = new ConcurrentHashMap<>(); + private final Map stepUuids = new ConcurrentHashMap<>(); + private final Map fixtureUuids = new ConcurrentHashMap<>(); + private static final String TXT_EXTENSION = ".txt"; private static final String TEXT_PLAIN = "text/plain"; private static final String CUCUMBER_WORKING_DIR = Paths.get("").toUri().getSchemeSpecificPart(); @@ -112,9 +113,6 @@ public AllureCucumber5Jvm(final AllureLifecycle lifecycle) { this.lifecycle = lifecycle; } - /* - Event Handlers - */ @Override public void setEventPublisher(final EventPublisher publisher) { publisher.registerHandlerFor(TestSourceRead.class, featureStartedHandler); @@ -134,30 +132,40 @@ private void handleFeatureStartedHandler(final TestSourceRead event) { } private void handleTestCaseStarted(final TestCaseStarted event) { - currentFeatureFile.set(event.getTestCase().getUri()); - currentFeature.set(testSources.getFeature(currentFeatureFile.get())); - currentTestCase.set(event.getTestCase()); - currentContainer.set(UUID.randomUUID().toString()); - forbidTestCaseStatusChange.set(false); + final TestCase testCase = event.getTestCase(); + final Feature feature = testSources.getFeature(testCase.getUri()); - final TestCase testCase = currentTestCase.get(); final Deque tags = new LinkedList<>(testCase.getTags()); - - final Feature feature = currentFeature.get(); final LabelBuilder labelBuilder = new LabelBuilder(feature, testCase, tags); final String name = testCase.getName(); + + // the same way full name is generated for + // org.junit.platform.engine.support.descriptor.ClasspathResourceSource + // to support io.qameta.allure.junitplatform.AllurePostDiscoveryFilter + final String fullName = String.format("%s:%d", + getTestCaseUri(testCase), + testCase.getLine() + ); + + final String testCaseUuid = testCase.getId().toString(); + final TestResult result = new TestResult() - .setUuid(getTestCaseUuid(testCase)) + .setUuid(testCaseUuid) + .setTestCaseId(getTestCaseId(testCase)) .setHistoryId(getHistoryId(testCase)) - .setFullName(getTestCaseUri(testCase) + ":" + testCase.getLine()) + .setFullName(fullName) .setName(name) .setLabels(labelBuilder.getScenarioLabels()) .setLinks(labelBuilder.getScenarioLinks()); final ScenarioDefinition scenarioDefinition = - testSources.getScenarioDefinition(currentFeatureFile.get(), testCase.getLine()); + testSources.getScenarioDefinition( + testCase.getUri(), + testCase.getLine() + ); + if (scenarioDefinition instanceof ScenarioOutline) { result.setParameters( getExamplesAsParameters((ScenarioOutline) scenarioDefinition, testCase) @@ -173,75 +181,131 @@ private void handleTestCaseStarted(final TestCaseStarted event) { result.setDescription(description); } - final TestResultContainer resultContainer = new TestResultContainer() - .setName(String.format("%s: %s", scenarioDefinition.getKeyword(), scenarioDefinition.getName())) - .setUuid(getTestContainerUuid()) - .setChildren(Collections.singletonList(getTestCaseUuid(testCase))); - lifecycle.scheduleTestCase(result); - lifecycle.startTestContainer(getTestContainerUuid(), resultContainer); - lifecycle.startTestCase(getTestCaseUuid(testCase)); + lifecycle.startTestCase(testCaseUuid); } private void handleTestCaseFinished(final TestCaseFinished event) { + final TestCase testCase = event.getTestCase(); + final Feature feature = testSources.getFeature(testCase.getUri()); + final String uuid = testCase.getId().toString(); + final Result result = event.getResult(); + final Status status = translateTestCaseStatus(result); + final StatusDetails statusDetails = getStatusDetails(result.getError()) + .orElseGet(StatusDetails::new); + + final TagParser tagParser = new TagParser(feature, testCase); + statusDetails + .setFlaky(tagParser.isFlaky()) + .setMuted(tagParser.isMuted()) + .setKnown(tagParser.isKnown()); + + lifecycle.updateTestCase(uuid, testResult -> testResult + .setStatus(status) + .setStatusDetails(statusDetails) + ); - final String uuid = getTestCaseUuid(event.getTestCase()); - final Optional details = getStatusDetails(event.getResult().getError()); - details.ifPresent(statusDetails -> lifecycle.updateTestCase( - uuid, - testResult -> testResult.setStatusDetails(statusDetails) - )); lifecycle.stopTestCase(uuid); - lifecycle.stopTestContainer(getTestContainerUuid()); lifecycle.writeTestCase(uuid); - lifecycle.writeTestContainer(getTestContainerUuid()); } private void handleTestStepStarted(final TestStepStarted event) { - if (event.getTestStep() instanceof PickleStepTestStep) { - final PickleStepTestStep pickleStep = (PickleStepTestStep) event.getTestStep(); - final String stepKeyword = Optional.ofNullable( - testSources.getKeywordFromSource(currentFeatureFile.get(), pickleStep.getStep().getLine()) - ).orElse("UNDEFINED"); - - final StepResult stepResult = new StepResult() - .setName(String.format("%s %s", stepKeyword, pickleStep.getStep().getText())) - .setStart(System.currentTimeMillis()); - - lifecycle.startStep(getTestCaseUuid(currentTestCase.get()), getStepUuid(pickleStep), stepResult); + final TestCase testCase = event.getTestCase(); + if (event.getTestStep() instanceof HookTestStep) { + final HookTestStep hook = (HookTestStep) event.getTestStep(); - final StepArgument stepArgument = pickleStep.getStep().getArgument(); - if (stepArgument instanceof DataTableArgument) { - final DataTableArgument dataTableArgument = (DataTableArgument) stepArgument; - createDataTableAttachment(dataTableArgument); + if (isFixtureHook(hook)) { + handleStartFixtureHook(testCase, hook); + } else { + handleStartStepHook(testCase, hook); } - } else if (event.getTestStep() instanceof HookTestStep) { - initHook((HookTestStep) event.getTestStep()); + } else if (event.getTestStep() instanceof PickleStepTestStep) { + handleStartPickleStep(testCase, (PickleStepTestStep) event.getTestStep()); } } - private void initHook(final HookTestStep hook) { + private void handleStartPickleStep(final TestCase testCase, + final PickleStepTestStep pickleStep) { + final String uuid = testCase.getId().toString(); + final Step step = pickleStep.getStep(); - final FixtureResult hookResult = new FixtureResult() + final StepResult stepResult = new StepResult() + .setName(step.getKeyWord() + step.getText()) + .setStart(System.currentTimeMillis()); + + final String stepUuid = stepUuids.computeIfAbsent( + pickleStep, + cl -> UUID.randomUUID().toString() + ); + + lifecycle.setCurrentTestCase(uuid); + lifecycle.startStep(uuid, stepUuid, stepResult); + + final StepArgument stepArgument = step.getArgument(); + if (stepArgument instanceof DataTableArgument) { + final DataTableArgument dataTableArgument = (DataTableArgument) stepArgument; + createDataTableAttachment(dataTableArgument); + } + } + + private void handleStartStepHook(final TestCase testCase, + final HookTestStep hook) { + final String uuid = testCase.getId().toString(); + final StepResult stepResult = new StepResult() .setName(hook.getCodeLocation()) .setStart(System.currentTimeMillis()); + final String stepUuid = stepUuids.computeIfAbsent( + hook, unused -> UUID.randomUUID().toString() + ); + + lifecycle.setCurrentTestCase(uuid); + lifecycle.startStep(uuid, stepUuid, stepResult); + } + + private void handleStartFixtureHook(final TestCase testCase, + final HookTestStep hook) { + final String uuid = testCase.getId().toString(); + + final String containerUuid = hookStepContainerUuid + .computeIfAbsent(hook, unused -> UUID.randomUUID().toString()); + + lifecycle.startTestContainer(new TestResultContainer() + .setUuid(containerUuid) + .setChildren(Collections.singletonList(uuid)) + ); + + final FixtureResult hookResult = new FixtureResult() + .setName(hook.getCodeLocation()); + + final String fixtureUuid = fixtureUuids.computeIfAbsent( + hook, unused -> UUID.randomUUID().toString() + ); if (hook.getHookType() == HookType.BEFORE) { - lifecycle.startPrepareFixture(getTestContainerUuid(), getHookStepUuid(hook), hookResult); + lifecycle.startPrepareFixture(containerUuid, fixtureUuid, hookResult); } else { - lifecycle.startTearDownFixture(getTestContainerUuid(), getHookStepUuid(hook), hookResult); + lifecycle.startTearDownFixture(containerUuid, fixtureUuid, hookResult); } - } private void handleTestStepFinished(final TestStepFinished event) { if (event.getTestStep() instanceof HookTestStep) { - handleHookStep(event); - } else { - handlePickleStep(event); + final HookTestStep hook = (HookTestStep) event.getTestStep(); + if (isFixtureHook(hook)) { + handleStopHookStep(event.getResult(), hook); + } else { + handleStopStep(event.getTestCase(), event.getResult(), hook); + } + } else if (event.getTestStep() instanceof PickleStepTestStep) { + final PickleStepTestStep pickleStep = (PickleStepTestStep) event.getTestStep(); + handleStopStep(event.getTestCase(), event.getResult(), pickleStep); } } + private static boolean isFixtureHook(final HookTestStep hook) { + return hook.getHookType() == HookType.BEFORE || hook.getHookType() == HookType.AFTER; + } + private void handleWriteEvent(final WriteEvent event) { lifecycle.addAttachment( "Text output", @@ -252,36 +316,19 @@ private void handleWriteEvent(final WriteEvent event) { } private void handleEmbedEvent(final EmbedEvent event) { - lifecycle.addAttachment("Screenshot", null, null, new ByteArrayInputStream(event.getData())); - } - - /* - Utility Methods - */ - - private String getTestContainerUuid() { - return currentContainer.get(); - } - - private String getTestCaseUuid(final TestCase testCase) { - return scenarioUuids.computeIfAbsent(getHistoryId(testCase), it -> UUID.randomUUID().toString()); - } - - private String getStepUuid(final PickleStepTestStep step) { - return currentFeature.get().getName() + getTestCaseUuid(currentTestCase.get()) - + step.getStep().getText() + step.getStep().getLine(); - } - - private String getHookStepUuid(final HookTestStep step) { - return currentFeature.get().getName() + getTestCaseUuid(currentTestCase.get()) - + step.getHookType().toString() + step.getCodeLocation(); + lifecycle.addAttachment(event.name, event.getMediaType(), null, new ByteArrayInputStream(event.getData())); } private String getHistoryId(final TestCase testCase) { - final String testCaseLocation = getTestCaseUri(testCase) + ":" + testCase.getLine(); + final String testCaseLocation = getTestCaseUri(testCase) + COLON + testCase.getLine(); return md5(testCaseLocation); } + private String getTestCaseId(final TestCase testCase) { + final String testCaseId = getTestCaseUri(testCase) + COLON + testCase.getName(); + return md5(testCaseId); + } + private String getTestCaseUri(final TestCase testCase) { final String testCaseUri = testCase.getUri().getSchemeSpecificPart(); if (testCaseUri.startsWith(CUCUMBER_WORKING_DIR)) { @@ -308,26 +355,39 @@ private Status translateTestCaseStatus(final Result testCaseResult) { } private List getExamplesAsParameters( - final ScenarioOutline scenarioOutline, final TestCase localCurrentTestCase - ) { - final Optional examplesBlock = - scenarioOutline.getExamples().stream() + final ScenarioOutline scenario, + final TestCase localCurrentTestCase) { + final Optional maybeExample = + scenario.getExamples().stream() .filter(example -> example.getTableBody().stream() - .anyMatch(row -> row.getLocation().getLine() == localCurrentTestCase.getLine()) - ).findFirst(); - - if (examplesBlock.isPresent()) { - final TableRow row = examplesBlock.get().getTableBody().stream() - .filter(example -> example.getLocation().getLine() == localCurrentTestCase.getLine()) - .findFirst().get(); - return IntStream.range(0, examplesBlock.get().getTableHeader().getCells().size()).mapToObj(index -> { - final String name = examplesBlock.get().getTableHeader().getCells().get(index).getValue(); - final String value = row.getCells().get(index).getValue(); - return createParameter(name, value); - }).collect(Collectors.toList()); - } else { + .anyMatch(row -> row.getLocation().getLine() + == localCurrentTestCase.getLine()) + ) + .findFirst(); + + if (!maybeExample.isPresent()) { return Collections.emptyList(); } + + final Examples examples = maybeExample.get(); + + final Optional maybeRow = examples.getTableBody().stream() + .filter(example -> example.getLocation().getLine() == localCurrentTestCase.getLine()) + .findFirst(); + + if (!maybeRow.isPresent()) { + return Collections.emptyList(); + } + + final TableRow row = maybeRow.get(); + + return IntStream.range(0, examples.getTableHeader().getCells().size()) + .mapToObj(index -> { + final String name = examples.getTableHeader().getCells().get(index).getValue(); + final String value = row.getCells().get(index).getValue(); + return createParameter(name, value); + }) + .collect(Collectors.toList()); } private void createDataTableAttachment(final DataTableArgument dataTableArgument) { @@ -352,83 +412,65 @@ private void createDataTableAttachment(final DataTableArgument dataTableArgument new ByteArrayInputStream(dataTableCsv.toString().getBytes(StandardCharsets.UTF_8))); } - private void handleHookStep(final TestStepFinished event) { - final HookTestStep hookStep = (HookTestStep) event.getTestStep(); - final String uuid = getHookStepUuid(hookStep); - final FixtureResult fixtureResult = new FixtureResult().setStatus(translateTestCaseStatus(event.getResult())); - - if (!Status.PASSED.equals(fixtureResult.getStatus())) { - final TestResult testResult = new TestResult().setStatus(translateTestCaseStatus(event.getResult())); - final StatusDetails statusDetails = getStatusDetails(event.getResult().getError()) - .orElseGet(StatusDetails::new); - - final String errorMessage = event.getResult().getError() == null - ? hookStep.getHookType().name() + " is failed." - : hookStep.getHookType().name() + " is failed: " - + event.getResult().getError().getLocalizedMessage(); - - statusDetails.setMessage(errorMessage); - - if (hookStep.getHookType() == HookType.BEFORE) { - final TagParser tagParser = new TagParser(currentFeature.get(), currentTestCase.get()); - statusDetails - .setFlaky(tagParser.isFlaky()) - .setMuted(tagParser.isMuted()) - .setKnown(tagParser.isKnown()); - testResult.setStatus(Status.SKIPPED); - updateTestCaseStatus(testResult.getStatus()); - forbidTestCaseStatusChange.set(true); - } else { - testResult.setStatus(Status.BROKEN); - updateTestCaseStatus(testResult.getStatus()); - } - fixtureResult.setStatusDetails(statusDetails); + private void handleStopHookStep(final Result eventResult, + final HookTestStep hook) { + final String containerUuid = hookStepContainerUuid.get(hook); + if (Objects.isNull(containerUuid)) { + // maybe throw an exception? + return; } - lifecycle.updateFixture(uuid, result -> result.setStatus(fixtureResult.getStatus()) - .setStatusDetails(fixtureResult.getStatusDetails())); + final String uuid = fixtureUuids.get(hook); + if (Objects.isNull(uuid)) { + // maybe throw an exception? + return; + } + + final Status status = translateTestCaseStatus(eventResult); + final StatusDetails statusDetails = getStatusDetails(eventResult.getError()) + .orElseGet(StatusDetails::new); + + lifecycle.updateFixture(uuid, result -> result + .setStatus(status) + .setStatusDetails(statusDetails) + ); lifecycle.stopFixture(uuid); + + lifecycle.stopTestContainer(containerUuid); + lifecycle.writeTestContainer(containerUuid); } - private void handlePickleStep(final TestStepFinished event) { + private void handleStopStep(final TestCase testCase, + final Result eventResult, + final TestStep step) { + final String stepUuid = stepUuids.get(step); + if (Objects.isNull(stepUuid)) { + // maybe exception? + return; + } - final Status stepStatus = translateTestCaseStatus(event.getResult()); - final StatusDetails statusDetails; - if (event.getResult().getStatus() == io.cucumber.plugin.event.Status.UNDEFINED) { - updateTestCaseStatus(Status.PASSED); + final Feature feature = testSources.getFeature(testCase.getUri()); - statusDetails = - getStatusDetails(new IllegalStateException("Undefined Step. Please add step definition")) - .orElse(new StatusDetails()); - lifecycle.updateTestCase(getTestCaseUuid(currentTestCase.get()), scenarioResult -> - scenarioResult - .setStatusDetails(statusDetails)); - } else { - statusDetails = - getStatusDetails(event.getResult().getError()) - .orElse(new StatusDetails()); - updateTestCaseStatus(stepStatus); - } + final Status stepStatus = translateTestCaseStatus(eventResult); - if (!Status.PASSED.equals(stepStatus) && stepStatus != null) { - forbidTestCaseStatusChange.set(true); - } + final StatusDetails statusDetails + = eventResult.getStatus() == io.cucumber.plugin.event.Status.UNDEFINED + ? new StatusDetails().setMessage("Undefined Step. Please add step definition") + : getStatusDetails(eventResult.getError()) + .orElse(new StatusDetails()); - final TagParser tagParser = new TagParser(currentFeature.get(), currentTestCase.get()); + final TagParser tagParser = new TagParser(feature, testCase); statusDetails .setFlaky(tagParser.isFlaky()) .setMuted(tagParser.isMuted()) .setKnown(tagParser.isKnown()); - lifecycle.updateStep(getStepUuid((PickleStepTestStep) event.getTestStep()), - stepResult -> stepResult.setStatus(stepStatus).setStatusDetails(statusDetails)); - lifecycle.stopStep(getStepUuid((PickleStepTestStep) event.getTestStep())); - } - - private void updateTestCaseStatus(final Status status) { - if (!forbidTestCaseStatusChange.get()) { - lifecycle.updateTestCase(getTestCaseUuid(currentTestCase.get()), - result -> result.setStatus(status)); - } + lifecycle.updateStep( + stepUuid, + stepResult -> stepResult + .setStatus(stepStatus) + .setStatusDetails(statusDetails) + ); + lifecycle.stopStep(stepUuid); } } diff --git a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java index 988882c27..f4de28513 100644 --- a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java +++ b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/AllureCucumber5JvmTest.java @@ -37,6 +37,7 @@ import io.qameta.allure.model.StatusDetails; import io.qameta.allure.model.StepResult; import io.qameta.allure.model.TestResult; +import io.qameta.allure.model.TestResultContainer; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; import io.qameta.allure.test.RunUtils; @@ -59,6 +60,7 @@ import static io.qameta.allure.util.ResultsUtils.PACKAGE_LABEL_NAME; import static io.qameta.allure.util.ResultsUtils.SUITE_LABEL_NAME; import static io.qameta.allure.util.ResultsUtils.TEST_CLASS_LABEL_NAME; +import static io.qameta.allure.util.ResultsUtils.md5; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.tuple; import static org.junit.jupiter.api.parallel.ResourceAccessMode.READ_WRITE; @@ -87,8 +89,10 @@ void shouldSetStatus() { final List testResults = results.getTestResults(); assertThat(testResults) - .extracting(TestResult::getStatus) - .containsExactlyInAnyOrder(Status.PASSED); + .extracting(TestResult::getName, TestResult::getStatus) + .containsExactlyInAnyOrder( + tuple("Add a to b", Status.PASSED) + ); } @AllureFeatures.FailedTests @@ -259,7 +263,7 @@ void shouldAddAttachments() { .extracting(Attachment::getName, Attachment::getType) .containsExactlyInAnyOrder( tuple("Text output", "text/plain"), - tuple("Screenshot", null) + tuple("ImageAttachment", "image/png") ); final List attachmentContents = results.getAttachments().values().stream() @@ -282,10 +286,10 @@ void shouldAddBackgroundSteps() { .flatExtracting(TestResult::getSteps) .extracting(StepResult::getName) .containsExactly( - "Given cat is sad", - "And cat is murmur", - "When Pet the cat", - "Then Cat is happy" + "Given cat is sad", + "And cat is murmur", + "When Pet the cat", + "Then Cat is happy" ); } @@ -447,15 +451,17 @@ void shouldProcessUndefinedSteps() { final List testResults = results.getTestResults(); assertThat(testResults) - .extracting(TestResult::getStatus) - .containsExactlyInAnyOrder(Status.SKIPPED); + .extracting(TestResult::getName, TestResult::getStatus) + .containsExactlyInAnyOrder( + tuple("Step is not defined", null) + ); assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 5", Status.PASSED), - tuple("When step is undefined", null), - tuple("Then b is 10", Status.SKIPPED) + tuple("Given a is 5", Status.PASSED), + tuple("When step is undefined", null), + tuple("Then b is 10", Status.SKIPPED) ); } @@ -473,9 +479,9 @@ void shouldProcessPendingExceptionsInSteps() { assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 5", Status.PASSED), - tuple("When step is yet to be implemented", Status.SKIPPED), - tuple("Then b is 10", Status.SKIPPED) + tuple("Given a is 5", Status.PASSED), + tuple("When step is yet to be implemented", Status.SKIPPED), + tuple("Then b is 10", Status.SKIPPED) ); } @@ -494,10 +500,10 @@ void shouldSupportDryRunForSimpleFeatures() { assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 5", Status.SKIPPED), - tuple("And b is 10", Status.SKIPPED), - tuple("When I add a to b", Status.SKIPPED), - tuple("Then result is 15", Status.SKIPPED) + tuple("Given a is 5", Status.SKIPPED), + tuple("And b is 10", Status.SKIPPED), + tuple("When I add a to b", Status.SKIPPED), + tuple("Then result is 15", Status.SKIPPED) ); } @@ -508,32 +514,29 @@ void shouldSupportDryRunForHooks() { final AllureResults results = runFeature("features/hooks.feature", "--dry-run", "-t", "@WithHooks or @BeforeHookWithException or @AfterHookWithException"); - final List testResults = results.getTestResults(); - assertThat(testResults) - .extracting(TestResult::getName, TestResult::getStatus) - .startsWith( - tuple("Simple scenario with Before and After hooks", Status.SKIPPED) - ); + final TestResult tr1 = results.getTestResultByName("Simple scenario with Before and After hooks"); - assertThat(results.getTestResultContainers().get(0).getBefores()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getBefores) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber5jvm.samples.HookSteps.beforeHook()", Status.SKIPPED) ); - assertThat(results.getTestResultContainers().get(0).getAfters()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getAfters) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber5jvm.samples.HookSteps.afterHook()", Status.SKIPPED) ); - assertThat(testResults.get(0).getSteps()) + assertThat(tr1.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.SKIPPED), - tuple("And b is 8", Status.SKIPPED), - tuple("When I add a to b", Status.SKIPPED), - tuple("Then result is 15", Status.SKIPPED) + tuple("Given a is 7", Status.SKIPPED), + tuple("And b is 8", Status.SKIPPED), + tuple("When I add a to b", Status.SKIPPED), + tuple("Then result is 15", Status.SKIPPED) ); } @@ -568,6 +571,42 @@ void shouldPersistDifferentHistoryIdComparedToTheSameTestCaseInDifferentLocation .isNotEqualTo(results2.getTestResults().get(0).getHistoryId()); } + @AllureFeatures.History + @Test + void shouldSetTestCaseIdForScenarios() { + final AllureResults results = runFeature("features/simple.feature"); + + final List testResults = results.getTestResults(); + assertThat(testResults) + .extracting(TestResult::getName, TestResult::getTestCaseId) + .containsExactlyInAnyOrder( + tuple( + "Add a to b", + md5("src/test/resources/features/simple.feature:Add a to b") + ) + ); + } + + @AllureFeatures.History + @Test + void shouldSetTestCaseIdForExamples() { + final AllureResults results = runFeature("features/examples.feature", "--threads", "2"); + + final List testResults = results.getTestResults(); + assertThat(testResults) + .extracting(TestResult::getName, TestResult::getTestCaseId) + .containsExactlyInAnyOrder( + tuple( + "Scenario with Positive Examples", + md5("src/test/resources/features/examples.feature:Scenario with Positive Examples") + ), + tuple( + "Scenario with Positive Examples", + md5("src/test/resources/features/examples.feature:Scenario with Positive Examples") + ) + ); + } + @AllureFeatures.Parallel @Test void shouldProcessScenariosInParallelMode() { @@ -579,30 +618,33 @@ void shouldProcessScenariosInParallelMode() { .hasSize(3); assertThat(testResults) - .extracting(testResult -> testResult.getSteps().stream().map(StepResult::getName).collect(Collectors.toList())) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) .containsSubsequence( - Arrays.asList("Given a is 1", - "And b is 3", - "When I add a to b", - "Then result is 4") + "Given a is 1", + "And b is 3", + "When I add a to b", + "Then result is 4" ); assertThat(testResults) - .extracting(testResult -> testResult.getSteps().stream().map(StepResult::getName).collect(Collectors.toList())) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) .containsSubsequence( - Arrays.asList("Given a is 2", - "And b is 4", - "When I add a to b", - "Then result is 6") + "Given a is 2", + "And b is 4", + "When I add a to b", + "Then result is 6" ); assertThat(testResults) - .extracting(testResult -> testResult.getSteps().stream().map(StepResult::getName).collect(Collectors.toList())) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) .containsSubsequence( - Arrays.asList("Given a is 7", - "And b is 8", - "When I add a to b", - "Then result is 15") + "Given a is 7", + "And b is 8", + "When I add a to b", + "Then result is 15" ); } @@ -613,64 +655,61 @@ void shouldDisplayHooksAsStages() { final AllureResults results = runFeature("features/hooks.feature", "-t", "@WithHooks or @BeforeHookWithException or @AfterHookWithException"); - final List testResults = results.getTestResults(); - assertThat(testResults) - .extracting(TestResult::getName, TestResult::getStatus) - .containsExactlyInAnyOrder( - tuple("Simple scenario with Before and After hooks", Status.PASSED), - tuple("Simple scenario with Before hook with Exception", Status.SKIPPED), - tuple("Simple scenario with After hook with Exception", Status.BROKEN) - ); + final TestResult tr1 = results.getTestResultByName("Simple scenario with Before and After hooks"); + final TestResult tr2 = results.getTestResultByName("Simple scenario with Before hook with Exception"); + final TestResult tr3 = results.getTestResultByName("Simple scenario with After hook with Exception"); - assertThat(testResults.get(0).getSteps()) + assertThat(tr1.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.PASSED), - tuple("And b is 8", Status.PASSED), - tuple("When I add a to b", Status.PASSED), - tuple("Then result is 15", Status.PASSED) + tuple("Given a is 7", Status.PASSED), + tuple("And b is 8", Status.PASSED), + tuple("When I add a to b", Status.PASSED), + tuple("Then result is 15", Status.PASSED) ); - - assertThat(results.getTestResultContainers().get(0).getBefores()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getBefores) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber5jvm.samples.HookSteps.beforeHook()", Status.PASSED) ); - assertThat(results.getTestResultContainers().get(0).getAfters()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getAfters) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber5jvm.samples.HookSteps.afterHook()", Status.PASSED) ); - assertThat(testResults.get(1).getSteps()) + assertThat(tr2.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.SKIPPED), - tuple("And b is 8", Status.SKIPPED), - tuple("When I add a to b", Status.SKIPPED), - tuple("Then result is 15", Status.SKIPPED) + tuple("Given a is 7", Status.SKIPPED), + tuple("And b is 8", Status.SKIPPED), + tuple("When I add a to b", Status.SKIPPED), + tuple("Then result is 15", Status.SKIPPED) ); - assertThat(results.getTestResultContainers().get(1).getBefores()) + assertThat(results.getTestResultContainersForTestResult(tr2)) + .flatExtracting(TestResultContainer::getBefores) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber5jvm.samples.HookSteps.beforeHookWithException()", Status.FAILED) ); - - assertThat(testResults.get(2).getSteps()) + assertThat(tr3.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.PASSED), - tuple("And b is 8", Status.PASSED), - tuple("When I add a to b", Status.PASSED), - tuple("Then result is 15", Status.PASSED) + tuple("Given a is 7", Status.PASSED), + tuple("And b is 8", Status.PASSED), + tuple("When I add a to b", Status.PASSED), + tuple("Then result is 15", Status.PASSED) ); - assertThat(results.getTestResultContainers().get(2).getAfters()) + assertThat(results.getTestResultContainersForTestResult(tr3)) + .flatExtracting(TestResultContainer::getAfters) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber5jvm.samples.HookSteps.afterHookWithException()", Status.FAILED) @@ -687,14 +726,14 @@ void shouldHandleAmbigiousStepsExceptions() { assertThat(testResults) .extracting(TestResult::getName, TestResult::getStatus) .containsExactlyInAnyOrder( - tuple("Simple scenario with ambigious steps", Status.SKIPPED) + tuple("Simple scenario with ambigious steps", null) ); assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactly( - tuple("When ambigious step present", null), - tuple("Then something bad should happen", Status.SKIPPED) + tuple("When ambigious step present", null), + tuple("Then something bad should happen", Status.SKIPPED) ); } @@ -714,6 +753,36 @@ void shouldSupportProvidedLabels() { ); } + @Test + void shouldSupportRuntimeApiInStepsWhenHooksAreUsed() { + final AllureResults results = runFeature("features/runtimeapi.feature"); + + final List testResults = results.getTestResults(); + + assertThat(testResults) + .hasSize(1) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) + .containsExactly( + "When step 1", + "When step 2", + "And step 3", + "Then step 4", + "And step 5" + ); + + assertThat(testResults) + .flatExtracting(TestResult::getLinks) + .extracting(Link::getName, Link::getUrl) + .containsExactly( + tuple("step1", "https://example.org/step1"), + tuple("step2", "https://example.org/step2"), + tuple("step3", "https://example.org/step3"), + tuple("step4", "https://example.org/step4"), + tuple("step5", "https://example.org/step5") + ); + } + @SystemProperty(name = "cucumber.junit-platform.naming-strategy", value = "long") @Step private AllureResults runFeature(final String featureResource, diff --git a/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/RuntimeApiSteps.java b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/RuntimeApiSteps.java new file mode 100644 index 000000000..20c73a7fa --- /dev/null +++ b/allure-cucumber5-jvm/src/test/java/io/qameta/allure/cucumber5jvm/samples/RuntimeApiSteps.java @@ -0,0 +1,83 @@ +/* + * Copyright 2016-2024 Qameta Software Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.qameta.allure.cucumber5jvm.samples; + +import io.cucumber.java.Before; +import io.cucumber.java.en.And; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; +import io.qameta.allure.Allure; + +/** + * @author charlie (Dmitry Baev). + */ +public class RuntimeApiSteps { + + @Before("@beforeScenario") + public void beforeScenario(){ + // nothing + } + + @Before("@beforeFeature") + public void beforeFeature(){ + // nothing + } + + @When("^step 1$") + public void step1() { + Allure.step("step1 nested"); + Allure.link("step1", "https://example.org/step1"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step1: " + uuid); + }); + } + + @When("^step 2$") + public void step2() { + Allure.step("step2 nested"); + Allure.link("step2", "https://example.org/step2"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step2: " + uuid); + }); + } + + @And("^step 3$") + public void step3() { + Allure.step("step3 nested"); + Allure.link("step3", "https://example.org/step3"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step3: " + uuid); + }); + } + + @Then("^step 4$") + public void step4() { + Allure.step("step4 nested"); + Allure.link("step4", "https://example.org/step4"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step4: " + uuid); + }); + } + + @And("^step 5$") + public void step5() { + Allure.step("step5 nested"); + Allure.link("step5", "https://example.org/step5"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step5: " + uuid); + }); + } +} diff --git a/allure-cucumber5-jvm/src/test/resources/features/runtimeapi.feature b/allure-cucumber5-jvm/src/test/resources/features/runtimeapi.feature new file mode 100644 index 000000000..ec43eccb7 --- /dev/null +++ b/allure-cucumber5-jvm/src/test/resources/features/runtimeapi.feature @@ -0,0 +1,10 @@ +@beforeFeature +Feature: Should support runtime API in all steps + + @beforeScenario + Scenario: Scenario with Runtime API usage + When step 1 + When step 2 + And step 3 + Then step 4 + And step 5 diff --git a/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/AllureCucumber6Jvm.java b/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/AllureCucumber6Jvm.java index fba287315..bb0e513bf 100644 --- a/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/AllureCucumber6Jvm.java +++ b/allure-cucumber6-jvm/src/main/java/io/qameta/allure/cucumber6jvm/AllureCucumber6Jvm.java @@ -28,6 +28,7 @@ import io.cucumber.plugin.event.HookType; import io.cucumber.plugin.event.PickleStepTestStep; import io.cucumber.plugin.event.Result; +import io.cucumber.plugin.event.Step; import io.cucumber.plugin.event.StepArgument; import io.cucumber.plugin.event.TestCase; import io.cucumber.plugin.event.TestCaseFinished; @@ -48,13 +49,13 @@ import io.qameta.allure.model.TestResultContainer; import java.io.ByteArrayInputStream; -import java.net.URI; import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.util.Collections; import java.util.Deque; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.UUID; @@ -78,17 +79,12 @@ }) public class AllureCucumber6Jvm implements ConcurrentEventListener { + private static final String COLON = ":"; + private final AllureLifecycle lifecycle; - private final ConcurrentHashMap scenarioUuids = new ConcurrentHashMap<>(); private final TestSourcesModelProxy testSources = new TestSourcesModelProxy(); - private final ThreadLocal currentFeature = new InheritableThreadLocal<>(); - private final ThreadLocal currentFeatureFile = new InheritableThreadLocal<>(); - private final ThreadLocal currentTestCase = new InheritableThreadLocal<>(); - private final ThreadLocal currentContainer = new InheritableThreadLocal<>(); - private final ThreadLocal forbidTestCaseStatusChange = new InheritableThreadLocal<>(); - private final EventHandler featureStartedHandler = this::handleFeatureStartedHandler; private final EventHandler caseStartedHandler = this::handleTestCaseStarted; private final EventHandler caseFinishedHandler = this::handleTestCaseFinished; @@ -97,6 +93,8 @@ public class AllureCucumber6Jvm implements ConcurrentEventListener { private final EventHandler writeEventHandler = this::handleWriteEvent; private final EventHandler embedEventHandler = this::handleEmbedEvent; + private final Map hookStepContainerUuid = new ConcurrentHashMap<>(); + private static final String TXT_EXTENSION = ".txt"; private static final String TEXT_PLAIN = "text/plain"; private static final String CUCUMBER_WORKING_DIR = Paths.get("").toUri().getSchemeSpecificPart(); @@ -110,9 +108,6 @@ public AllureCucumber6Jvm(final AllureLifecycle lifecycle) { this.lifecycle = lifecycle; } - /* - Event Handlers - */ @Override public void setEventPublisher(final EventPublisher publisher) { publisher.registerHandlerFor(TestSourceRead.class, featureStartedHandler); @@ -132,29 +127,28 @@ private void handleFeatureStartedHandler(final TestSourceRead event) { } private void handleTestCaseStarted(final TestCaseStarted event) { - currentFeatureFile.set(event.getTestCase().getUri()); - currentFeature.set(testSources.getFeature(currentFeatureFile.get())); - currentTestCase.set(event.getTestCase()); - currentContainer.set(UUID.randomUUID().toString()); - forbidTestCaseStatusChange.set(false); + final TestCase testCase = event.getTestCase(); + final Feature feature = testSources.getFeature(testCase.getUri()); - final TestCase testCase = currentTestCase.get(); final Deque tags = new LinkedList<>(testCase.getTags()); - - final Feature feature = currentFeature.get(); final LabelBuilder labelBuilder = new LabelBuilder(feature, testCase, tags); final String name = testCase.getName(); + + // the same way full name is generated for // org.junit.platform.engine.support.descriptor.ClasspathResourceSource // to support io.qameta.allure.junitplatform.AllurePostDiscoveryFilter final String fullName = String.format("%s:%d", - getTestCaseUri(event.getTestCase()), - event.getTestCase().getLocation().getLine() + getTestCaseUri(testCase), + testCase.getLocation().getLine() ); + final String testCaseUuid = testCase.getId().toString(); + final TestResult result = new TestResult() - .setUuid(getTestCaseUuid(testCase)) + .setUuid(testCaseUuid) + .setTestCaseId(getTestCaseId(testCase)) .setHistoryId(getHistoryId(testCase)) .setFullName(fullName) .setName(name) @@ -163,11 +157,11 @@ private void handleTestCaseStarted(final TestCaseStarted event) { final Scenario scenarioDefinition = testSources.getScenarioDefinition( - currentFeatureFile.get(), + testCase.getUri(), testCase.getLocation().getLine() ); - if (scenarioDefinition.getExamplesCount() > 0) { + if (scenarioDefinition.getExamplesList() != null) { result.setParameters( getExamplesAsParameters(scenarioDefinition, testCase) ); @@ -182,75 +176,121 @@ private void handleTestCaseStarted(final TestCaseStarted event) { result.setDescription(description); } - final TestResultContainer resultContainer = new TestResultContainer() - .setName(String.format("%s: %s", scenarioDefinition.getKeyword(), scenarioDefinition.getName())) - .setUuid(getTestContainerUuid()) - .setChildren(Collections.singletonList(getTestCaseUuid(testCase))); - lifecycle.scheduleTestCase(result); - lifecycle.startTestContainer(getTestContainerUuid(), resultContainer); - lifecycle.startTestCase(getTestCaseUuid(testCase)); + lifecycle.startTestCase(testCaseUuid); } private void handleTestCaseFinished(final TestCaseFinished event) { + final TestCase testCase = event.getTestCase(); + final Feature feature = testSources.getFeature(testCase.getUri()); + final String uuid = testCase.getId().toString(); + final Result result = event.getResult(); + final Status status = translateTestCaseStatus(result); + final StatusDetails statusDetails = getStatusDetails(result.getError()) + .orElseGet(StatusDetails::new); + + final TagParser tagParser = new TagParser(feature, testCase); + statusDetails + .setFlaky(tagParser.isFlaky()) + .setMuted(tagParser.isMuted()) + .setKnown(tagParser.isKnown()); + + lifecycle.updateTestCase(uuid, testResult -> testResult + .setStatus(status) + .setStatusDetails(statusDetails) + ); - final String uuid = getTestCaseUuid(event.getTestCase()); - final Optional details = getStatusDetails(event.getResult().getError()); - details.ifPresent(statusDetails -> lifecycle.updateTestCase( - uuid, - testResult -> testResult.setStatusDetails(statusDetails) - )); lifecycle.stopTestCase(uuid); - lifecycle.stopTestContainer(getTestContainerUuid()); lifecycle.writeTestCase(uuid); - lifecycle.writeTestContainer(getTestContainerUuid()); } private void handleTestStepStarted(final TestStepStarted event) { - if (event.getTestStep() instanceof PickleStepTestStep) { - final PickleStepTestStep pickleStep = (PickleStepTestStep) event.getTestStep(); - final String stepKeyword = Optional.ofNullable( - testSources.getKeywordFromSource(currentFeatureFile.get(), pickleStep.getStep().getLine()) - ).orElse("UNDEFINED"); - - final StepResult stepResult = new StepResult() - .setName(String.format("%s %s", stepKeyword, pickleStep.getStep().getText())) - .setStart(System.currentTimeMillis()); - - lifecycle.startStep(getTestCaseUuid(currentTestCase.get()), getStepUuid(pickleStep), stepResult); + final TestCase testCase = event.getTestCase(); + if (event.getTestStep() instanceof HookTestStep) { + final HookTestStep hook = (HookTestStep) event.getTestStep(); - final StepArgument stepArgument = pickleStep.getStep().getArgument(); - if (stepArgument instanceof DataTableArgument) { - final DataTableArgument dataTableArgument = (DataTableArgument) stepArgument; - createDataTableAttachment(dataTableArgument); + if (isFixtureHook(hook)) { + handleStartFixtureHook(testCase, hook); + } else { + handleStartStepHook(testCase, hook); } - } else if (event.getTestStep() instanceof HookTestStep) { - initHook((HookTestStep) event.getTestStep()); + } else if (event.getTestStep() instanceof PickleStepTestStep) { + handleStartPickleStep(testCase, (PickleStepTestStep) event.getTestStep()); } } - private void initHook(final HookTestStep hook) { + private void handleStartPickleStep(final TestCase testCase, + final PickleStepTestStep pickleStep) { + final String uuid = testCase.getId().toString(); + final Step step = pickleStep.getStep(); - final FixtureResult hookResult = new FixtureResult() + final StepResult stepResult = new StepResult() + .setName(step.getKeyword() + step.getText()) + .setStart(System.currentTimeMillis()); + + lifecycle.setCurrentTestCase(uuid); + lifecycle.startStep(uuid, pickleStep.getId().toString(), stepResult); + + final StepArgument stepArgument = step.getArgument(); + if (stepArgument instanceof DataTableArgument) { + final DataTableArgument dataTableArgument = (DataTableArgument) stepArgument; + createDataTableAttachment(dataTableArgument); + } + } + + private void handleStartStepHook(final TestCase testCase, + final HookTestStep hook) { + final String uuid = testCase.getId().toString(); + final StepResult stepResult = new StepResult() .setName(hook.getCodeLocation()) .setStart(System.currentTimeMillis()); + lifecycle.setCurrentTestCase(uuid); + lifecycle.startStep(uuid, hook.getId().toString(), stepResult); + } + + private void handleStartFixtureHook(final TestCase testCase, + final HookTestStep hook) { + final String uuid = testCase.getId().toString(); + + final UUID hookId = hook.getId(); + final String containerUuid = hookStepContainerUuid + .computeIfAbsent(hookId, unused -> UUID.randomUUID().toString()); + + lifecycle.startTestContainer(new TestResultContainer() + .setUuid(containerUuid) + .setChildren(Collections.singletonList(uuid)) + ); + + final FixtureResult hookResult = new FixtureResult() + .setName(hook.getCodeLocation()); + + final String fixtureUuid = hookId.toString(); if (hook.getHookType() == HookType.BEFORE) { - lifecycle.startPrepareFixture(getTestContainerUuid(), getHookStepUuid(hook), hookResult); + lifecycle.startPrepareFixture(containerUuid, fixtureUuid, hookResult); } else { - lifecycle.startTearDownFixture(getTestContainerUuid(), getHookStepUuid(hook), hookResult); + lifecycle.startTearDownFixture(containerUuid, fixtureUuid, hookResult); } - } private void handleTestStepFinished(final TestStepFinished event) { if (event.getTestStep() instanceof HookTestStep) { - handleHookStep(event); - } else { - handlePickleStep(event); + final HookTestStep hook = (HookTestStep) event.getTestStep(); + if (isFixtureHook(hook)) { + handleStopHookStep(event.getResult(), hook); + } else { + handleStopStep(event.getTestCase(), event.getResult(), hook.getId()); + } + } else if (event.getTestStep() instanceof PickleStepTestStep) { + final PickleStepTestStep pickleStep = (PickleStepTestStep) event.getTestStep(); + handleStopStep(event.getTestCase(), event.getResult(), pickleStep.getId()); } } + private static boolean isFixtureHook(final HookTestStep hook) { + return hook.getHookType() == HookType.BEFORE || hook.getHookType() == HookType.AFTER; + } + private void handleWriteEvent(final WriteEvent event) { lifecycle.addAttachment( "Text output", @@ -264,33 +304,16 @@ private void handleEmbedEvent(final EmbedEvent event) { lifecycle.addAttachment(event.name, event.getMediaType(), null, new ByteArrayInputStream(event.getData())); } - /* - Utility Methods - */ - - private String getTestContainerUuid() { - return currentContainer.get(); - } - - private String getTestCaseUuid(final TestCase testCase) { - return scenarioUuids.computeIfAbsent(getHistoryId(testCase), it -> UUID.randomUUID().toString()); - } - - private String getStepUuid(final PickleStepTestStep step) { - return currentFeature.get().getName() + getTestCaseUuid(currentTestCase.get()) - + step.getStep().getText() + step.getStep().getLine(); - } - - private String getHookStepUuid(final HookTestStep step) { - return currentFeature.get().getName() + getTestCaseUuid(currentTestCase.get()) - + step.getHookType().toString() + step.getCodeLocation(); - } - private String getHistoryId(final TestCase testCase) { - final String testCaseLocation = getTestCaseUri(testCase) + ":" + testCase.getLocation().getLine(); + final String testCaseLocation = getTestCaseUri(testCase) + COLON + testCase.getLocation().getLine(); return md5(testCaseLocation); } + private String getTestCaseId(final TestCase testCase) { + final String testCaseId = getTestCaseUri(testCase) + COLON + testCase.getName(); + return md5(testCaseId); + } + private String getTestCaseUri(final TestCase testCase) { final String testCaseUri = testCase.getUri().getSchemeSpecificPart(); if (testCaseUri.startsWith(CUCUMBER_WORKING_DIR)) { @@ -317,8 +340,8 @@ private Status translateTestCaseStatus(final Result testCaseResult) { } private List getExamplesAsParameters( - final Scenario scenario, final TestCase localCurrentTestCase - ) { + final Scenario scenario, + final TestCase localCurrentTestCase) { final Optional maybeExample = scenario.getExamplesList().stream() .filter(example -> example.getTableBodyList().stream() @@ -374,83 +397,56 @@ private void createDataTableAttachment(final DataTableArgument dataTableArgument new ByteArrayInputStream(dataTableCsv.toString().getBytes(StandardCharsets.UTF_8))); } - private void handleHookStep(final TestStepFinished event) { - final HookTestStep hookStep = (HookTestStep) event.getTestStep(); - final String uuid = getHookStepUuid(hookStep); - final FixtureResult fixtureResult = new FixtureResult().setStatus(translateTestCaseStatus(event.getResult())); - - if (!Status.PASSED.equals(fixtureResult.getStatus())) { - final TestResult testResult = new TestResult().setStatus(translateTestCaseStatus(event.getResult())); - final StatusDetails statusDetails = getStatusDetails(event.getResult().getError()) - .orElseGet(StatusDetails::new); - - final String errorMessage = event.getResult().getError() == null - ? hookStep.getHookType().name() + " is failed." - : hookStep.getHookType().name() - + " is failed: " - + event.getResult().getError().getLocalizedMessage(); - statusDetails.setMessage(errorMessage); - - if (hookStep.getHookType() == HookType.BEFORE) { - final TagParser tagParser = new TagParser(currentFeature.get(), currentTestCase.get()); - statusDetails - .setFlaky(tagParser.isFlaky()) - .setMuted(tagParser.isMuted()) - .setKnown(tagParser.isKnown()); - testResult.setStatus(Status.SKIPPED); - updateTestCaseStatus(testResult.getStatus()); - forbidTestCaseStatusChange.set(true); - } else { - testResult.setStatus(Status.BROKEN); - updateTestCaseStatus(testResult.getStatus()); - } - fixtureResult.setStatusDetails(statusDetails); + private void handleStopHookStep(final Result eventResult, + final HookTestStep hook) { + final String containerUuid = hookStepContainerUuid.get(hook.getId()); + if (Objects.isNull(containerUuid)) { + // maybe throw an exception? + return; } - lifecycle.updateFixture(uuid, result -> result.setStatus(fixtureResult.getStatus()) - .setStatusDetails(fixtureResult.getStatusDetails())); + final String uuid = hook.getId().toString(); + + final Status status = translateTestCaseStatus(eventResult); + final StatusDetails statusDetails = getStatusDetails(eventResult.getError()) + .orElseGet(StatusDetails::new); + + lifecycle.updateFixture(uuid, result -> result + .setStatus(status) + .setStatusDetails(statusDetails) + ); lifecycle.stopFixture(uuid); - } - private void handlePickleStep(final TestStepFinished event) { + lifecycle.stopTestContainer(containerUuid); + lifecycle.writeTestContainer(containerUuid); + } - final Status stepStatus = translateTestCaseStatus(event.getResult()); - final StatusDetails statusDetails; - if (event.getResult().getStatus() == io.cucumber.plugin.event.Status.UNDEFINED) { - updateTestCaseStatus(Status.PASSED); + private void handleStopStep(final TestCase testCase, + final Result eventResult, + final UUID stepId) { + final Feature feature = testSources.getFeature(testCase.getUri()); - statusDetails = - getStatusDetails(new IllegalStateException("Undefined Step. Please add step definition")) - .orElse(new StatusDetails()); - lifecycle.updateTestCase(getTestCaseUuid(currentTestCase.get()), scenarioResult -> - scenarioResult - .setStatusDetails(statusDetails)); - } else { - statusDetails = - getStatusDetails(event.getResult().getError()) - .orElse(new StatusDetails()); - updateTestCaseStatus(stepStatus); - } + final Status stepStatus = translateTestCaseStatus(eventResult); - if (!Status.PASSED.equals(stepStatus) && stepStatus != null) { - forbidTestCaseStatusChange.set(true); - } + final StatusDetails statusDetails + = eventResult.getStatus() == io.cucumber.plugin.event.Status.UNDEFINED + ? new StatusDetails().setMessage("Undefined Step. Please add step definition") + : getStatusDetails(eventResult.getError()) + .orElse(new StatusDetails()); - final TagParser tagParser = new TagParser(currentFeature.get(), currentTestCase.get()); + final TagParser tagParser = new TagParser(feature, testCase); statusDetails .setFlaky(tagParser.isFlaky()) .setMuted(tagParser.isMuted()) .setKnown(tagParser.isKnown()); - lifecycle.updateStep(getStepUuid((PickleStepTestStep) event.getTestStep()), - stepResult -> stepResult.setStatus(stepStatus).setStatusDetails(statusDetails)); - lifecycle.stopStep(getStepUuid((PickleStepTestStep) event.getTestStep())); - } - - private void updateTestCaseStatus(final Status status) { - if (!forbidTestCaseStatusChange.get()) { - lifecycle.updateTestCase(getTestCaseUuid(currentTestCase.get()), - result -> result.setStatus(status)); - } + final String stepUuid = stepId.toString(); + lifecycle.updateStep( + stepUuid, + stepResult -> stepResult + .setStatus(stepStatus) + .setStatusDetails(statusDetails) + ); + lifecycle.stopStep(stepUuid); } } diff --git a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java index e742aeb02..8cfbd31bf 100644 --- a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java +++ b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/AllureCucumber6JvmTest.java @@ -37,6 +37,7 @@ import io.qameta.allure.model.StatusDetails; import io.qameta.allure.model.StepResult; import io.qameta.allure.model.TestResult; +import io.qameta.allure.model.TestResultContainer; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; import io.qameta.allure.test.RunUtils; @@ -59,6 +60,7 @@ import static io.qameta.allure.util.ResultsUtils.PACKAGE_LABEL_NAME; import static io.qameta.allure.util.ResultsUtils.SUITE_LABEL_NAME; import static io.qameta.allure.util.ResultsUtils.TEST_CLASS_LABEL_NAME; +import static io.qameta.allure.util.ResultsUtils.md5; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.tuple; import static org.junit.jupiter.api.parallel.ResourceAccessMode.READ_WRITE; @@ -87,8 +89,10 @@ void shouldSetStatus() { final List testResults = results.getTestResults(); assertThat(testResults) - .extracting(TestResult::getStatus) - .containsExactlyInAnyOrder(Status.PASSED); + .extracting(TestResult::getName, TestResult::getStatus) + .containsExactlyInAnyOrder( + tuple("Add a to b", Status.PASSED) + ); } @AllureFeatures.FailedTests @@ -282,10 +286,10 @@ void shouldAddBackgroundSteps() { .flatExtracting(TestResult::getSteps) .extracting(StepResult::getName) .containsExactly( - "Given cat is sad", - "And cat is murmur", - "When Pet the cat", - "Then Cat is happy" + "Given cat is sad", + "And cat is murmur", + "When Pet the cat", + "Then Cat is happy" ); } @@ -447,15 +451,17 @@ void shouldProcessUndefinedSteps() { final List testResults = results.getTestResults(); assertThat(testResults) - .extracting(TestResult::getStatus) - .containsExactlyInAnyOrder(Status.SKIPPED); + .extracting(TestResult::getName, TestResult::getStatus) + .containsExactlyInAnyOrder( + tuple("Step is not defined", null) + ); assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 5", Status.PASSED), - tuple("When step is undefined", null), - tuple("Then b is 10", Status.SKIPPED) + tuple("Given a is 5", Status.PASSED), + tuple("When step is undefined", null), + tuple("Then b is 10", Status.SKIPPED) ); } @@ -473,9 +479,9 @@ void shouldProcessPendingExceptionsInSteps() { assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 5", Status.PASSED), - tuple("When step is yet to be implemented", Status.SKIPPED), - tuple("Then b is 10", Status.SKIPPED) + tuple("Given a is 5", Status.PASSED), + tuple("When step is yet to be implemented", Status.SKIPPED), + tuple("Then b is 10", Status.SKIPPED) ); } @@ -494,10 +500,10 @@ void shouldSupportDryRunForSimpleFeatures() { assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 5", Status.PASSED), - tuple("And b is 10", Status.PASSED), - tuple("When I add a to b", Status.PASSED), - tuple("Then result is 15", Status.PASSED) + tuple("Given a is 5", Status.PASSED), + tuple("And b is 10", Status.PASSED), + tuple("When I add a to b", Status.PASSED), + tuple("Then result is 15", Status.PASSED) ); } @@ -508,32 +514,29 @@ void shouldSupportDryRunForHooks() { final AllureResults results = runFeature("features/hooks.feature", "--dry-run", "-t", "@WithHooks or @BeforeHookWithException or @AfterHookWithException"); - final List testResults = results.getTestResults(); - assertThat(testResults) - .extracting(TestResult::getName, TestResult::getStatus) - .startsWith( - tuple("Simple scenario with Before and After hooks", Status.PASSED) - ); + final TestResult tr1 = results.getTestResultByName("Simple scenario with Before and After hooks"); - assertThat(results.getTestResultContainers().get(0).getBefores()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getBefores) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber6jvm.samples.HookSteps.beforeHook()", Status.PASSED) ); - assertThat(results.getTestResultContainers().get(0).getAfters()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getAfters) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber6jvm.samples.HookSteps.afterHook()", Status.PASSED) ); - assertThat(testResults.get(0).getSteps()) + assertThat(tr1.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.PASSED), - tuple("And b is 8", Status.PASSED), - tuple("When I add a to b", Status.PASSED), - tuple("Then result is 15", Status.PASSED) + tuple("Given a is 7", Status.PASSED), + tuple("And b is 8", Status.PASSED), + tuple("When I add a to b", Status.PASSED), + tuple("Then result is 15", Status.PASSED) ); } @@ -568,6 +571,42 @@ void shouldPersistDifferentHistoryIdComparedToTheSameTestCaseInDifferentLocation .isNotEqualTo(results2.getTestResults().get(0).getHistoryId()); } + @AllureFeatures.History + @Test + void shouldSetTestCaseIdForScenarios() { + final AllureResults results = runFeature("features/simple.feature"); + + final List testResults = results.getTestResults(); + assertThat(testResults) + .extracting(TestResult::getName, TestResult::getTestCaseId) + .containsExactlyInAnyOrder( + tuple( + "Add a to b", + md5("src/test/resources/features/simple.feature:Add a to b") + ) + ); + } + + @AllureFeatures.History + @Test + void shouldSetTestCaseIdForExamples() { + final AllureResults results = runFeature("features/examples.feature", "--threads", "2"); + + final List testResults = results.getTestResults(); + assertThat(testResults) + .extracting(TestResult::getName, TestResult::getTestCaseId) + .containsExactlyInAnyOrder( + tuple( + "Scenario with Positive Examples", + md5("src/test/resources/features/examples.feature:Scenario with Positive Examples") + ), + tuple( + "Scenario with Positive Examples", + md5("src/test/resources/features/examples.feature:Scenario with Positive Examples") + ) + ); + } + @AllureFeatures.Parallel @Test void shouldProcessScenariosInParallelMode() { @@ -579,30 +618,33 @@ void shouldProcessScenariosInParallelMode() { .hasSize(3); assertThat(testResults) - .extracting(testResult -> testResult.getSteps().stream().map(StepResult::getName).collect(Collectors.toList())) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) .containsSubsequence( - Arrays.asList("Given a is 1", - "And b is 3", - "When I add a to b", - "Then result is 4") + "Given a is 1", + "And b is 3", + "When I add a to b", + "Then result is 4" ); assertThat(testResults) - .extracting(testResult -> testResult.getSteps().stream().map(StepResult::getName).collect(Collectors.toList())) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) .containsSubsequence( - Arrays.asList("Given a is 2", - "And b is 4", - "When I add a to b", - "Then result is 6") + "Given a is 2", + "And b is 4", + "When I add a to b", + "Then result is 6" ); assertThat(testResults) - .extracting(testResult -> testResult.getSteps().stream().map(StepResult::getName).collect(Collectors.toList())) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) .containsSubsequence( - Arrays.asList("Given a is 7", - "And b is 8", - "When I add a to b", - "Then result is 15") + "Given a is 7", + "And b is 8", + "When I add a to b", + "Then result is 15" ); } @@ -613,64 +655,61 @@ void shouldDisplayHooksAsStages() { final AllureResults results = runFeature("features/hooks.feature", "-t", "@WithHooks or @BeforeHookWithException or @AfterHookWithException"); - final List testResults = results.getTestResults(); - assertThat(testResults) - .extracting(TestResult::getName, TestResult::getStatus) - .containsExactlyInAnyOrder( - tuple("Simple scenario with Before and After hooks", Status.PASSED), - tuple("Simple scenario with Before hook with Exception", Status.SKIPPED), - tuple("Simple scenario with After hook with Exception", Status.BROKEN) - ); + final TestResult tr1 = results.getTestResultByName("Simple scenario with Before and After hooks"); + final TestResult tr2 = results.getTestResultByName("Simple scenario with Before hook with Exception"); + final TestResult tr3 = results.getTestResultByName("Simple scenario with After hook with Exception"); - assertThat(testResults.get(0).getSteps()) + assertThat(tr1.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.PASSED), - tuple("And b is 8", Status.PASSED), - tuple("When I add a to b", Status.PASSED), - tuple("Then result is 15", Status.PASSED) + tuple("Given a is 7", Status.PASSED), + tuple("And b is 8", Status.PASSED), + tuple("When I add a to b", Status.PASSED), + tuple("Then result is 15", Status.PASSED) ); - - assertThat(results.getTestResultContainers().get(0).getBefores()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getBefores) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber6jvm.samples.HookSteps.beforeHook()", Status.PASSED) ); - assertThat(results.getTestResultContainers().get(0).getAfters()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getAfters) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber6jvm.samples.HookSteps.afterHook()", Status.PASSED) ); - assertThat(testResults.get(1).getSteps()) + assertThat(tr2.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.SKIPPED), - tuple("And b is 8", Status.SKIPPED), - tuple("When I add a to b", Status.SKIPPED), - tuple("Then result is 15", Status.SKIPPED) + tuple("Given a is 7", Status.SKIPPED), + tuple("And b is 8", Status.SKIPPED), + tuple("When I add a to b", Status.SKIPPED), + tuple("Then result is 15", Status.SKIPPED) ); - assertThat(results.getTestResultContainers().get(1).getBefores()) + assertThat(results.getTestResultContainersForTestResult(tr2)) + .flatExtracting(TestResultContainer::getBefores) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber6jvm.samples.HookSteps.beforeHookWithException()", Status.FAILED) ); - - assertThat(testResults.get(2).getSteps()) + assertThat(tr3.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.PASSED), - tuple("And b is 8", Status.PASSED), - tuple("When I add a to b", Status.PASSED), - tuple("Then result is 15", Status.PASSED) + tuple("Given a is 7", Status.PASSED), + tuple("And b is 8", Status.PASSED), + tuple("When I add a to b", Status.PASSED), + tuple("Then result is 15", Status.PASSED) ); - assertThat(results.getTestResultContainers().get(2).getAfters()) + assertThat(results.getTestResultContainersForTestResult(tr3)) + .flatExtracting(TestResultContainer::getAfters) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber6jvm.samples.HookSteps.afterHookWithException()", Status.FAILED) @@ -687,14 +726,14 @@ void shouldHandleAmbigiousStepsExceptions() { assertThat(testResults) .extracting(TestResult::getName, TestResult::getStatus) .containsExactlyInAnyOrder( - tuple("Simple scenario with ambigious steps", Status.SKIPPED) + tuple("Simple scenario with ambigious steps", null) ); assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactly( - tuple("When ambigious step present", null), - tuple("Then something bad should happen", Status.SKIPPED) + tuple("When ambigious step present", null), + tuple("Then something bad should happen", Status.SKIPPED) ); } @@ -714,6 +753,36 @@ void shouldSupportProvidedLabels() { ); } + @Test + void shouldSupportRuntimeApiInStepsWhenHooksAreUsed() { + final AllureResults results = runFeature("features/runtimeapi.feature"); + + final List testResults = results.getTestResults(); + + assertThat(testResults) + .hasSize(1) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) + .containsExactly( + "When step 1", + "When step 2", + "And step 3", + "Then step 4", + "And step 5" + ); + + assertThat(testResults) + .flatExtracting(TestResult::getLinks) + .extracting(Link::getName, Link::getUrl) + .containsExactly( + tuple("step1", "https://example.org/step1"), + tuple("step2", "https://example.org/step2"), + tuple("step3", "https://example.org/step3"), + tuple("step4", "https://example.org/step4"), + tuple("step5", "https://example.org/step5") + ); + } + @SystemProperty(name = "cucumber.junit-platform.naming-strategy", value = "long") @Step private AllureResults runFeature(final String featureResource, diff --git a/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/RuntimeApiSteps.java b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/RuntimeApiSteps.java new file mode 100644 index 000000000..c769404ef --- /dev/null +++ b/allure-cucumber6-jvm/src/test/java/io/qameta/allure/cucumber6jvm/samples/RuntimeApiSteps.java @@ -0,0 +1,83 @@ +/* + * Copyright 2016-2024 Qameta Software Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.qameta.allure.cucumber6jvm.samples; + +import io.cucumber.java.Before; +import io.cucumber.java.en.And; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; +import io.qameta.allure.Allure; + +/** + * @author charlie (Dmitry Baev). + */ +public class RuntimeApiSteps { + + @Before("@beforeScenario") + public void beforeScenario(){ + // nothing + } + + @Before("@beforeFeature") + public void beforeFeature(){ + // nothing + } + + @When("^step 1$") + public void step1() { + Allure.step("step1 nested"); + Allure.link("step1", "https://example.org/step1"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step1: " + uuid); + }); + } + + @When("^step 2$") + public void step2() { + Allure.step("step2 nested"); + Allure.link("step2", "https://example.org/step2"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step2: " + uuid); + }); + } + + @And("^step 3$") + public void step3() { + Allure.step("step3 nested"); + Allure.link("step3", "https://example.org/step3"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step3: " + uuid); + }); + } + + @Then("^step 4$") + public void step4() { + Allure.step("step4 nested"); + Allure.link("step4", "https://example.org/step4"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step4: " + uuid); + }); + } + + @And("^step 5$") + public void step5() { + Allure.step("step5 nested"); + Allure.link("step5", "https://example.org/step5"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step5: " + uuid); + }); + } +} diff --git a/allure-cucumber6-jvm/src/test/resources/features/runtimeapi.feature b/allure-cucumber6-jvm/src/test/resources/features/runtimeapi.feature new file mode 100644 index 000000000..ec43eccb7 --- /dev/null +++ b/allure-cucumber6-jvm/src/test/resources/features/runtimeapi.feature @@ -0,0 +1,10 @@ +@beforeFeature +Feature: Should support runtime API in all steps + + @beforeScenario + Scenario: Scenario with Runtime API usage + When step 1 + When step 2 + And step 3 + Then step 4 + And step 5 diff --git a/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/AllureCucumber7Jvm.java b/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/AllureCucumber7Jvm.java index f5cf815e4..5f85512fd 100644 --- a/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/AllureCucumber7Jvm.java +++ b/allure-cucumber7-jvm/src/main/java/io/qameta/allure/cucumber7jvm/AllureCucumber7Jvm.java @@ -18,6 +18,7 @@ import io.cucumber.messages.types.Examples; import io.cucumber.messages.types.Feature; import io.cucumber.messages.types.Scenario; +import io.cucumber.messages.types.TableCell; import io.cucumber.messages.types.TableRow; import io.cucumber.plugin.ConcurrentEventListener; import io.cucumber.plugin.event.DataTableArgument; @@ -28,6 +29,7 @@ import io.cucumber.plugin.event.HookType; import io.cucumber.plugin.event.PickleStepTestStep; import io.cucumber.plugin.event.Result; +import io.cucumber.plugin.event.Step; import io.cucumber.plugin.event.StepArgument; import io.cucumber.plugin.event.TestCase; import io.cucumber.plugin.event.TestCaseFinished; @@ -48,13 +50,13 @@ import io.qameta.allure.model.TestResultContainer; import java.io.ByteArrayInputStream; -import java.net.URI; import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.util.Collections; import java.util.Deque; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.UUID; @@ -78,17 +80,12 @@ }) public class AllureCucumber7Jvm implements ConcurrentEventListener { + private static final String COLON = ":"; + private final AllureLifecycle lifecycle; - private final ConcurrentHashMap scenarioUuids = new ConcurrentHashMap<>(); private final TestSourcesModelProxy testSources = new TestSourcesModelProxy(); - private final ThreadLocal currentFeature = new InheritableThreadLocal<>(); - private final ThreadLocal currentFeatureFile = new InheritableThreadLocal<>(); - private final ThreadLocal currentTestCase = new InheritableThreadLocal<>(); - private final ThreadLocal currentContainer = new InheritableThreadLocal<>(); - private final ThreadLocal forbidTestCaseStatusChange = new InheritableThreadLocal<>(); - private final EventHandler featureStartedHandler = this::handleFeatureStartedHandler; private final EventHandler caseStartedHandler = this::handleTestCaseStarted; private final EventHandler caseFinishedHandler = this::handleTestCaseFinished; @@ -97,6 +94,8 @@ public class AllureCucumber7Jvm implements ConcurrentEventListener { private final EventHandler writeEventHandler = this::handleWriteEvent; private final EventHandler embedEventHandler = this::handleEmbedEvent; + private final Map hookStepContainerUuid = new ConcurrentHashMap<>(); + private static final String TXT_EXTENSION = ".txt"; private static final String TEXT_PLAIN = "text/plain"; private static final String CUCUMBER_WORKING_DIR = Paths.get("").toUri().getSchemeSpecificPart(); @@ -110,9 +109,6 @@ public AllureCucumber7Jvm(final AllureLifecycle lifecycle) { this.lifecycle = lifecycle; } - /* - Event Handlers - */ @Override public void setEventPublisher(final EventPublisher publisher) { publisher.registerHandlerFor(TestSourceRead.class, featureStartedHandler); @@ -132,20 +128,15 @@ private void handleFeatureStartedHandler(final TestSourceRead event) { } private void handleTestCaseStarted(final TestCaseStarted event) { - currentFeatureFile.set(event.getTestCase().getUri()); - currentFeature.set(testSources.getFeature(currentFeatureFile.get())); - currentTestCase.set(event.getTestCase()); - currentContainer.set(UUID.randomUUID().toString()); - forbidTestCaseStatusChange.set(false); + final TestCase testCase = event.getTestCase(); + final Feature feature = testSources.getFeature(testCase.getUri()); - final TestCase testCase = currentTestCase.get(); final Deque tags = new LinkedList<>(testCase.getTags()); - - final Feature feature = currentFeature.get(); final LabelBuilder labelBuilder = new LabelBuilder(feature, testCase, tags); final String name = testCase.getName(); + // the same way full name is generated for // org.junit.platform.engine.support.descriptor.ClasspathResourceSource // to support io.qameta.allure.junitplatform.AllurePostDiscoveryFilter @@ -154,8 +145,11 @@ private void handleTestCaseStarted(final TestCaseStarted event) { testCase.getLocation().getLine() ); + final String testCaseUuid = testCase.getId().toString(); + final TestResult result = new TestResult() - .setUuid(getTestCaseUuid(testCase)) + .setUuid(testCaseUuid) + .setTestCaseId(getTestCaseId(testCase)) .setHistoryId(getHistoryId(testCase)) .setFullName(fullName) .setName(name) @@ -164,7 +158,7 @@ private void handleTestCaseStarted(final TestCaseStarted event) { final Scenario scenarioDefinition = testSources.getScenarioDefinition( - currentFeatureFile.get(), + testCase.getUri(), testCase.getLocation().getLine() ); @@ -183,75 +177,121 @@ private void handleTestCaseStarted(final TestCaseStarted event) { result.setDescription(description); } - final TestResultContainer resultContainer = new TestResultContainer() - .setName(String.format("%s: %s", scenarioDefinition.getKeyword(), scenarioDefinition.getName())) - .setUuid(getTestContainerUuid()) - .setChildren(Collections.singletonList(getTestCaseUuid(testCase))); - lifecycle.scheduleTestCase(result); - lifecycle.startTestContainer(getTestContainerUuid(), resultContainer); - lifecycle.startTestCase(getTestCaseUuid(testCase)); + lifecycle.startTestCase(testCaseUuid); } private void handleTestCaseFinished(final TestCaseFinished event) { + final TestCase testCase = event.getTestCase(); + final Feature feature = testSources.getFeature(testCase.getUri()); + final String uuid = testCase.getId().toString(); + final Result result = event.getResult(); + final Status status = translateTestCaseStatus(result); + final StatusDetails statusDetails = getStatusDetails(result.getError()) + .orElseGet(StatusDetails::new); + + final TagParser tagParser = new TagParser(feature, testCase); + statusDetails + .setFlaky(tagParser.isFlaky()) + .setMuted(tagParser.isMuted()) + .setKnown(tagParser.isKnown()); + + lifecycle.updateTestCase(uuid, testResult -> testResult + .setStatus(status) + .setStatusDetails(statusDetails) + ); - final String uuid = getTestCaseUuid(event.getTestCase()); - final Optional details = getStatusDetails(event.getResult().getError()); - details.ifPresent(statusDetails -> lifecycle.updateTestCase( - uuid, - testResult -> testResult.setStatusDetails(statusDetails) - )); lifecycle.stopTestCase(uuid); - lifecycle.stopTestContainer(getTestContainerUuid()); lifecycle.writeTestCase(uuid); - lifecycle.writeTestContainer(getTestContainerUuid()); } private void handleTestStepStarted(final TestStepStarted event) { - if (event.getTestStep() instanceof PickleStepTestStep) { - final PickleStepTestStep pickleStep = (PickleStepTestStep) event.getTestStep(); - final String stepKeyword = Optional.ofNullable( - testSources.getKeywordFromSource(currentFeatureFile.get(), pickleStep.getStep().getLine()) - ).orElse("UNDEFINED"); - - final StepResult stepResult = new StepResult() - .setName(String.format("%s %s", stepKeyword, pickleStep.getStep().getText())) - .setStart(System.currentTimeMillis()); - - lifecycle.startStep(getTestCaseUuid(currentTestCase.get()), getStepUuid(pickleStep), stepResult); + final TestCase testCase = event.getTestCase(); + if (event.getTestStep() instanceof HookTestStep) { + final HookTestStep hook = (HookTestStep) event.getTestStep(); - final StepArgument stepArgument = pickleStep.getStep().getArgument(); - if (stepArgument instanceof DataTableArgument) { - final DataTableArgument dataTableArgument = (DataTableArgument) stepArgument; - createDataTableAttachment(dataTableArgument); + if (isFixtureHook(hook)) { + handleStartFixtureHook(testCase, hook); + } else { + handleStartStepHook(testCase, hook); } - } else if (event.getTestStep() instanceof HookTestStep) { - initHook((HookTestStep) event.getTestStep()); + } else if (event.getTestStep() instanceof PickleStepTestStep) { + handleStartPickleStep(testCase, (PickleStepTestStep) event.getTestStep()); } } - private void initHook(final HookTestStep hook) { + private void handleStartPickleStep(final TestCase testCase, + final PickleStepTestStep pickleStep) { + final String uuid = testCase.getId().toString(); + final Step step = pickleStep.getStep(); - final FixtureResult hookResult = new FixtureResult() + final StepResult stepResult = new StepResult() + .setName(step.getKeyword() + step.getText()) + .setStart(System.currentTimeMillis()); + + lifecycle.setCurrentTestCase(uuid); + lifecycle.startStep(uuid, pickleStep.getId().toString(), stepResult); + + final StepArgument stepArgument = step.getArgument(); + if (stepArgument instanceof DataTableArgument) { + final DataTableArgument dataTableArgument = (DataTableArgument) stepArgument; + createDataTableAttachment(dataTableArgument); + } + } + + private void handleStartStepHook(final TestCase testCase, + final HookTestStep hook) { + final String uuid = testCase.getId().toString(); + final StepResult stepResult = new StepResult() .setName(hook.getCodeLocation()) .setStart(System.currentTimeMillis()); + lifecycle.setCurrentTestCase(uuid); + lifecycle.startStep(uuid, hook.getId().toString(), stepResult); + } + + private void handleStartFixtureHook(final TestCase testCase, + final HookTestStep hook) { + final String uuid = testCase.getId().toString(); + + final UUID hookId = hook.getId(); + final String containerUuid = hookStepContainerUuid + .computeIfAbsent(hookId, unused -> UUID.randomUUID().toString()); + + lifecycle.startTestContainer(new TestResultContainer() + .setUuid(containerUuid) + .setChildren(Collections.singletonList(uuid)) + ); + + final FixtureResult hookResult = new FixtureResult() + .setName(hook.getCodeLocation()); + + final String fixtureUuid = hookId.toString(); if (hook.getHookType() == HookType.BEFORE) { - lifecycle.startPrepareFixture(getTestContainerUuid(), getHookStepUuid(hook), hookResult); + lifecycle.startPrepareFixture(containerUuid, fixtureUuid, hookResult); } else { - lifecycle.startTearDownFixture(getTestContainerUuid(), getHookStepUuid(hook), hookResult); + lifecycle.startTearDownFixture(containerUuid, fixtureUuid, hookResult); } - } private void handleTestStepFinished(final TestStepFinished event) { if (event.getTestStep() instanceof HookTestStep) { - handleHookStep(event); - } else { - handlePickleStep(event); + final HookTestStep hook = (HookTestStep) event.getTestStep(); + if (isFixtureHook(hook)) { + handleStopHookStep(event.getResult(), hook); + } else { + handleStopStep(event.getTestCase(), event.getResult(), hook.getId()); + } + } else if (event.getTestStep() instanceof PickleStepTestStep) { + final PickleStepTestStep pickleStep = (PickleStepTestStep) event.getTestStep(); + handleStopStep(event.getTestCase(), event.getResult(), pickleStep.getId()); } } + private static boolean isFixtureHook(final HookTestStep hook) { + return hook.getHookType() == HookType.BEFORE || hook.getHookType() == HookType.AFTER; + } + private void handleWriteEvent(final WriteEvent event) { lifecycle.addAttachment( "Text output", @@ -265,33 +305,16 @@ private void handleEmbedEvent(final EmbedEvent event) { lifecycle.addAttachment(event.name, event.getMediaType(), null, new ByteArrayInputStream(event.getData())); } - /* - Utility Methods - */ - - private String getTestContainerUuid() { - return currentContainer.get(); - } - - private String getTestCaseUuid(final TestCase testCase) { - return scenarioUuids.computeIfAbsent(getHistoryId(testCase), it -> UUID.randomUUID().toString()); - } - - private String getStepUuid(final PickleStepTestStep step) { - return currentFeature.get().getName() + getTestCaseUuid(currentTestCase.get()) - + step.getStep().getText() + step.getStep().getLine(); - } - - private String getHookStepUuid(final HookTestStep step) { - return currentFeature.get().getName() + getTestCaseUuid(currentTestCase.get()) - + step.getHookType().toString() + step.getCodeLocation(); - } - private String getHistoryId(final TestCase testCase) { - final String testCaseLocation = getTestCaseUri(testCase) + ":" + testCase.getLocation().getLine(); + final String testCaseLocation = getTestCaseUri(testCase) + COLON + testCase.getLocation().getLine(); return md5(testCaseLocation); } + private String getTestCaseId(final TestCase testCase) { + final String testCaseId = getTestCaseUri(testCase) + COLON + testCase.getName(); + return md5(testCaseId); + } + private String getTestCaseUri(final TestCase testCase) { final String testCaseUri = testCase.getUri().getSchemeSpecificPart(); if (testCaseUri.startsWith(CUCUMBER_WORKING_DIR)) { @@ -318,8 +341,9 @@ private Status translateTestCaseStatus(final Result testCaseResult) { } private List getExamplesAsParameters( - final Scenario scenario, final TestCase localCurrentTestCase - ) { + final Scenario scenario, + final TestCase localCurrentTestCase) { + final Optional maybeExample = scenario.getExamples().stream() .filter(example -> example.getTableBody().stream() @@ -343,10 +367,21 @@ private List getExamplesAsParameters( } final TableRow row = maybeRow.get(); + final int size = row.getCells().size(); + + final List headerNames = examples.getTableHeader() + .map(TableRow::getCells) + .map(rows -> rows.stream() + .map(TableCell::getValue) + .collect(Collectors.toList()) + ) + .orElse(null); - return IntStream.range(0, examples.getTableHeader().get().getCells().size()) + return IntStream.range(0, size) .mapToObj(index -> { - final String name = examples.getTableHeader().get().getCells().get(index).getValue(); + final String name = Objects.nonNull(headerNames) + ? headerNames.get(index) + : "arg" + index; final String value = row.getCells().get(index).getValue(); return createParameter(name, value); }) @@ -375,83 +410,56 @@ private void createDataTableAttachment(final DataTableArgument dataTableArgument new ByteArrayInputStream(dataTableCsv.toString().getBytes(StandardCharsets.UTF_8))); } - private void handleHookStep(final TestStepFinished event) { - final HookTestStep hookStep = (HookTestStep) event.getTestStep(); - final String uuid = getHookStepUuid(hookStep); - final FixtureResult fixtureResult = new FixtureResult().setStatus(translateTestCaseStatus(event.getResult())); - - if (!Status.PASSED.equals(fixtureResult.getStatus())) { - final TestResult testResult = new TestResult().setStatus(translateTestCaseStatus(event.getResult())); - final StatusDetails statusDetails = getStatusDetails(event.getResult().getError()) - .orElseGet(StatusDetails::new); - - final String errorMessage = event.getResult().getError() == null - ? hookStep.getHookType().name() + " is failed." - : hookStep.getHookType().name() - + " is failed: " - + event.getResult().getError().getLocalizedMessage(); - statusDetails.setMessage(errorMessage); - - if (hookStep.getHookType() == HookType.BEFORE) { - final TagParser tagParser = new TagParser(currentFeature.get(), currentTestCase.get()); - statusDetails - .setFlaky(tagParser.isFlaky()) - .setMuted(tagParser.isMuted()) - .setKnown(tagParser.isKnown()); - testResult.setStatus(Status.SKIPPED); - updateTestCaseStatus(testResult.getStatus()); - forbidTestCaseStatusChange.set(true); - } else { - testResult.setStatus(Status.BROKEN); - updateTestCaseStatus(testResult.getStatus()); - } - fixtureResult.setStatusDetails(statusDetails); + private void handleStopHookStep(final Result eventResult, + final HookTestStep hook) { + final String containerUuid = hookStepContainerUuid.get(hook.getId()); + if (Objects.isNull(containerUuid)) { + // maybe throw an exception? + return; } - lifecycle.updateFixture(uuid, result -> result.setStatus(fixtureResult.getStatus()) - .setStatusDetails(fixtureResult.getStatusDetails())); + final String uuid = hook.getId().toString(); + + final Status status = translateTestCaseStatus(eventResult); + final StatusDetails statusDetails = getStatusDetails(eventResult.getError()) + .orElseGet(StatusDetails::new); + + lifecycle.updateFixture(uuid, result -> result + .setStatus(status) + .setStatusDetails(statusDetails) + ); lifecycle.stopFixture(uuid); - } - private void handlePickleStep(final TestStepFinished event) { + lifecycle.stopTestContainer(containerUuid); + lifecycle.writeTestContainer(containerUuid); + } - final Status stepStatus = translateTestCaseStatus(event.getResult()); - final StatusDetails statusDetails; - if (event.getResult().getStatus() == io.cucumber.plugin.event.Status.UNDEFINED) { - updateTestCaseStatus(Status.PASSED); + private void handleStopStep(final TestCase testCase, + final Result eventResult, + final UUID stepId) { + final Feature feature = testSources.getFeature(testCase.getUri()); - statusDetails = - getStatusDetails(new IllegalStateException("Undefined Step. Please add step definition")) - .orElse(new StatusDetails()); - lifecycle.updateTestCase(getTestCaseUuid(currentTestCase.get()), scenarioResult -> - scenarioResult - .setStatusDetails(statusDetails)); - } else { - statusDetails = - getStatusDetails(event.getResult().getError()) - .orElse(new StatusDetails()); - updateTestCaseStatus(stepStatus); - } + final Status stepStatus = translateTestCaseStatus(eventResult); - if (!Status.PASSED.equals(stepStatus) && stepStatus != null) { - forbidTestCaseStatusChange.set(true); - } + final StatusDetails statusDetails + = eventResult.getStatus() == io.cucumber.plugin.event.Status.UNDEFINED + ? new StatusDetails().setMessage("Undefined Step. Please add step definition") + : getStatusDetails(eventResult.getError()) + .orElse(new StatusDetails()); - final TagParser tagParser = new TagParser(currentFeature.get(), currentTestCase.get()); + final TagParser tagParser = new TagParser(feature, testCase); statusDetails .setFlaky(tagParser.isFlaky()) .setMuted(tagParser.isMuted()) .setKnown(tagParser.isKnown()); - lifecycle.updateStep(getStepUuid((PickleStepTestStep) event.getTestStep()), - stepResult -> stepResult.setStatus(stepStatus).setStatusDetails(statusDetails)); - lifecycle.stopStep(getStepUuid((PickleStepTestStep) event.getTestStep())); - } - - private void updateTestCaseStatus(final Status status) { - if (!forbidTestCaseStatusChange.get()) { - lifecycle.updateTestCase(getTestCaseUuid(currentTestCase.get()), - result -> result.setStatus(status)); - } + final String stepUuid = stepId.toString(); + lifecycle.updateStep( + stepUuid, + stepResult -> stepResult + .setStatus(stepStatus) + .setStatusDetails(statusDetails) + ); + lifecycle.stopStep(stepUuid); } } diff --git a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java index ff644c18b..45da3d019 100644 --- a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java +++ b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/AllureCucumber7JvmTest.java @@ -37,6 +37,7 @@ import io.qameta.allure.model.StatusDetails; import io.qameta.allure.model.StepResult; import io.qameta.allure.model.TestResult; +import io.qameta.allure.model.TestResultContainer; import io.qameta.allure.test.AllureFeatures; import io.qameta.allure.test.AllureResults; import io.qameta.allure.test.RunUtils; @@ -59,6 +60,7 @@ import static io.qameta.allure.util.ResultsUtils.PACKAGE_LABEL_NAME; import static io.qameta.allure.util.ResultsUtils.SUITE_LABEL_NAME; import static io.qameta.allure.util.ResultsUtils.TEST_CLASS_LABEL_NAME; +import static io.qameta.allure.util.ResultsUtils.md5; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.tuple; import static org.junit.jupiter.api.parallel.ResourceAccessMode.READ_WRITE; @@ -87,8 +89,10 @@ void shouldSetStatus() { final List testResults = results.getTestResults(); assertThat(testResults) - .extracting(TestResult::getStatus) - .containsExactlyInAnyOrder(Status.PASSED); + .extracting(TestResult::getName, TestResult::getStatus) + .containsExactlyInAnyOrder( + tuple("Add a to b", Status.PASSED) + ); } @AllureFeatures.FailedTests @@ -282,10 +286,10 @@ void shouldAddBackgroundSteps() { .flatExtracting(TestResult::getSteps) .extracting(StepResult::getName) .containsExactly( - "Given cat is sad", - "And cat is murmur", - "When Pet the cat", - "Then Cat is happy" + "Given cat is sad", + "And cat is murmur", + "When Pet the cat", + "Then Cat is happy" ); } @@ -447,15 +451,17 @@ void shouldProcessUndefinedSteps() { final List testResults = results.getTestResults(); assertThat(testResults) - .extracting(TestResult::getStatus) - .containsExactlyInAnyOrder(Status.SKIPPED); + .extracting(TestResult::getName, TestResult::getStatus) + .containsExactlyInAnyOrder( + tuple("Step is not defined", null) + ); assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 5", Status.PASSED), - tuple("When step is undefined", null), - tuple("Then b is 10", Status.SKIPPED) + tuple("Given a is 5", Status.PASSED), + tuple("When step is undefined", null), + tuple("Then b is 10", Status.SKIPPED) ); } @@ -473,9 +479,9 @@ void shouldProcessPendingExceptionsInSteps() { assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 5", Status.PASSED), - tuple("When step is yet to be implemented", Status.SKIPPED), - tuple("Then b is 10", Status.SKIPPED) + tuple("Given a is 5", Status.PASSED), + tuple("When step is yet to be implemented", Status.SKIPPED), + tuple("Then b is 10", Status.SKIPPED) ); } @@ -494,10 +500,10 @@ void shouldSupportDryRunForSimpleFeatures() { assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 5", Status.PASSED), - tuple("And b is 10", Status.PASSED), - tuple("When I add a to b", Status.PASSED), - tuple("Then result is 15", Status.PASSED) + tuple("Given a is 5", Status.PASSED), + tuple("And b is 10", Status.PASSED), + tuple("When I add a to b", Status.PASSED), + tuple("Then result is 15", Status.PASSED) ); } @@ -508,32 +514,29 @@ void shouldSupportDryRunForHooks() { final AllureResults results = runFeature("features/hooks.feature", "--dry-run", "-t", "@WithHooks or @BeforeHookWithException or @AfterHookWithException"); - final List testResults = results.getTestResults(); - assertThat(testResults) - .extracting(TestResult::getName, TestResult::getStatus) - .startsWith( - tuple("Simple scenario with Before and After hooks", Status.PASSED) - ); + final TestResult tr1 = results.getTestResultByName("Simple scenario with Before and After hooks"); - assertThat(results.getTestResultContainers().get(0).getBefores()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getBefores) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber7jvm.samples.HookSteps.beforeHook()", Status.PASSED) ); - assertThat(results.getTestResultContainers().get(0).getAfters()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getAfters) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber7jvm.samples.HookSteps.afterHook()", Status.PASSED) ); - assertThat(testResults.get(0).getSteps()) + assertThat(tr1.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.PASSED), - tuple("And b is 8", Status.PASSED), - tuple("When I add a to b", Status.PASSED), - tuple("Then result is 15", Status.PASSED) + tuple("Given a is 7", Status.PASSED), + tuple("And b is 8", Status.PASSED), + tuple("When I add a to b", Status.PASSED), + tuple("Then result is 15", Status.PASSED) ); } @@ -568,6 +571,42 @@ void shouldPersistDifferentHistoryIdComparedToTheSameTestCaseInDifferentLocation .isNotEqualTo(results2.getTestResults().get(0).getHistoryId()); } + @AllureFeatures.History + @Test + void shouldSetTestCaseIdForScenarios() { + final AllureResults results = runFeature("features/simple.feature"); + + final List testResults = results.getTestResults(); + assertThat(testResults) + .extracting(TestResult::getName, TestResult::getTestCaseId) + .containsExactlyInAnyOrder( + tuple( + "Add a to b", + md5("src/test/resources/features/simple.feature:Add a to b") + ) + ); + } + + @AllureFeatures.History + @Test + void shouldSetTestCaseIdForExamples() { + final AllureResults results = runFeature("features/examples.feature", "--threads", "2"); + + final List testResults = results.getTestResults(); + assertThat(testResults) + .extracting(TestResult::getName, TestResult::getTestCaseId) + .containsExactlyInAnyOrder( + tuple( + "Scenario with Positive Examples", + md5("src/test/resources/features/examples.feature:Scenario with Positive Examples") + ), + tuple( + "Scenario with Positive Examples", + md5("src/test/resources/features/examples.feature:Scenario with Positive Examples") + ) + ); + } + @AllureFeatures.Parallel @Test void shouldProcessScenariosInParallelMode() { @@ -579,30 +618,33 @@ void shouldProcessScenariosInParallelMode() { .hasSize(3); assertThat(testResults) - .extracting(testResult -> testResult.getSteps().stream().map(StepResult::getName).collect(Collectors.toList())) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) .containsSubsequence( - Arrays.asList("Given a is 1", - "And b is 3", - "When I add a to b", - "Then result is 4") + "Given a is 1", + "And b is 3", + "When I add a to b", + "Then result is 4" ); assertThat(testResults) - .extracting(testResult -> testResult.getSteps().stream().map(StepResult::getName).collect(Collectors.toList())) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) .containsSubsequence( - Arrays.asList("Given a is 2", - "And b is 4", - "When I add a to b", - "Then result is 6") + "Given a is 2", + "And b is 4", + "When I add a to b", + "Then result is 6" ); assertThat(testResults) - .extracting(testResult -> testResult.getSteps().stream().map(StepResult::getName).collect(Collectors.toList())) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) .containsSubsequence( - Arrays.asList("Given a is 7", - "And b is 8", - "When I add a to b", - "Then result is 15") + "Given a is 7", + "And b is 8", + "When I add a to b", + "Then result is 15" ); } @@ -613,64 +655,61 @@ void shouldDisplayHooksAsStages() { final AllureResults results = runFeature("features/hooks.feature", "-t", "@WithHooks or @BeforeHookWithException or @AfterHookWithException"); - final List testResults = results.getTestResults(); - assertThat(testResults) - .extracting(TestResult::getName, TestResult::getStatus) - .containsExactlyInAnyOrder( - tuple("Simple scenario with Before and After hooks", Status.PASSED), - tuple("Simple scenario with Before hook with Exception", Status.SKIPPED), - tuple("Simple scenario with After hook with Exception", Status.BROKEN) - ); + final TestResult tr1 = results.getTestResultByName("Simple scenario with Before and After hooks"); + final TestResult tr2 = results.getTestResultByName("Simple scenario with Before hook with Exception"); + final TestResult tr3 = results.getTestResultByName("Simple scenario with After hook with Exception"); - assertThat(testResults.get(0).getSteps()) + assertThat(tr1.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.PASSED), - tuple("And b is 8", Status.PASSED), - tuple("When I add a to b", Status.PASSED), - tuple("Then result is 15", Status.PASSED) + tuple("Given a is 7", Status.PASSED), + tuple("And b is 8", Status.PASSED), + tuple("When I add a to b", Status.PASSED), + tuple("Then result is 15", Status.PASSED) ); - - assertThat(results.getTestResultContainers().get(0).getBefores()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getBefores) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber7jvm.samples.HookSteps.beforeHook()", Status.PASSED) ); - assertThat(results.getTestResultContainers().get(0).getAfters()) + assertThat(results.getTestResultContainersForTestResult(tr1)) + .flatExtracting(TestResultContainer::getAfters) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber7jvm.samples.HookSteps.afterHook()", Status.PASSED) ); - assertThat(testResults.get(1).getSteps()) + assertThat(tr2.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.SKIPPED), - tuple("And b is 8", Status.SKIPPED), - tuple("When I add a to b", Status.SKIPPED), - tuple("Then result is 15", Status.SKIPPED) + tuple("Given a is 7", Status.SKIPPED), + tuple("And b is 8", Status.SKIPPED), + tuple("When I add a to b", Status.SKIPPED), + tuple("Then result is 15", Status.SKIPPED) ); - assertThat(results.getTestResultContainers().get(1).getBefores()) + assertThat(results.getTestResultContainersForTestResult(tr2)) + .flatExtracting(TestResultContainer::getBefores) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber7jvm.samples.HookSteps.beforeHookWithException()", Status.FAILED) ); - - assertThat(testResults.get(2).getSteps()) + assertThat(tr3.getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactlyInAnyOrder( - tuple("Given a is 7", Status.PASSED), - tuple("And b is 8", Status.PASSED), - tuple("When I add a to b", Status.PASSED), - tuple("Then result is 15", Status.PASSED) + tuple("Given a is 7", Status.PASSED), + tuple("And b is 8", Status.PASSED), + tuple("When I add a to b", Status.PASSED), + tuple("Then result is 15", Status.PASSED) ); - assertThat(results.getTestResultContainers().get(2).getAfters()) + assertThat(results.getTestResultContainersForTestResult(tr3)) + .flatExtracting(TestResultContainer::getAfters) .extracting(FixtureResult::getName, FixtureResult::getStatus) .containsExactlyInAnyOrder( tuple("io.qameta.allure.cucumber7jvm.samples.HookSteps.afterHookWithException()", Status.FAILED) @@ -687,14 +726,14 @@ void shouldHandleAmbigiousStepsExceptions() { assertThat(testResults) .extracting(TestResult::getName, TestResult::getStatus) .containsExactlyInAnyOrder( - tuple("Simple scenario with ambigious steps", Status.SKIPPED) + tuple("Simple scenario with ambigious steps", null) ); assertThat(testResults.get(0).getSteps()) .extracting(StepResult::getName, StepResult::getStatus) .containsExactly( - tuple("When ambigious step present", null), - tuple("Then something bad should happen", Status.SKIPPED) + tuple("When ambigious step present", null), + tuple("Then something bad should happen", Status.SKIPPED) ); } @@ -714,6 +753,36 @@ void shouldSupportProvidedLabels() { ); } + @Test + void shouldSupportRuntimeApiInStepsWhenHooksAreUsed() { + final AllureResults results = runFeature("features/runtimeapi.feature"); + + final List testResults = results.getTestResults(); + + assertThat(testResults) + .hasSize(1) + .flatExtracting(TestResult::getSteps) + .extracting(StepResult::getName) + .containsExactly( + "When step 1", + "When step 2", + "And step 3", + "Then step 4", + "And step 5" + ); + + assertThat(testResults) + .flatExtracting(TestResult::getLinks) + .extracting(Link::getName, Link::getUrl) + .containsExactly( + tuple("step1", "https://example.org/step1"), + tuple("step2", "https://example.org/step2"), + tuple("step3", "https://example.org/step3"), + tuple("step4", "https://example.org/step4"), + tuple("step5", "https://example.org/step5") + ); + } + @SystemProperty(name = "cucumber.junit-platform.naming-strategy", value = "long") @Step private AllureResults runFeature(final String featureResource, diff --git a/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/RuntimeApiSteps.java b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/RuntimeApiSteps.java new file mode 100644 index 000000000..0f66fa87c --- /dev/null +++ b/allure-cucumber7-jvm/src/test/java/io/qameta/allure/cucumber7jvm/samples/RuntimeApiSteps.java @@ -0,0 +1,83 @@ +/* + * Copyright 2016-2024 Qameta Software Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.qameta.allure.cucumber7jvm.samples; + +import io.cucumber.java.Before; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; +import io.cucumber.java.en.And; +import io.qameta.allure.Allure; + +/** + * @author charlie (Dmitry Baev). + */ +public class RuntimeApiSteps { + + @Before("@beforeScenario") + public void beforeScenario(){ + // nothing + } + + @Before("@beforeFeature") + public void beforeFeature(){ + // nothing + } + + @When("^step 1$") + public void step1() { + Allure.step("step1 nested"); + Allure.link("step1", "https://example.org/step1"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step1: " + uuid); + }); + } + + @When("^step 2$") + public void step2() { + Allure.step("step2 nested"); + Allure.link("step2", "https://example.org/step2"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step2: " + uuid); + }); + } + + @And("^step 3$") + public void step3() { + Allure.step("step3 nested"); + Allure.link("step3", "https://example.org/step3"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step3: " + uuid); + }); + } + + @Then("^step 4$") + public void step4() { + Allure.step("step4 nested"); + Allure.link("step4", "https://example.org/step4"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step4: " + uuid); + }); + } + + @And("^step 5$") + public void step5() { + Allure.step("step5 nested"); + Allure.link("step5", "https://example.org/step5"); + Allure.getLifecycle().getCurrentTestCase().ifPresent(uuid -> { + System.out.println("step5: " + uuid); + }); + } +} diff --git a/allure-cucumber7-jvm/src/test/resources/features/runtimeapi.feature b/allure-cucumber7-jvm/src/test/resources/features/runtimeapi.feature new file mode 100644 index 000000000..ec43eccb7 --- /dev/null +++ b/allure-cucumber7-jvm/src/test/resources/features/runtimeapi.feature @@ -0,0 +1,10 @@ +@beforeFeature +Feature: Should support runtime API in all steps + + @beforeScenario + Scenario: Scenario with Runtime API usage + When step 1 + When step 2 + And step 3 + Then step 4 + And step 5 diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureResults.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureResults.java index 621b213ae..a836a04d7 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureResults.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureResults.java @@ -20,6 +20,9 @@ import java.util.List; import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Objects; +import java.util.stream.Collectors; /** * @author charlie (Dmitry Baev). @@ -32,4 +35,20 @@ public interface AllureResults { Map getAttachments(); + default TestResult getTestResultByName(final String name) { + return getTestResults().stream() + .filter(tr -> Objects.equals(name, tr.getName())) + .findFirst() + .orElseThrow(() -> new NoSuchElementException( + "test result with name " + name + " is not found" + )); + } + + default List getTestResultContainersForTestResult(final TestResult testResult) { + return getTestResultContainers().stream() + .filter(c -> Objects.nonNull(c.getChildren())) + .filter(c -> c.getChildren().contains(testResult.getUuid())) + .collect(Collectors.toList()); + } + } diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureTestCommonsUtils.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureTestCommonsUtils.java index ae099c33f..e0e65881b 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureTestCommonsUtils.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureTestCommonsUtils.java @@ -15,16 +15,25 @@ */ package io.qameta.allure.test; +import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectWriter; +import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.json.JsonMapper; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; import io.qameta.allure.Allure; import io.qameta.allure.AllureConstants; +import io.qameta.allure.model.Parameter; +import io.qameta.allure.model.Stage; +import io.qameta.allure.model.Status; import java.io.ByteArrayInputStream; +import java.io.IOException; import java.io.UncheckedIOException; +import java.util.Locale; -import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_DEFAULT; import static com.fasterxml.jackson.databind.MapperFeature.USE_WRAPPER_NAME_AS_PROPERTY_NAME; /** @@ -35,8 +44,13 @@ public final class AllureTestCommonsUtils { private static final ObjectWriter WRITER = JsonMapper .builder() .configure(USE_WRAPPER_NAME_AS_PROPERTY_NAME, true) - .serializationInclusion(NON_NULL) + .serializationInclusion(NON_DEFAULT) .build() + .registerModule(new SimpleModule() + .addSerializer(Status.class, new StatusSerializer()) + .addSerializer(Stage.class, new StageSerializer()) + .addSerializer(Parameter.Mode.class, new ParameterModeSerializer()) + ) .writerWithDefaultPrettyPrinter(); private AllureTestCommonsUtils() { @@ -77,4 +91,52 @@ public static void attach(final AllureResults allureResults) { ); } + /** + * Parameter mode serializer. + */ + private static class ParameterModeSerializer extends StdSerializer { + protected ParameterModeSerializer() { + super(Parameter.Mode.class); + } + + @Override + public void serialize(final Parameter.Mode value, + final JsonGenerator gen, + final SerializerProvider provider) throws IOException { + gen.writeString(value.name().toLowerCase(Locale.ENGLISH)); + } + } + + /** + * Stage serializer. + */ + private static class StageSerializer extends StdSerializer { + protected StageSerializer() { + super(Stage.class); + } + + @Override + public void serialize(final Stage value, + final JsonGenerator gen, + final SerializerProvider provider) throws IOException { + gen.writeString(value.name().toLowerCase(Locale.ENGLISH)); + } + } + + /** + * Status serializer. + */ + private static class StatusSerializer extends StdSerializer { + protected StatusSerializer() { + super(Status.class); + } + + @Override + public void serialize(final Status value, + final JsonGenerator gen, + final SerializerProvider provider) throws IOException { + gen.writeString(value.name().toLowerCase(Locale.ENGLISH)); + } + } + } diff --git a/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java b/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java index 02a74faa8..0a06dd32b 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java @@ -35,6 +35,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; import java.util.concurrent.Callable; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CopyOnWriteArrayList; @@ -70,6 +71,23 @@ public void setUp() { lifecycle = new AllureLifecycle(writer); } + @Test + void shouldReturnCurrentTestCaseId() { + final String uuid = randomId(); + final String name = randomName(); + final TestResult result = new TestResult().setUuid(uuid).setName(name); + lifecycle.scheduleTestCase(result); + lifecycle.startTestCase(uuid); + + final String stepUuid = randomId(); + lifecycle.startStep(uuid, stepUuid, new StepResult().setName(randomName())); + + final Optional currentTestCase = lifecycle.getCurrentTestCase(); + assertThat(currentTestCase) + .isPresent() + .hasValue(uuid); + } + @Test void shouldCreateTest() { final String uuid = randomId(); From e99e265fdef294ec60d905bb43db5c69edfb3dab Mon Sep 17 00:00:00 2001 From: qameta-ci Date: Mon, 18 Mar 2024 12:28:14 +0000 Subject: [PATCH 018/139] release 2.26.0 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 3f8ca07ec..da7d49fc5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.26-SNAPSHOT +version=2.26.0 org.gradle.daemon=true org.gradle.parallel=true From 1f490e2108af08575cf7dca5a3adf44f80780acb Mon Sep 17 00:00:00 2001 From: qameta-ci Date: Mon, 18 Mar 2024 12:28:15 +0000 Subject: [PATCH 019/139] set next development version 2.27 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index da7d49fc5..e297ce891 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.26.0 +version=2.27-SNAPSHOT org.gradle.daemon=true org.gradle.parallel=true From 5591a12728041e1d779171d0bb2c466c28d27740 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Mon, 18 Mar 2024 16:38:38 +0000 Subject: [PATCH 020/139] feat(junit-platform): add annotations from outer classes (fixes #391, via #1019) --- .../junitplatform/AllureJunitPlatform.java | 11 +++- .../AllureJunitPlatformTest.java | 51 +++++++++++++++ .../junitplatform/features/NestedTests.java | 62 +++++++++++++++++++ 3 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 allure-junit-platform/src/test/java/io/qameta/allure/junitplatform/features/NestedTests.java diff --git a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java index e48ee7713..5bd8211d9 100644 --- a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java +++ b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java @@ -553,7 +553,16 @@ private void startTestCase(final TestIdentifier testIdentifier) { result.getLabels().add(getJUnitPlatformUniqueId(testIdentifier)); - testClass.map(AnnotationUtils::getLabels).ifPresent(result.getLabels()::addAll); + // add annotations from outer classes (support for @Nested tests in JUnit 5) + testClass.ifPresent(clazz -> { + Class clazz1 = clazz; + do { + final Set
responseListener, Metadata headers) { + public void start(final Listener responseListener, final Metadata headers) { final ClientCall.Listener listener = new ForwardingClientCallListener() { @Override protected Listener delegate() { return responseListener; } - @SuppressWarnings({"PMD.MethodArgumentCouldBeFinal", "PMD.AvoidLiteralsInIfCondition"}) @Override - public void onClose(io.grpc.Status status, Metadata trailers) { + public void onClose(final io.grpc.Status status, final Metadata trailers) { GrpcResponseAttachment.Builder responseAttachmentBuilder = null; if (parsedResponses.size() == 1) { @@ -183,9 +181,8 @@ public void onClose(io.grpc.Status status, Metadata trailers) { super.onClose(status, trailers); } - @SuppressWarnings("PMD.MethodArgumentCouldBeFinal") @Override - public void onMessage(A message) { + public void onMessage(final A message) { try { parsedResponses.add(JSON_PRINTER.print((MessageOrBuilder) message)); super.onMessage(message); diff --git a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Request.java b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Request.java index 2e4ab5584..14167a41d 100644 --- a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Request.java +++ b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Request.java @@ -34,7 +34,6 @@ /** * @author a-simeshin (Simeshin Artem) */ -@SuppressWarnings("PMD.MethodArgumentCouldBeFinal") public class AllureHttpClient5Request implements HttpRequestInterceptor { private final AttachmentRenderer renderer; @@ -62,7 +61,9 @@ public AllureHttpClient5Request(final AttachmentRenderer rendere * @param context the HTTP context */ @Override - public void process(HttpRequest request, EntityDetails entity, HttpContext context) { + public void process(final HttpRequest request, + final EntityDetails entity, + final HttpContext context) { final String attachmentName = getAttachmentName(request); final HttpRequestAttachment.Builder builder = create(attachmentName, request.getRequestUri()); builder.setMethod(request.getMethod()); diff --git a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Response.java b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Response.java index bf5bff643..f4e53c931 100644 --- a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Response.java +++ b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Response.java @@ -39,7 +39,6 @@ */ @SuppressWarnings({ "checkstyle:ParameterAssignment", - "PMD.MethodArgumentCouldBeFinal", "PMD.AvoidReassigningParameters"}) public class AllureHttpClient5Response implements HttpResponseInterceptor { private final AttachmentRenderer renderer; @@ -69,7 +68,9 @@ public AllureHttpClient5Response(final AttachmentRenderer render * @throws IOException if an I/O error occurs */ @Override - public void process(HttpResponse response, EntityDetails entity, HttpContext context) throws IOException { + public void process(final HttpResponse response, + EntityDetails entity, + final HttpContext context) throws IOException { final HttpResponseAttachment.Builder builder = create("Response"); builder.setResponseCode(response.getCode()); diff --git a/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureThreadContext.java b/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureThreadContext.java index bbf94fd4e..e052c8d11 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureThreadContext.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureThreadContext.java @@ -15,6 +15,7 @@ */ package io.qameta.allure.internal; +import java.util.Deque; import java.util.LinkedList; import java.util.Objects; import java.util.Optional; @@ -32,7 +33,7 @@ public class AllureThreadContext { * Returns last (most recent) uuid. */ public Optional getCurrent() { - final LinkedList uuids = context.get(); + final Deque uuids = context.get(); return uuids.isEmpty() ? Optional.empty() : Optional.of(uuids.getFirst()); @@ -42,7 +43,7 @@ public Optional getCurrent() { * Returns first (oldest) uuid. */ public Optional getRoot() { - final LinkedList uuids = context.get(); + final Deque uuids = context.get(); return uuids.isEmpty() ? Optional.empty() : Optional.of(uuids.getLast()); @@ -62,7 +63,7 @@ public void start(final String uuid) { * @return removed uuid. */ public Optional stop() { - final LinkedList uuids = context.get(); + final Deque uuids = context.get(); if (!uuids.isEmpty()) { return Optional.of(uuids.pop()); } @@ -79,15 +80,15 @@ public void clear() { /** * Thread local context that stores information about not finished tests and steps. */ - private static final class Context extends InheritableThreadLocal> { + private static final class Context extends InheritableThreadLocal> { @Override - public LinkedList initialValue() { + public Deque initialValue() { return new LinkedList<>(); } @Override - protected LinkedList childValue(final LinkedList parentStepContext) { + protected Deque childValue(final Deque parentStepContext) { return new LinkedList<>(parentStepContext); } diff --git a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java index 5bd8211d9..137e24df5 100644 --- a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java +++ b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java @@ -310,6 +310,7 @@ public void reportingEntryPublished(final TestIdentifier testIdentifier, } + @SuppressWarnings("PMD.InefficientEmptyStringCheck") private Map unwrap(final Map data) { final Map res = new HashMap<>(); data.forEach((key, value) -> { diff --git a/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java b/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java index ed594591b..b652feb08 100644 --- a/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java +++ b/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java @@ -180,7 +180,6 @@ private Optional getDisplayName(final Description result) { .map(DisplayName::value); } - @SuppressWarnings("PMD.AvoidLiteralsInIfCondition") private Optional getDescription(final Description result) { final io.qameta.allure.Description annotation = result .getAnnotation(io.qameta.allure.Description.class); diff --git a/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4Utils.java b/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4Utils.java index ebe87e56b..24fa2a8a2 100644 --- a/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4Utils.java +++ b/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4Utils.java @@ -78,10 +78,7 @@ static class CucumberCheck implements Serializable { @Override public boolean equals(final Object obj) { - if (Objects.isNull(obj)) { - return false; - } - return "io.cucumber.junit.PickleRunners.PickleId" + return !Objects.isNull(obj) && "io.cucumber.junit.PickleRunners.PickleId" .equals(obj.getClass().getCanonicalName()); } diff --git a/allure-junit5/src/main/java/io/qameta/allure/junit5/AllureJunit5.java b/allure-junit5/src/main/java/io/qameta/allure/junit5/AllureJunit5.java index 6ede30ed2..7413d70a2 100644 --- a/allure-junit5/src/main/java/io/qameta/allure/junit5/AllureJunit5.java +++ b/allure-junit5/src/main/java/io/qameta/allure/junit5/AllureJunit5.java @@ -187,6 +187,7 @@ public Map buildFailureEvent(final String type, return map; } + @SuppressWarnings("PMD.InefficientEmptyStringCheck") public Map wrap(final Map data) { final Map res = new HashMap<>(); data.forEach((key, value) -> { diff --git a/allure-model/src/main/java/io/qameta/allure/model/Stage.java b/allure-model/src/main/java/io/qameta/allure/model/Stage.java index 697478122..ff08a6149 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/Stage.java +++ b/allure-model/src/main/java/io/qameta/allure/model/Stage.java @@ -57,7 +57,7 @@ public enum Stage { * @return the stage */ public static Stage fromValue(final String v) { - for (Stage c : Stage.values()) { + for (Stage c : values()) { if (c.value.equals(v)) { return c; } diff --git a/allure-model/src/main/java/io/qameta/allure/model/Status.java b/allure-model/src/main/java/io/qameta/allure/model/Status.java index 15c275bd2..37ed668f2 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/Status.java +++ b/allure-model/src/main/java/io/qameta/allure/model/Status.java @@ -54,7 +54,7 @@ public enum Status { * @return the status */ public static Status fromValue(final String v) { - for (Status c : Status.values()) { + for (Status c : values()) { if (c.value.equals(v)) { return c; } diff --git a/allure-selenide/src/main/java/io/qameta/allure/selenide/AllureSelenide.java b/allure-selenide/src/main/java/io/qameta/allure/selenide/AllureSelenide.java index ca06a32b4..1f320f68b 100644 --- a/allure-selenide/src/main/java/io/qameta/allure/selenide/AllureSelenide.java +++ b/allure-selenide/src/main/java/io/qameta/allure/selenide/AllureSelenide.java @@ -31,7 +31,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.HashMap; +import java.util.EnumMap; import java.util.Map; import java.util.Optional; import java.util.UUID; @@ -52,7 +52,7 @@ public class AllureSelenide implements LogEventListener { private boolean saveScreenshots = true; private boolean savePageHtml = true; private boolean includeSelenideLocatorsSteps = true; - private final Map logTypesToSave = new HashMap<>(); + private final Map logTypesToSave = new EnumMap<>(LogType.class); private final AllureLifecycle lifecycle; public AllureSelenide() { @@ -93,8 +93,8 @@ public AllureSelenide disableLogs(final LogType logType) { private static Optional getScreenshotBytes() { try { return WebDriverRunner.hasWebDriverStarted() - ? Optional.of(((TakesScreenshot) WebDriverRunner.getWebDriver()).getScreenshotAs(OutputType.BYTES)) - : Optional.empty(); + ? Optional.of(((TakesScreenshot) WebDriverRunner.getWebDriver()).getScreenshotAs(OutputType.BYTES)) + : Optional.empty(); } catch (WebDriverException e) { LOGGER.warn("Could not get screen shot", e); return Optional.empty(); @@ -104,8 +104,8 @@ private static Optional getScreenshotBytes() { private static Optional getPageSourceBytes() { try { return WebDriverRunner.hasWebDriverStarted() - ? Optional.of(WebDriverRunner.getWebDriver().getPageSource().getBytes(UTF_8)) - : Optional.empty(); + ? Optional.of(WebDriverRunner.getWebDriver().getPageSource().getBytes(UTF_8)) + : Optional.empty(); } catch (WebDriverException e) { LOGGER.warn("Could not get page source", e); return Optional.empty(); diff --git a/build.gradle.kts b/build.gradle.kts index d5edada83..3b3738097 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -158,7 +158,7 @@ configure(libs) { dependency("io.github.benas:random-beans:3.9.0") dependency("io.github.glytching:junit-extensions:2.6.0") dependency("javax.annotation:javax.annotation-api:1.3.2") - dependency("net.sourceforge.pmd:pmd-java:6.55.0") + dependency("net.sourceforge.pmd:pmd-java:7.3.0") dependency("org.apache.commons:commons-lang3:3.12.0") dependency("org.apache.httpcomponents:httpclient:4.5.14") dependency("org.apache.httpcomponents.client5:httpclient5:5.2.1") diff --git a/gradle/quality-configs/checkstyle/checkstyle.xml b/gradle/quality-configs/checkstyle/checkstyle.xml index f1bbd4945..8e3f80a29 100644 --- a/gradle/quality-configs/checkstyle/checkstyle.xml +++ b/gradle/quality-configs/checkstyle/checkstyle.xml @@ -44,7 +44,7 @@ - + @@ -86,7 +86,9 @@ - + + + @@ -152,10 +154,10 @@ - - + + - + @@ -211,7 +213,7 @@ - + diff --git a/gradle/quality-configs/pmd/pmd.xml b/gradle/quality-configs/pmd/pmd.xml index 7a26c293e..adc57b64f 100644 --- a/gradle/quality-configs/pmd/pmd.xml +++ b/gradle/quality-configs/pmd/pmd.xml @@ -26,9 +26,7 @@ - - @@ -45,6 +43,7 @@ + @@ -57,17 +56,15 @@ + + - - - - @@ -112,13 +109,13 @@ - + + - From 12948ee81f7b18f99468966494ae4280049883d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:22:36 +0100 Subject: [PATCH 042/139] bump org.junit:junit-bom from 5.9.2 to 5.10.3 (via #1069) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 3b3738097..d25878cbd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -145,7 +145,7 @@ configure(libs) { dependencyManagement { imports { mavenBom("com.fasterxml.jackson:jackson-bom:2.14.1") - mavenBom("org.junit:junit-bom:5.9.2") + mavenBom("org.junit:junit-bom:5.10.3") } dependencies { dependency("com.github.spotbugs:spotbugs:4.8.3") From 4069e34ce3bbbbd561db27a6c541581b25bc62cb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:22:49 +0100 Subject: [PATCH 043/139] bump com.puppycrawl.tools:checkstyle from 10.13.0 to 10.17.0 (via #1067) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index d25878cbd..382f13635 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -152,7 +152,7 @@ configure(libs) { dependency("com.github.tomakehurst:wiremock:3.0.1") dependency("com.google.inject:guice:7.0.0") dependency("com.google.testing.compile:compile-testing:0.19") - dependency("com.puppycrawl.tools:checkstyle:10.13.0") + dependency("com.puppycrawl.tools:checkstyle:10.17.0") dependency("com.squareup.retrofit2:retrofit:2.9.0") dependency("commons-io:commons-io:2.11.0") dependency("io.github.benas:random-beans:3.9.0") From 540c2aa5ac015205d089127d5fe56ff4d2468276 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:23:06 +0100 Subject: [PATCH 044/139] bump org.freemarker:freemarker from 2.3.31 to 2.3.33 (via #1070) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 382f13635..a3092b534 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -165,7 +165,7 @@ configure(libs) { dependency("org.aspectj:aspectjrt:${assertJVersion}") dependency("org.aspectj:aspectjweaver:${assertJVersion}") dependency("org.assertj:assertj-core:3.23.1") - dependency("org.freemarker:freemarker:2.3.31") + dependency("org.freemarker:freemarker:2.3.33") dependency("org.grpcmock:grpcmock-junit5:0.8.0") dependency("org.hamcrest:hamcrest:2.2") dependency("org.jboss.resteasy:resteasy-client:6.2.1.Final") From 4e692964eba52a0e5ef043712e087ac086342d74 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:23:18 +0100 Subject: [PATCH 045/139] bump protobufVersion from 4.26.1 to 4.27.2 (via #1066) --- allure-grpc/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-grpc/build.gradle.kts b/allure-grpc/build.gradle.kts index bcba01f3a..cd1ddfd34 100644 --- a/allure-grpc/build.gradle.kts +++ b/allure-grpc/build.gradle.kts @@ -9,7 +9,7 @@ description = "Allure gRPC Integration" val agent: Configuration by configurations.creating val grpcVersion = "1.57.2" -val protobufVersion = "4.26.1" +val protobufVersion = "4.27.2" dependencies { agent("org.aspectj:aspectjweaver") From 2e9de5b499fa052a4b779e8ae9fa83269c573ddb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:34:23 +0100 Subject: [PATCH 046/139] bump com.diffplug.spotless from 6.11.0 to 6.25.0 (via #1071) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 8d3f7a004..97a47fa33 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -47,7 +47,7 @@ pluginManagement { gradlePluginPortal() } plugins { - id("com.diffplug.spotless") version "6.11.0" + id("com.diffplug.spotless") version "6.25.0" id("com.github.johnrengelman.shadow") version "8.1.1" id("com.gradle.enterprise") version "3.12.5" id("io.github.gradle-nexus.publish-plugin") version "2.0.0" From 80435797a61b070ce6d38098e9408120ffbd0da2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:34:37 +0100 Subject: [PATCH 047/139] bump com.squareup.retrofit2:retrofit from 2.9.0 to 2.11.0 (via #1068) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index a3092b534..7e8ef508b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -153,7 +153,7 @@ configure(libs) { dependency("com.google.inject:guice:7.0.0") dependency("com.google.testing.compile:compile-testing:0.19") dependency("com.puppycrawl.tools:checkstyle:10.17.0") - dependency("com.squareup.retrofit2:retrofit:2.9.0") + dependency("com.squareup.retrofit2:retrofit:2.11.0") dependency("commons-io:commons-io:2.11.0") dependency("io.github.benas:random-beans:3.9.0") dependency("io.github.glytching:junit-extensions:2.6.0") From 9c55fc583409a32ca1ad00c6d9febfe8b7b960b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:34:56 +0100 Subject: [PATCH 048/139] bump com.intuit.karate:karate-core from 1.4.0 to 1.4.1 (via #1073) --- allure-karate/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-karate/build.gradle.kts b/allure-karate/build.gradle.kts index f300ed9fd..f30a20467 100644 --- a/allure-karate/build.gradle.kts +++ b/allure-karate/build.gradle.kts @@ -1,6 +1,6 @@ description = "Allure Karate Integration" -val karateVersion = "1.4.0" +val karateVersion = "1.4.1" configurations { testImplementation { From 68eeb8cc8e0bdaf199a5420d390aa6fd03bdd754 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:35:13 +0100 Subject: [PATCH 049/139] bump org.jooq:jooq from 3.18.4 to 3.19.10 (via #1074) --- allure-jooq/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-jooq/build.gradle.kts b/allure-jooq/build.gradle.kts index ef7c35168..5f557fbaf 100644 --- a/allure-jooq/build.gradle.kts +++ b/allure-jooq/build.gradle.kts @@ -1,6 +1,6 @@ description = "Allure JOOQ Integration" -val jooqVersion = "3.18.4" +val jooqVersion = "3.19.10" dependencies { api(project(":allure-java-commons")) From a3417ac15985b1001d9317c289a6b41f6b296d3c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:48:33 +0100 Subject: [PATCH 050/139] bump org.apache.httpcomponents.client5:httpclient5 from 5.2.1 to 5.3.1 (via #1079) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 7e8ef508b..c405c8f93 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -161,7 +161,7 @@ configure(libs) { dependency("net.sourceforge.pmd:pmd-java:7.3.0") dependency("org.apache.commons:commons-lang3:3.12.0") dependency("org.apache.httpcomponents:httpclient:4.5.14") - dependency("org.apache.httpcomponents.client5:httpclient5:5.2.1") + dependency("org.apache.httpcomponents.client5:httpclient5:5.3.1") dependency("org.aspectj:aspectjrt:${assertJVersion}") dependency("org.aspectj:aspectjweaver:${assertJVersion}") dependency("org.assertj:assertj-core:3.23.1") From 64857eac65606c4c623169c91565cdf3fa7b52d8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:48:53 +0100 Subject: [PATCH 051/139] bump io.rest-assured:rest-assured from 5.4.0 to 5.5.0 (via #1078) --- allure-rest-assured/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-rest-assured/build.gradle.kts b/allure-rest-assured/build.gradle.kts index 9fa2af59e..809f433b5 100644 --- a/allure-rest-assured/build.gradle.kts +++ b/allure-rest-assured/build.gradle.kts @@ -1,6 +1,6 @@ description = "Allure Rest-Assured Integration" -val restAssuredVersion = "5.4.0" +val restAssuredVersion = "5.5.0" dependencies { api(project(":allure-attachments")) From 3ceb6651f32236f322af3504a0d70649f8ab6a7b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:49:11 +0100 Subject: [PATCH 052/139] bump commons-io:commons-io from 2.11.0 to 2.16.1 (via #1075) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index c405c8f93..b62e426d1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -154,7 +154,7 @@ configure(libs) { dependency("com.google.testing.compile:compile-testing:0.19") dependency("com.puppycrawl.tools:checkstyle:10.17.0") dependency("com.squareup.retrofit2:retrofit:2.11.0") - dependency("commons-io:commons-io:2.11.0") + dependency("commons-io:commons-io:2.16.1") dependency("io.github.benas:random-beans:3.9.0") dependency("io.github.glytching:junit-extensions:2.6.0") dependency("javax.annotation:javax.annotation-api:1.3.2") From 7fc6768a941121435424ad1a66fd8cc57fe7632f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:49:30 +0100 Subject: [PATCH 053/139] bump org.jboss.resteasy:resteasy-client from 6.2.1.Final to 6.2.9.Final (via #1076) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index b62e426d1..9ef0be4b0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -168,7 +168,7 @@ configure(libs) { dependency("org.freemarker:freemarker:2.3.33") dependency("org.grpcmock:grpcmock-junit5:0.8.0") dependency("org.hamcrest:hamcrest:2.2") - dependency("org.jboss.resteasy:resteasy-client:6.2.1.Final") + dependency("org.jboss.resteasy:resteasy-client:6.2.9.Final") dependency("org.mock-server:mockserver-netty:5.15.0") dependency("org.mockito:mockito-core:5.12.0") dependency("org.slf4j:slf4j-api:${orgSlf4jVersion}") From b88b72aa163f24f875d9c8fd48f2202aa1893bb2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:49:49 +0100 Subject: [PATCH 054/139] bump io.zonky.test.postgres:embedded-postgres-binaries-bom from 15.3.0 to 16.2.0 (via #1077) --- allure-jooq/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-jooq/build.gradle.kts b/allure-jooq/build.gradle.kts index 5f557fbaf..51a655673 100644 --- a/allure-jooq/build.gradle.kts +++ b/allure-jooq/build.gradle.kts @@ -10,7 +10,7 @@ dependencies { testImplementation("org.junit.jupiter:junit-jupiter-api") testImplementation("org.mockito:mockito-core") testImplementation("org.slf4j:slf4j-simple") - testImplementation(platform("io.zonky.test.postgres:embedded-postgres-binaries-bom:15.3.0")) + testImplementation(platform("io.zonky.test.postgres:embedded-postgres-binaries-bom:16.2.0")) testImplementation(project(":allure-assertj")) testImplementation(project(":allure-java-commons-test")) testImplementation(project(":allure-junit-platform")) From 213b22155a67dfbe20472076feeb5bccee9673c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 19:06:16 +0100 Subject: [PATCH 055/139] bump org.springframework:spring-web from 5.3.20 to 5.3.37 (via #1080) --- allure-spring-web/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-spring-web/build.gradle.kts b/allure-spring-web/build.gradle.kts index 5d7d4fcda..07f258185 100644 --- a/allure-spring-web/build.gradle.kts +++ b/allure-spring-web/build.gradle.kts @@ -1,6 +1,6 @@ description = "Allure Spring Web Integration" -val springWebVersion = "5.3.20" +val springWebVersion = "5.3.37" dependencies { api(project(":allure-attachments")) From 77b0001e339fad5090f10424eb93fb9b587e070f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 19:06:35 +0100 Subject: [PATCH 056/139] bump assertJVersion from 1.9.9.1 to 1.9.22.1 (via #1082) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 9ef0be4b0..3b1f22340 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -140,7 +140,7 @@ configure(libs) { apply(plugin = "java-library") val orgSlf4jVersion = "2.0.13" - val assertJVersion = "1.9.9.1" + val assertJVersion = "1.9.22.1" dependencyManagement { imports { From f1c8ab638629ebf751905c5bd3526cbb9fc279b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 19:07:00 +0100 Subject: [PATCH 057/139] bump com.gradle.enterprise from 3.12.5 to 3.17.5 (via #1084) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 97a47fa33..43beb9018 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -49,7 +49,7 @@ pluginManagement { plugins { id("com.diffplug.spotless") version "6.25.0" id("com.github.johnrengelman.shadow") version "8.1.1" - id("com.gradle.enterprise") version "3.12.5" + id("com.gradle.enterprise") version "3.17.5" id("io.github.gradle-nexus.publish-plugin") version "2.0.0" id("io.qameta.allure-adapter") version "2.11.2" id("io.qameta.allure-aggregate-report") version "2.11.2" From f5fd60063ca493ebb97a2bca2108e99237c94394 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 19:08:34 +0100 Subject: [PATCH 058/139] bump com.google.testing.compile:compile-testing from 0.19 to 0.21.0 (via #1083) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 3b1f22340..bb4c056e7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -151,7 +151,7 @@ configure(libs) { dependency("com.github.spotbugs:spotbugs:4.8.3") dependency("com.github.tomakehurst:wiremock:3.0.1") dependency("com.google.inject:guice:7.0.0") - dependency("com.google.testing.compile:compile-testing:0.19") + dependency("com.google.testing.compile:compile-testing:0.21.0") dependency("com.puppycrawl.tools:checkstyle:10.17.0") dependency("com.squareup.retrofit2:retrofit:2.11.0") dependency("commons-io:commons-io:2.16.1") From be4c07fa943b053c1ffef7955b2d37392be10a2c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 19:34:31 +0100 Subject: [PATCH 059/139] bump io.zonky.test:embedded-postgres from 2.0.4 to 2.0.7 (via #1087) --- allure-jooq/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-jooq/build.gradle.kts b/allure-jooq/build.gradle.kts index 51a655673..b0b1c7884 100644 --- a/allure-jooq/build.gradle.kts +++ b/allure-jooq/build.gradle.kts @@ -5,7 +5,7 @@ val jooqVersion = "3.19.10" dependencies { api(project(":allure-java-commons")) implementation("org.jooq:jooq:${jooqVersion}") - testImplementation("io.zonky.test:embedded-postgres:2.0.4") + testImplementation("io.zonky.test:embedded-postgres:2.0.7") testImplementation("org.assertj:assertj-core") testImplementation("org.junit.jupiter:junit-jupiter-api") testImplementation("org.mockito:mockito-core") From 36ebd1b2a0dabf0e461c46d5740bb815a54f6fca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 20:20:12 +0100 Subject: [PATCH 060/139] bump jvm from 1.7.10 to 2.0.0 (via #1089) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 43beb9018..9ca480190 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -58,7 +58,7 @@ pluginManagement { id("io.spring.dependency-management") version "1.1.5" id("com.google.protobuf") version "0.9.4" id("com.github.spotbugs") version "6.0.6" - kotlin("jvm") version "1.7.10" + kotlin("jvm") version "2.0.0" } } From 43e38eae723ffa7c6ad1faf3389e71f598b20633 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Fri, 5 Jul 2024 20:47:27 +0100 Subject: [PATCH 061/139] build with java 21 (via #1090) --- .github/workflows/build.yml | 12 ++++-------- .github/workflows/publish.yml | 4 ++-- allure-scalatest/build.gradle.kts | 12 +++++------- allure-spock/build.gradle.kts | 2 +- allure-spock2/build.gradle.kts | 2 +- build.gradle.kts | 2 +- settings.gradle.kts | 9 +++++---- 7 files changed, 19 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ad77feb7d..cb14edb6f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,22 +14,18 @@ jobs: build: name: "Build" runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - java-version: [ '17.0.x' ] steps: - uses: actions/checkout@v4.1.1 - - name: Set up JDK ${{ matrix.java-version }} + - name: "Set up JDK" uses: actions/setup-java@v4 with: distribution: 'zulu' - java-version: ${{ matrix.java-version }} + java-version: 21 - - name: Build with Gradle + - name: "Build with Gradle" run: ./gradlew build -x test --scan - - name: Run tests + - name: "Run tests" if: always() run: ./gradlew --no-build-cache cleanTest test diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 75b78957e..28af62d51 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,11 +10,11 @@ jobs: steps: - uses: actions/checkout@v4.1.1 - - name: "Set up JDK 17.0.x" + - name: "Set up JDK" uses: actions/setup-java@v4 with: distribution: 'zulu' - java-version: '17.0.x' + java-version: '21' - name: Set up GPG run: echo -n "${GPG_PRIVATE_KEY}" | base64 --decode > ${GITHUB_WORKSPACE}/${GPG_KEY_ID}.gpg diff --git a/allure-scalatest/build.gradle.kts b/allure-scalatest/build.gradle.kts index 910d28ad2..2aa0f8d31 100644 --- a/allure-scalatest/build.gradle.kts +++ b/allure-scalatest/build.gradle.kts @@ -4,17 +4,15 @@ description = "Allure ScalaTest Integration" apply(plugin = "scala") -val availableScalaVersions = listOf("2.11", "2.12", "2.13") -val defaultScala211Version = "2.11.12" -val defaultScala212Version = "2.12.8" -val defaultScala213Version = "2.13.1" +val availableScalaVersions = listOf("2.12", "2.13") +val defaultScala212Version = "2.12.19" +val defaultScala213Version = "2.13.14" var selectedScalaVersion = defaultScala213Version if (hasProperty("scalaVersion")) { val scalaVersion: String by project selectedScalaVersion = when (scalaVersion) { - "2.11" -> defaultScala211Version "2.12" -> defaultScala212Version "2.13" -> defaultScala213Version else -> scalaVersion @@ -80,8 +78,8 @@ val installAll by tasks.creating { dependencies { api(project(":allure-java-commons")) - implementation("org.scalatest:scalatest_$baseScalaVersion:3.1.1") - implementation("org.scala-lang.modules:scala-collection-compat_$baseScalaVersion:2.1.4") + implementation("org.scalatest:scalatest_$baseScalaVersion:3.2.19") + implementation("org.scala-lang.modules:scala-collection-compat_$baseScalaVersion:2.12.0") testAnnotationProcessor(project(":allure-descriptions-javadoc")) testImplementation("io.github.glytching:junit-extensions") testImplementation("org.assertj:assertj-core") diff --git a/allure-spock/build.gradle.kts b/allure-spock/build.gradle.kts index 9fbbe98ae..f65503f4d 100644 --- a/allure-spock/build.gradle.kts +++ b/allure-spock/build.gradle.kts @@ -3,7 +3,7 @@ description = "Allure Spock Framework Integration" apply(plugin = "groovy") val spockFrameworkVersion = "1.3-groovy-2.5" -val groovyVersion = "2.5.19" +val groovyVersion = "2.5.23" dependencies { api(project(":allure-java-commons")) diff --git a/allure-spock2/build.gradle.kts b/allure-spock2/build.gradle.kts index 50c5c4ba9..fbbe45a55 100644 --- a/allure-spock2/build.gradle.kts +++ b/allure-spock2/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } val spockFrameworkVersion = "2.3-groovy-3.0" -val groovyVersion = "3.0.13" +val groovyVersion = "3.0.22" dependencies { api(project(":allure-java-commons")) diff --git a/build.gradle.kts b/build.gradle.kts index bb4c056e7..8232a0d34 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -27,7 +27,7 @@ plugins { java { toolchain { - languageVersion.set(JavaLanguageVersion.of(17)) + languageVersion.set(JavaLanguageVersion.of(21)) } } diff --git a/settings.gradle.kts b/settings.gradle.kts index 9ca480190..6e1af8fd9 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -63,16 +63,17 @@ pluginManagement { } plugins { - id("com.gradle.enterprise") + id("com.gradle.develocity") version "3.17.5" apply false } val isCiServer = System.getenv().containsKey("CI") if (isCiServer) { - gradleEnterprise { + apply(plugin = "com.gradle.develocity") + develocity { buildScan { - termsOfServiceUrl = "https://gradle.com/terms-of-service" - termsOfServiceAgree = "yes" + termsOfUseUrl = "https://gradle.com/terms-of-service" + termsOfUseAgree = "yes" tag("CI") } } From b416eaa98cba174fd166fc7c601724550b54c518 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 22:29:44 +0100 Subject: [PATCH 062/139] bump com.fasterxml.jackson:jackson-bom from 2.14.1 to 2.17.2 (#1086) --- allure-java-commons/build.gradle.kts | 2 +- allure-test-filter/build.gradle.kts | 2 +- build.gradle.kts | 3 ++- settings.gradle.kts | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/allure-java-commons/build.gradle.kts b/allure-java-commons/build.gradle.kts index 65c5ae82d..34a9a2ed3 100644 --- a/allure-java-commons/build.gradle.kts +++ b/allure-java-commons/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.github.johnrengelman.shadow") + id("io.github.goooler.shadow") } description = "Allure Java Commons" diff --git a/allure-test-filter/build.gradle.kts b/allure-test-filter/build.gradle.kts index 547df0125..b2198ce39 100644 --- a/allure-test-filter/build.gradle.kts +++ b/allure-test-filter/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.github.johnrengelman.shadow") + id("io.github.goooler.shadow") } description = "Allure Test Filter" diff --git a/build.gradle.kts b/build.gradle.kts index 8232a0d34..33e53ac4a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -144,7 +144,7 @@ configure(libs) { dependencyManagement { imports { - mavenBom("com.fasterxml.jackson:jackson-bom:2.14.1") + mavenBom("com.fasterxml.jackson:jackson-bom:2.17.2") mavenBom("org.junit:junit-bom:5.10.3") } dependencies { @@ -193,6 +193,7 @@ configure(libs) { tasks { compileJava { + options.compilerArgs.add("-Xlint:-options") if (JavaVersion.current().isJava8) { java.targetCompatibility = JavaVersion.VERSION_1_8 } else { diff --git a/settings.gradle.kts b/settings.gradle.kts index 6e1af8fd9..3b27fe7cd 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -48,7 +48,7 @@ pluginManagement { } plugins { id("com.diffplug.spotless") version "6.25.0" - id("com.github.johnrengelman.shadow") version "8.1.1" + id("io.github.goooler.shadow") version "8.1.8" id("com.gradle.enterprise") version "3.17.5" id("io.github.gradle-nexus.publish-plugin") version "2.0.0" id("io.qameta.allure-adapter") version "2.11.2" From 97f0e9c51c7ebddc3f3aa42cbc39eef6e34c9a2c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 22:30:44 +0100 Subject: [PATCH 063/139] bump org.assertj:assertj-core from 3.23.1 to 3.26.0 (#1092) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 33e53ac4a..e1d28ee2a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -164,7 +164,7 @@ configure(libs) { dependency("org.apache.httpcomponents.client5:httpclient5:5.3.1") dependency("org.aspectj:aspectjrt:${assertJVersion}") dependency("org.aspectj:aspectjweaver:${assertJVersion}") - dependency("org.assertj:assertj-core:3.23.1") + dependency("org.assertj:assertj-core:3.26.0") dependency("org.freemarker:freemarker:2.3.33") dependency("org.grpcmock:grpcmock-junit5:0.8.0") dependency("org.hamcrest:hamcrest:2.2") From 5cdb7b4f98da0829c85766fc8b4e89921264a456 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 22:40:00 +0100 Subject: [PATCH 064/139] bump com.github.spotbugs from 6.0.6 to 6.0.18 (via #1091) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 3b27fe7cd..c0b6759d8 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -57,7 +57,7 @@ pluginManagement { id("io.qameta.allure-report") version "2.11.2" id("io.spring.dependency-management") version "1.1.5" id("com.google.protobuf") version "0.9.4" - id("com.github.spotbugs") version "6.0.6" + id("com.github.spotbugs") version "6.0.18" kotlin("jvm") version "2.0.0" } } From 1a5306b682ba0c05c179c9ca3954648ecf3a8eab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 12:45:47 +0100 Subject: [PATCH 065/139] bump org.apache.commons:commons-lang3 from 3.12.0 to 3.14.0 (via #1093) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index e1d28ee2a..bffc86331 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -159,7 +159,7 @@ configure(libs) { dependency("io.github.glytching:junit-extensions:2.6.0") dependency("javax.annotation:javax.annotation-api:1.3.2") dependency("net.sourceforge.pmd:pmd-java:7.3.0") - dependency("org.apache.commons:commons-lang3:3.12.0") + dependency("org.apache.commons:commons-lang3:3.14.0") dependency("org.apache.httpcomponents:httpclient:4.5.14") dependency("org.apache.httpcomponents.client5:httpclient5:5.3.1") dependency("org.aspectj:aspectjrt:${assertJVersion}") From d552349bb66474916fa1ebeb05cb5efff7fba944 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 13:11:12 +0100 Subject: [PATCH 066/139] build(deps): bump io.spring.dependency-management from 1.1.5 to 1.1.6 (via #1094) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index c0b6759d8..4bc95c3d9 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -55,7 +55,7 @@ pluginManagement { id("io.qameta.allure-aggregate-report") version "2.11.2" id("io.qameta.allure-download") version "2.11.2" id("io.qameta.allure-report") version "2.11.2" - id("io.spring.dependency-management") version "1.1.5" + id("io.spring.dependency-management") version "1.1.6" id("com.google.protobuf") version "0.9.4" id("com.github.spotbugs") version "6.0.18" kotlin("jvm") version "2.0.0" From 9dee4443b318f7b046ff4590ea3e9b760379d1ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 13:11:34 +0100 Subject: [PATCH 067/139] bump com.github.spotbugs:spotbugs from 4.8.3 to 4.8.6 (via #1081) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index bffc86331..d4b5d1fd9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -148,7 +148,7 @@ configure(libs) { mavenBom("org.junit:junit-bom:5.10.3") } dependencies { - dependency("com.github.spotbugs:spotbugs:4.8.3") + dependency("com.github.spotbugs:spotbugs:4.8.6") dependency("com.github.tomakehurst:wiremock:3.0.1") dependency("com.google.inject:guice:7.0.0") dependency("com.google.testing.compile:compile-testing:0.21.0") From 515752a5a689228d1f1c06c35bd118f2a398af51 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 16:24:36 +0100 Subject: [PATCH 068/139] bump com.codeborne:selenide from 6.17.1 to 7.3.3 (via #1088) --- allure-selenide/build.gradle.kts | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/allure-selenide/build.gradle.kts b/allure-selenide/build.gradle.kts index 39ca99aa1..9e086e1d8 100644 --- a/allure-selenide/build.gradle.kts +++ b/allure-selenide/build.gradle.kts @@ -1,6 +1,6 @@ description = "Allure Selenide Integration" -val selenideVersion = "6.17.1" +val selenideVersion = "7.3.3" dependencies { api(project(":allure-java-commons")) @@ -15,14 +15,23 @@ dependencies { testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") } -tasks.jar { - manifest { - attributes(mapOf( - "Automatic-Module-Name" to "io.qameta.allure.selenide" - )) +tasks { + compileJava { + options.release.set(17) + } + compileTestJava { + options.release.set(17) + } + jar { + manifest { + attributes( + mapOf( + "Automatic-Module-Name" to "io.qameta.allure.selenide" + ) + ) + } + } + test { + useJUnitPlatform() } -} - -tasks.test { - useJUnitPlatform() } From 254d2f2b1ffd69f4505f0f520d0cc6099a0d18f8 Mon Sep 17 00:00:00 2001 From: qameta-ci Date: Tue, 9 Jul 2024 09:40:45 +0000 Subject: [PATCH 069/139] release 2.28.0 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 872642fb0..ff0fe585e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.28-SNAPSHOT +version=2.28.0 org.gradle.daemon=true org.gradle.parallel=true From 9620a5a9ffa7e516053268e236c4982dac473410 Mon Sep 17 00:00:00 2001 From: qameta-ci Date: Tue, 9 Jul 2024 09:40:46 +0000 Subject: [PATCH 070/139] set next development version 2.29 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index ff0fe585e..1bdb57a6e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.28.0 +version=2.29-SNAPSHOT org.gradle.daemon=true org.gradle.parallel=true From faa5d9b834fa7721c479f27bfed91b0e5a7e091d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Jul 2024 11:20:39 +0100 Subject: [PATCH 071/139] bump org.assertj:assertj-core from 3.26.0 to 3.26.3 (via #1097) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index d4b5d1fd9..72078aed7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -164,7 +164,7 @@ configure(libs) { dependency("org.apache.httpcomponents.client5:httpclient5:5.3.1") dependency("org.aspectj:aspectjrt:${assertJVersion}") dependency("org.aspectj:aspectjweaver:${assertJVersion}") - dependency("org.assertj:assertj-core:3.26.0") + dependency("org.assertj:assertj-core:3.26.3") dependency("org.freemarker:freemarker:2.3.33") dependency("org.grpcmock:grpcmock-junit5:0.8.0") dependency("org.hamcrest:hamcrest:2.2") From 8f8cde929b1d554be59029ef2b9a36cbb85eb590 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:00:07 +0100 Subject: [PATCH 072/139] bump org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0 (via #1102) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 72078aed7..2fb93b6c8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -159,7 +159,7 @@ configure(libs) { dependency("io.github.glytching:junit-extensions:2.6.0") dependency("javax.annotation:javax.annotation-api:1.3.2") dependency("net.sourceforge.pmd:pmd-java:7.3.0") - dependency("org.apache.commons:commons-lang3:3.14.0") + dependency("org.apache.commons:commons-lang3:3.15.0") dependency("org.apache.httpcomponents:httpclient:4.5.14") dependency("org.apache.httpcomponents.client5:httpclient5:5.3.1") dependency("org.aspectj:aspectjrt:${assertJVersion}") From 558373ccb8dc3209c2b7a23e5b00d260df4abcd3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:00:29 +0100 Subject: [PATCH 073/139] bump com.github.spotbugs from 6.0.18 to 6.0.19 (via #1099) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 4bc95c3d9..063c8ebcc 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -57,7 +57,7 @@ pluginManagement { id("io.qameta.allure-report") version "2.11.2" id("io.spring.dependency-management") version "1.1.6" id("com.google.protobuf") version "0.9.4" - id("com.github.spotbugs") version "6.0.18" + id("com.github.spotbugs") version "6.0.19" kotlin("jvm") version "2.0.0" } } From 7948193cf7316a4b8a0884c6ee46fc55b3701f75 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Wed, 31 Jul 2024 13:00:18 +0100 Subject: [PATCH 074/139] fix(allure-scalatest): cross-build for scala 2.12 and 2.13 (via #1107) --- allure-scalatest/build.gradle.kts | 115 +++++++++----------- build.gradle.kts | 16 +-- gradle/quality-configs/spotbugs/exclude.xml | 3 + 3 files changed, 63 insertions(+), 71 deletions(-) diff --git a/allure-scalatest/build.gradle.kts b/allure-scalatest/build.gradle.kts index 2aa0f8d31..039f8bb3a 100644 --- a/allure-scalatest/build.gradle.kts +++ b/allure-scalatest/build.gradle.kts @@ -2,84 +2,78 @@ import org.gradle.jvm.tasks.Jar description = "Allure ScalaTest Integration" -apply(plugin = "scala") +plugins { + scala + id("com.github.prokod.gradle-crossbuild") version "0.16.0" +} -val availableScalaVersions = listOf("2.12", "2.13") -val defaultScala212Version = "2.12.19" -val defaultScala213Version = "2.13.14" +val scala212 = "2.12" +val scala213 = "2.13" -var selectedScalaVersion = defaultScala213Version +project.base.archivesName.set("allure-scalatest") -if (hasProperty("scalaVersion")) { - val scalaVersion: String by project - selectedScalaVersion = when (scalaVersion) { - "2.12" -> defaultScala212Version - "2.13" -> defaultScala213Version - else -> scalaVersion +crossBuild { + scalaVersionsCatalog = mapOf( + scala212 to "2.12.19", + scala213 to "2.13.14" + ) + builds { + register("scala") { + scalaVersions = setOf(scala212, scala213) + } } } -val baseScalaVersion = selectedScalaVersion.substring(0, selectedScalaVersion.lastIndexOf(".")) -project.base.archivesName.set("allure-scalatest_$baseScalaVersion") - -for (sv in availableScalaVersions) { - val taskSuffix = sv.replace('.', '_') +val crossBuildScala_212Jar by tasks.getting +val crossBuildScala_213Jar by tasks.getting - tasks.create("jarScala_$taskSuffix", GradleBuild::class) { - startParameter = project.gradle.startParameter.newInstance() - startParameter.projectProperties["scalaVersion"] = sv - tasks = listOf("jar") - } +val scaladocJar by tasks.creating(Jar::class) { + from(tasks.getByName("scaladoc")) + archiveClassifier.set("scaladoc") +} - tasks.create("testScala_$taskSuffix", GradleBuild::class) { - startParameter = project.gradle.startParameter.newInstance() - startParameter.projectProperties["scalaVersion"] = sv - tasks = listOf("test") +tasks.withType().configureEach { + val predicate = provider { + publication != publishing.publications["maven"] } - - tasks.create("sourceJarScala_$taskSuffix", GradleBuild::class) { - startParameter = project.gradle.startParameter.newInstance() - startParameter.projectProperties["scalaVersion"] = sv - tasks = listOf("sourceJar") + onlyIf("disable default maven publication") { + predicate.get() } +} - tasks.create("scaladocJarScala_$taskSuffix", GradleBuild::class) { - startParameter = project.gradle.startParameter.newInstance() - startParameter.projectProperties["scalaVersion"] = sv - tasks = listOf("scaladocJar") +tasks.withType().configureEach { + val predicate = provider { + publication != publishing.publications["maven"] } - - tasks.create("installScala_$taskSuffix", GradleBuild::class) { - startParameter = project.gradle.startParameter.newInstance() - startParameter.projectProperties["scalaVersion"] = sv - tasks = listOf("install") + onlyIf("disable default maven publication") { + predicate.get() } } -val jarAll by tasks.creating { - dependsOn(availableScalaVersions.map { "jarScala_${it.replace('.', '_')}" }) -} - -val testAll by tasks.creating { - dependsOn(availableScalaVersions.map { "testScala_${it.replace('.', '_')}" }) -} - -val sourceJarAll by tasks.creating { - dependsOn(availableScalaVersions.map { "sourceJarScala_${it.replace('.', '_')}" }) -} - -val scaladocJarAll by tasks.creating { - dependsOn(availableScalaVersions.map { "scaladocJarScala_${it.replace('.', '_')}" }) +publishing { + publications { + create("crossBuildScala_212") { + from(components["crossBuildScala_212"]) + artifact(scaladocJar) + artifact(tasks.sourcesJar) + } + create("crossBuildScala_213") { + from(components["crossBuildScala_213"]) + artifact(scaladocJar) + artifact(tasks.sourcesJar) + } + } } -val installAll by tasks.creating { - dependsOn(availableScalaVersions.map { "installScala_${it.replace('.', '_')}" }) +signing { + sign(publishing.publications["crossBuildScala_212"]) + sign(publishing.publications["crossBuildScala_213"]) } dependencies { api(project(":allure-java-commons")) - implementation("org.scalatest:scalatest_$baseScalaVersion:3.2.19") - implementation("org.scala-lang.modules:scala-collection-compat_$baseScalaVersion:2.12.0") + implementation("org.scalatest:scalatest_$scala213:3.2.19") + implementation("org.scala-lang.modules:scala-collection-compat_$scala213:2.12.0") testAnnotationProcessor(project(":allure-descriptions-javadoc")) testImplementation("io.github.glytching:junit-extensions") testImplementation("org.assertj:assertj-core") @@ -92,13 +86,6 @@ dependencies { testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") } -val scaladocJar by tasks.creating(Jar::class) { - from(tasks.getByName("scaladoc")) - archiveClassifier.set("scaladoc") -} - -artifacts.add("archives", scaladocJar) - tasks.jar { manifest { attributes(mapOf( diff --git a/build.gradle.kts b/build.gradle.kts index 2fb93b6c8..ce3370c87 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -56,13 +56,7 @@ configure(subprojects) { publishing { publications { - create("maven") { - suppressAllPomMetadataWarnings() - versionMapping { - allVariants { - fromResolutionResult() - } - } + withType().configureEach { pom { name.set(project.name) description.set("Module ${project.name} of Allure Framework.") @@ -106,6 +100,14 @@ configure(subprojects) { } } } + create("maven") { + suppressAllPomMetadataWarnings() + versionMapping { + allVariants { + fromResolutionResult() + } + } + } } } diff --git a/gradle/quality-configs/spotbugs/exclude.xml b/gradle/quality-configs/spotbugs/exclude.xml index 0b8a2de89..f942c310b 100644 --- a/gradle/quality-configs/spotbugs/exclude.xml +++ b/gradle/quality-configs/spotbugs/exclude.xml @@ -6,6 +6,9 @@ + + + From 9de28ad45f774dffdf01ae50f1f4cd5ad64ebb6e Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Wed, 31 Jul 2024 18:46:16 +0100 Subject: [PATCH 075/139] fix(scalatest): resolve issues with crossbuild signing (via #1111) --- allure-scalatest/build.gradle.kts | 77 ++++++++++++++++++------------- 1 file changed, 45 insertions(+), 32 deletions(-) diff --git a/allure-scalatest/build.gradle.kts b/allure-scalatest/build.gradle.kts index 039f8bb3a..6de0e41c4 100644 --- a/allure-scalatest/build.gradle.kts +++ b/allure-scalatest/build.gradle.kts @@ -1,5 +1,3 @@ -import org.gradle.jvm.tasks.Jar - description = "Allure ScalaTest Integration" plugins { @@ -24,50 +22,63 @@ crossBuild { } } -val crossBuildScala_212Jar by tasks.getting -val crossBuildScala_213Jar by tasks.getting - -val scaladocJar by tasks.creating(Jar::class) { - from(tasks.getByName("scaladoc")) - archiveClassifier.set("scaladoc") +tasks.publishMavenPublicationToMavenLocal { + enabled = false } - -tasks.withType().configureEach { - val predicate = provider { - publication != publishing.publications["maven"] - } - onlyIf("disable default maven publication") { - predicate.get() - } +tasks.publishMavenPublicationToSonatypeRepository { + enabled = false } - -tasks.withType().configureEach { - val predicate = provider { - publication != publishing.publications["maven"] - } - onlyIf("disable default maven publication") { - predicate.get() - } +tasks.signMavenPublication { + enabled = false +} +tasks.sourcesJar { + enabled = false } publishing { publications { create("crossBuildScala_212") { from(components["crossBuildScala_212"]) - artifact(scaladocJar) - artifact(tasks.sourcesJar) + + val crossBuildScala_212SourcesJar by tasks.creating(Jar::class) { + from(sourceSets["crossBuildScala_212"].allSource) + archiveBaseName.set("allure-scalatest_$scala212") + archiveClassifier.set("sources") + } + artifact(crossBuildScala_212SourcesJar) + + val crossBuildScala_212ScaladocJar by tasks.creating(Jar::class) { + from(tasks.scaladoc) + archiveBaseName.set("allure-scalatest_$scala212") + archiveClassifier.set("scaladoc") + } + artifact(crossBuildScala_212ScaladocJar) } create("crossBuildScala_213") { from(components["crossBuildScala_213"]) - artifact(scaladocJar) - artifact(tasks.sourcesJar) + + val crossBuildScala_213SourcesJar by tasks.creating(Jar::class) { + from(sourceSets["crossBuildScala_213"].allSource) + archiveBaseName.set("allure-scalatest_$scala213") + archiveClassifier.set("sources") + } + artifact(crossBuildScala_213SourcesJar) + + val crossBuildScala_213ScaladocJar by tasks.creating(Jar::class) { + from(tasks.scaladoc) + archiveBaseName.set("allure-scalatest_$scala213") + archiveClassifier.set("scaladoc") + } + artifact(crossBuildScala_213ScaladocJar) } } } signing { - sign(publishing.publications["crossBuildScala_212"]) - sign(publishing.publications["crossBuildScala_213"]) + sign( + publishing.publications["crossBuildScala_212"], + publishing.publications["crossBuildScala_213"] + ) } dependencies { @@ -88,9 +99,11 @@ dependencies { tasks.jar { manifest { - attributes(mapOf( + attributes( + mapOf( "Automatic-Module-Name" to "io.qameta.allure.scalatest" - )) + ) + ) } } From b40acffa5d4de4257f7420152b050b60c5e15828 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Wed, 31 Jul 2024 19:16:33 +0100 Subject: [PATCH 076/139] fix(allure-scalatest): rename scaladoc to javadoc --- allure-scalatest/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/allure-scalatest/build.gradle.kts b/allure-scalatest/build.gradle.kts index 6de0e41c4..aae6abbc4 100644 --- a/allure-scalatest/build.gradle.kts +++ b/allure-scalatest/build.gradle.kts @@ -50,7 +50,7 @@ publishing { val crossBuildScala_212ScaladocJar by tasks.creating(Jar::class) { from(tasks.scaladoc) archiveBaseName.set("allure-scalatest_$scala212") - archiveClassifier.set("scaladoc") + archiveClassifier.set("javadoc") } artifact(crossBuildScala_212ScaladocJar) } @@ -67,7 +67,7 @@ publishing { val crossBuildScala_213ScaladocJar by tasks.creating(Jar::class) { from(tasks.scaladoc) archiveBaseName.set("allure-scalatest_$scala213") - archiveClassifier.set("scaladoc") + archiveClassifier.set("javadoc") } artifact(crossBuildScala_213ScaladocJar) } From 8f7278f93da98e6e07527621e607f4bcd605fd02 Mon Sep 17 00:00:00 2001 From: qameta-ci Date: Wed, 31 Jul 2024 18:17:16 +0000 Subject: [PATCH 077/139] release 2.28.1 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 1bdb57a6e..23a27d98f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.29-SNAPSHOT +version=2.28.1 org.gradle.daemon=true org.gradle.parallel=true From a2f252eb0b16ac4b3027ecc1057a98db8cf6fb94 Mon Sep 17 00:00:00 2001 From: qameta-ci Date: Wed, 31 Jul 2024 18:17:17 +0000 Subject: [PATCH 078/139] set next development version 2.29 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 23a27d98f..1bdb57a6e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.28.1 +version=2.29-SNAPSHOT org.gradle.daemon=true org.gradle.parallel=true From 702b526c9215b599a7dfbb14be1003e743d6fc4f Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Thu, 1 Aug 2024 11:53:58 +0100 Subject: [PATCH 079/139] chore(build): fix used jdk (fixes #1105, via #1112) --- allure-jooq/build.gradle.kts | 6 ++---- build.gradle.kts | 6 +----- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/allure-jooq/build.gradle.kts b/allure-jooq/build.gradle.kts index b0b1c7884..00ff3b0d8 100644 --- a/allure-jooq/build.gradle.kts +++ b/allure-jooq/build.gradle.kts @@ -18,10 +18,8 @@ dependencies { testRuntimeOnly("org.postgresql:postgresql:42.7.3") } -java { - toolchain { - languageVersion.set(JavaLanguageVersion.of(17)) - } +tasks.compileJava { + options.release.set(17) } tasks.jar { diff --git a/build.gradle.kts b/build.gradle.kts index ce3370c87..8c59bb7bb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -196,11 +196,7 @@ configure(libs) { tasks { compileJava { options.compilerArgs.add("-Xlint:-options") - if (JavaVersion.current().isJava8) { - java.targetCompatibility = JavaVersion.VERSION_1_8 - } else { - options.release.set(8) - } + options.release.set(8) } compileTestJava { From 2bc8a104ab16f24ffcf695f44383c74a7716ae82 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Fri, 2 Aug 2024 11:46:21 +0100 Subject: [PATCH 080/139] move dependencies to compileOnly to exclude them from classpath (via #1095) --- allure-awaitility/build.gradle.kts | 5 +- allure-cucumber4-jvm/build.gradle.kts | 6 +- allure-cucumber5-jvm/build.gradle.kts | 6 +- allure-cucumber6-jvm/build.gradle.kts | 2 +- allure-cucumber7-jvm/build.gradle.kts | 2 +- allure-grpc/build.gradle.kts | 15 +- allure-hamcrest/build.gradle.kts | 5 +- allure-httpclient/build.gradle.kts | 5 +- allure-httpclient5/build.gradle.kts | 7 +- allure-java-migration/build.gradle.kts | 35 --- .../allure/aspects/Allure1Annotations.java | 131 ---------- .../allure/aspects/Allure1AttachAspects.java | 90 ------- .../aspects/Allure1ParametersAspects.java | 78 ------ .../allure/aspects/Allure1StepsAspects.java | 117 --------- .../aspects/Allure1TestCaseAspects.java | 72 ------ .../qameta/allure/aspects/Allure1Utils.java | 182 -------------- .../allure/annotations/Attachment.java | 55 ---- .../allure/annotations/Description.java | 47 ---- .../qatools/allure/annotations/Features.java | 51 ---- .../qatools/allure/annotations/Issue.java | 40 --- .../qatools/allure/annotations/Issues.java | 44 ---- .../qatools/allure/annotations/Parameter.java | 52 ---- .../qatools/allure/annotations/Severity.java | 39 --- .../qatools/allure/annotations/Step.java | 43 ---- .../qatools/allure/annotations/Stories.java | 50 ---- .../allure/annotations/TestCaseId.java | 40 --- .../qatools/allure/annotations/Title.java | 37 --- .../qatools/allure/model/DescriptionType.java | 39 --- .../qatools/allure/model/SeverityLevel.java | 43 ---- .../src/main/resources/META-INF/aop-ajc.xml | 9 - .../aspects/Allure1AttachAspectsTest.java | 92 ------- .../aspects/Allure1StepsAspectsTest.java | 79 ------ .../aspects/Allure1TestCaseAspectsTest.java | 237 ------------------ .../src/test/resources/allure.properties | 2 - allure-jax-rs/build.gradle.kts | 3 +- allure-jbehave/build.gradle.kts | 3 +- allure-jbehave5/build.gradle.kts | 3 +- allure-jooq/build.gradle.kts | 3 +- allure-jsonunit/build.gradle.kts | 4 +- .../allure/jsonunit/JsonPatchListener.java | 5 +- allure-junit4-aspect/build.gradle.kts | 4 +- allure-junit4/build.gradle.kts | 3 +- allure-junit5-assert/build.gradle.kts | 3 +- allure-junit5/build.gradle.kts | 5 +- allure-karate/build.gradle.kts | 7 +- allure-okhttp/build.gradle.kts | 3 +- allure-okhttp3/build.gradle.kts | 5 +- allure-rest-assured/build.gradle.kts | 3 +- allure-scalatest/build.gradle.kts | 6 +- allure-servlet-api/build.gradle.kts | 3 +- allure-spock/build.gradle.kts | 3 +- allure-spock2/build.gradle.kts | 3 +- allure-spring-web/build.gradle.kts | 3 +- allure-testng/build.gradle.kts | 3 +- build.gradle.kts | 6 +- settings.gradle.kts | 1 - 56 files changed, 82 insertions(+), 1757 deletions(-) delete mode 100644 allure-java-migration/build.gradle.kts delete mode 100644 allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Annotations.java delete mode 100644 allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1AttachAspects.java delete mode 100644 allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1ParametersAspects.java delete mode 100644 allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1StepsAspects.java delete mode 100644 allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1TestCaseAspects.java delete mode 100644 allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Utils.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Attachment.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Description.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Features.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Issue.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Issues.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Parameter.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Severity.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Step.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Stories.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/TestCaseId.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/annotations/Title.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/model/DescriptionType.java delete mode 100644 allure-java-migration/src/main/java/ru/yandex/qatools/allure/model/SeverityLevel.java delete mode 100644 allure-java-migration/src/main/resources/META-INF/aop-ajc.xml delete mode 100644 allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1AttachAspectsTest.java delete mode 100644 allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1StepsAspectsTest.java delete mode 100644 allure-java-migration/src/test/java/io/qameta/allure/aspects/Allure1TestCaseAspectsTest.java delete mode 100644 allure-java-migration/src/test/resources/allure.properties diff --git a/allure-awaitility/build.gradle.kts b/allure-awaitility/build.gradle.kts index 587ca0308..e7afac938 100644 --- a/allure-awaitility/build.gradle.kts +++ b/allure-awaitility/build.gradle.kts @@ -7,9 +7,10 @@ val awaitilityVersion = "4.2.1" dependencies { agent("org.aspectj:aspectjweaver") api(project(":allure-java-commons")) - implementation("org.awaitility:awaitility:$awaitilityVersion") + compileOnly("org.awaitility:awaitility:$awaitilityVersion") testImplementation("javax.annotation:javax.annotation-api") testImplementation("org.assertj:assertj-core") + testImplementation("org.awaitility:awaitility:$awaitilityVersion") testImplementation("org.junit.jupiter:junit-jupiter-api") testImplementation("org.slf4j:slf4j-simple") testImplementation(project(":allure-java-commons-test")) @@ -27,4 +28,4 @@ tasks.jar { tasks.test { useJUnitPlatform() -} \ No newline at end of file +} diff --git a/allure-cucumber4-jvm/build.gradle.kts b/allure-cucumber4-jvm/build.gradle.kts index 37b660454..26b244ee0 100644 --- a/allure-cucumber4-jvm/build.gradle.kts +++ b/allure-cucumber4-jvm/build.gradle.kts @@ -4,9 +4,11 @@ val cucumberVersion = "4.8.0" dependencies { api(project(":allure-java-commons")) - implementation("io.cucumber:cucumber-core:$cucumberVersion") - implementation("io.cucumber:cucumber-java:$cucumberVersion") + compileOnly("io.cucumber:cucumber-core:$cucumberVersion") + compileOnly("io.cucumber:cucumber-java:$cucumberVersion") testImplementation("commons-io:commons-io") + testImplementation("io.cucumber:cucumber-core:$cucumberVersion") + testImplementation("io.cucumber:cucumber-java:$cucumberVersion") testImplementation("io.github.glytching:junit-extensions") testImplementation("org.assertj:assertj-core") testImplementation("org.junit.jupiter:junit-jupiter-api") diff --git a/allure-cucumber5-jvm/build.gradle.kts b/allure-cucumber5-jvm/build.gradle.kts index 0bb513d73..4e0d44c9d 100644 --- a/allure-cucumber5-jvm/build.gradle.kts +++ b/allure-cucumber5-jvm/build.gradle.kts @@ -6,11 +6,11 @@ val cucumberGherkinVersion = "5.1.0" dependencies { api(project(":allure-java-commons")) compileOnly("io.cucumber:cucumber-plugin:$cucumberVersion") - implementation("io.cucumber:gherkin:$cucumberGherkinVersion") - testImplementation("io.cucumber:gherkin:$cucumberGherkinVersion") + compileOnly("io.cucumber:gherkin:$cucumberGherkinVersion") + testImplementation("commons-io:commons-io") testImplementation("io.cucumber:cucumber-core:$cucumberVersion") testImplementation("io.cucumber:cucumber-java:$cucumberVersion") - testImplementation("commons-io:commons-io") + testImplementation("io.cucumber:gherkin:$cucumberGherkinVersion") testImplementation("io.github.glytching:junit-extensions") testImplementation("org.assertj:assertj-core") testImplementation("org.junit.jupiter:junit-jupiter-api") diff --git a/allure-cucumber6-jvm/build.gradle.kts b/allure-cucumber6-jvm/build.gradle.kts index e0a1922ab..cbe2c710c 100644 --- a/allure-cucumber6-jvm/build.gradle.kts +++ b/allure-cucumber6-jvm/build.gradle.kts @@ -6,7 +6,7 @@ val cucumberGherkinVersion = "18.0.0" dependencies { api(project(":allure-java-commons")) compileOnly("io.cucumber:cucumber-plugin:$cucumberVersion") - implementation("io.cucumber:gherkin:$cucumberGherkinVersion") + compileOnly("io.cucumber:gherkin:$cucumberGherkinVersion") testImplementation("commons-io:commons-io") testImplementation("io.cucumber:cucumber-core:$cucumberVersion") testImplementation("io.cucumber:cucumber-java:$cucumberVersion") diff --git a/allure-cucumber7-jvm/build.gradle.kts b/allure-cucumber7-jvm/build.gradle.kts index 4b33f0eaf..2a1f44c98 100644 --- a/allure-cucumber7-jvm/build.gradle.kts +++ b/allure-cucumber7-jvm/build.gradle.kts @@ -6,7 +6,7 @@ val cucumberGherkinVersion = "26.2.0" dependencies { api(project(":allure-java-commons")) compileOnly("io.cucumber:cucumber-plugin:$cucumberVersion") - implementation("io.cucumber:gherkin:$cucumberGherkinVersion") + compileOnly("io.cucumber:gherkin:$cucumberGherkinVersion") testImplementation("commons-io:commons-io") testImplementation("io.cucumber:cucumber-core:$cucumberVersion") testImplementation("io.cucumber:cucumber-java:$cucumberVersion") diff --git a/allure-grpc/build.gradle.kts b/allure-grpc/build.gradle.kts index cd1ddfd34..54ed3b5da 100644 --- a/allure-grpc/build.gradle.kts +++ b/allure-grpc/build.gradle.kts @@ -14,16 +14,17 @@ val protobufVersion = "4.27.2" dependencies { agent("org.aspectj:aspectjweaver") api(project(":allure-attachments")) - implementation("io.grpc:grpc-core:$grpcVersion") - implementation("com.google.protobuf:protobuf-java-util:$protobufVersion") - - testImplementation("io.grpc:grpc-stub:$grpcVersion") - testImplementation("io.grpc:grpc-protobuf:$grpcVersion") - testImplementation("io.grpc:grpc-netty-shaded:$grpcVersion") + compileOnly("com.google.protobuf:protobuf-java-util:$protobufVersion") + compileOnly("io.grpc:grpc-core:$grpcVersion") + testImplementation("com.google.protobuf:protobuf-java-util:$protobufVersion") testImplementation("com.google.protobuf:protobuf-java:$protobufVersion") - testImplementation("org.grpcmock:grpcmock-junit5") + testImplementation("io.grpc:grpc-core:$grpcVersion") + testImplementation("io.grpc:grpc-netty-shaded:$grpcVersion") + testImplementation("io.grpc:grpc-protobuf:$grpcVersion") + testImplementation("io.grpc:grpc-stub:$grpcVersion") testImplementation("javax.annotation:javax.annotation-api") testImplementation("org.assertj:assertj-core") + testImplementation("org.grpcmock:grpcmock-junit5") testImplementation("org.junit.jupiter:junit-jupiter-api") testImplementation("org.slf4j:slf4j-simple") testImplementation(project(":allure-java-commons-test")) diff --git a/allure-hamcrest/build.gradle.kts b/allure-hamcrest/build.gradle.kts index 8ccb0ee47..6b0e5dd3a 100644 --- a/allure-hamcrest/build.gradle.kts +++ b/allure-hamcrest/build.gradle.kts @@ -3,11 +3,12 @@ description = "Allure Hamcrest Assertions Integration" dependencies { api(project(":allure-java-commons")) compileOnly("org.aspectj:aspectjrt") - implementation("org.hamcrest:hamcrest") + compileOnly("org.hamcrest:hamcrest") testAnnotationProcessor(project(":allure-descriptions-javadoc")) + testImplementation("org.assertj:assertj-core") + testImplementation("org.hamcrest:hamcrest") testImplementation("org.junit.jupiter:junit-jupiter-api") testImplementation("org.junit.jupiter:junit-jupiter-params") - testImplementation("org.assertj:assertj-core") testImplementation("org.slf4j:slf4j-simple") testImplementation(project(":allure-java-commons-test")) testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") diff --git a/allure-httpclient/build.gradle.kts b/allure-httpclient/build.gradle.kts index 087e00bfb..9f3b4c554 100644 --- a/allure-httpclient/build.gradle.kts +++ b/allure-httpclient/build.gradle.kts @@ -1,10 +1,13 @@ description = "Allure Apache HttpClient Integration" +val httpClient4Version = "4.5.14"; + dependencies { api(project(":allure-attachments")) - implementation("org.apache.httpcomponents:httpclient") + compileOnly("org.apache.httpcomponents:httpclient:$httpClient4Version") testImplementation("com.github.tomakehurst:wiremock") testImplementation("io.github.glytching:junit-extensions") + testImplementation("org.apache.httpcomponents:httpclient:$httpClient4Version") testImplementation("org.assertj:assertj-core") testImplementation("org.junit.jupiter:junit-jupiter-api") testImplementation("org.mockito:mockito-core") diff --git a/allure-httpclient5/build.gradle.kts b/allure-httpclient5/build.gradle.kts index eb42ad2da..aa6d53179 100644 --- a/allure-httpclient5/build.gradle.kts +++ b/allure-httpclient5/build.gradle.kts @@ -1,10 +1,13 @@ description = "Allure Apache HttpClient5 Integration" +val httpClient5Version = "5.3.1"; + dependencies { api(project(":allure-attachments")) - implementation("org.apache.httpcomponents.client5:httpclient5") + compileOnly("org.apache.httpcomponents.client5:httpclient5:$httpClient5Version") testImplementation("com.github.tomakehurst:wiremock") testImplementation("io.github.glytching:junit-extensions") + testImplementation("org.apache.httpcomponents.client5:httpclient5:$httpClient5Version") testImplementation("org.assertj:assertj-core") testImplementation("org.junit.jupiter:junit-jupiter-api") testImplementation("org.mockito:mockito-core") @@ -24,4 +27,4 @@ tasks.jar { tasks.test { useJUnitPlatform() -} \ No newline at end of file +} diff --git a/allure-java-migration/build.gradle.kts b/allure-java-migration/build.gradle.kts deleted file mode 100644 index f6a0f755e..000000000 --- a/allure-java-migration/build.gradle.kts +++ /dev/null @@ -1,35 +0,0 @@ -description = "Allure Java Migration Utils" - -val junitVersion = "4.13.2" -val testNgVersion = "6.14.3" - -dependencies { - api("org.apache.commons:commons-lang3") - api("org.aspectj:aspectjrt") - api(project(":allure-java-commons")) - implementation("junit:junit:$junitVersion") - implementation("org.testng:testng:$testNgVersion") - testImplementation("io.github.glytching:junit-extensions") - testImplementation("junit:junit:$junitVersion") - testImplementation("org.assertj:assertj-core") - testImplementation("org.junit.jupiter:junit-jupiter-api") - testImplementation("org.junit.jupiter:junit-jupiter-params") - testImplementation("org.mockito:mockito-core") - testImplementation("org.slf4j:slf4j-simple") - testImplementation("org.testng:testng:$testNgVersion") - testImplementation(project(":allure-java-commons-test")) - testImplementation(project(":allure-junit-platform")) - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") -} - -tasks.jar { - manifest { - attributes(mapOf( - "Automatic-Module-Name" to "io.qameta.allure.migration" - )) - } -} - -tasks.test { - useJUnitPlatform() -} diff --git a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Annotations.java b/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Annotations.java deleted file mode 100644 index 1232ea19a..000000000 --- a/allure-java-migration/src/main/java/io/qameta/allure/aspects/Allure1Annotations.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright 2016-2024 Qameta Software Inc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package io.qameta.allure.aspects; - -import io.qameta.allure.model.Label; -import io.qameta.allure.model.Link; -import io.qameta.allure.model.Parameter; -import io.qameta.allure.model.TestResult; -import org.aspectj.lang.reflect.MethodSignature; -import ru.yandex.qatools.allure.annotations.Description; -import ru.yandex.qatools.allure.annotations.Features; -import ru.yandex.qatools.allure.annotations.Issue; -import ru.yandex.qatools.allure.annotations.Issues; -import ru.yandex.qatools.allure.annotations.Severity; -import ru.yandex.qatools.allure.annotations.Stories; -import ru.yandex.qatools.allure.annotations.TestCaseId; -import ru.yandex.qatools.allure.annotations.Title; -import ru.yandex.qatools.allure.model.DescriptionType; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; -import java.util.stream.IntStream; - -import static io.qameta.allure.util.ResultsUtils.createParameter; - -/** - * Allure labels utils. - */ -final class Allure1Annotations { - - private static final String SUITE_LABEL = "suite"; - - private final MethodSignature signature; - - private final Object[] args; - - Allure1Annotations(final MethodSignature signature, final Object... args) { - this.args = Arrays.copyOf(args, args.length); - this.signature = signature; - } - - public void updateTitle(final TestResult result) { - final Method method = getMethod(); - if (method.isAnnotationPresent(Title.class)) { - final Title title = method.getAnnotation(Title.class); - result.setName(title.value()); - } - final Class type = getType(); - if (type.isAnnotationPresent(Title.class)) { - final Title title = type.getAnnotation(Title.class); - final List responseListener, final Metadata headers) { final ClientCall.Listener listener = new ForwardingClientCallListener() { diff --git a/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcRequestAttachment.java b/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcRequestAttachment.java index 39eeb7213..4d05ead6d 100644 --- a/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcRequestAttachment.java +++ b/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcRequestAttachment.java @@ -47,7 +47,6 @@ public String getName() { /** * Builder for GrpcRequestAttachment. */ - @SuppressWarnings("PMD.AvoidFieldNameMatchingMethodName") static final class Builder { private final String name; diff --git a/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcResponseAttachment.java b/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcResponseAttachment.java index ffd2a9b33..15d4629ec 100644 --- a/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcResponseAttachment.java +++ b/allure-grpc/src/main/java/io/qameta/allure/grpc/GrpcResponseAttachment.java @@ -58,7 +58,6 @@ public String getName() { /** * Builder for GrpcResponseAttachment. */ - @SuppressWarnings("PMD.AvoidFieldNameMatchingMethodName") static final class Builder { private final String name; diff --git a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Response.java b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Response.java index f4e53c931..eb515ea3a 100644 --- a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Response.java +++ b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpClient5Response.java @@ -67,6 +67,7 @@ public AllureHttpClient5Response(final AttachmentRenderer render * @param context the HTTP context * @throws IOException if an I/O error occurs */ + @SuppressWarnings("PMD.CloseResource") @Override public void process(final HttpResponse response, EntityDetails entity, diff --git a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpEntityUtils.java b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpEntityUtils.java index 43297a28c..de2cdd03d 100644 --- a/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpEntityUtils.java +++ b/allure-httpclient5/src/main/java/io/qameta/allure/httpclient5/AllureHttpEntityUtils.java @@ -30,7 +30,7 @@ /** * Utility class for working with HTTP entity in Allure framework. */ -@SuppressWarnings({"checkstyle:ParameterAssignment", "PMD.AssignmentInOperand"}) +@SuppressWarnings({"checkstyle:ParameterAssignment"}) public final class AllureHttpEntityUtils { private AllureHttpEntityUtils() { diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureFeatures.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureFeatures.java index 9ea66a2fb..d059716fc 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureFeatures.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllureFeatures.java @@ -27,7 +27,7 @@ /** * @author charlie (Dmitry Baev). */ -@SuppressWarnings({"JavadocType", "PMD.MissingStaticMethodInNonInstantiatableClass"}) +@SuppressWarnings({"JavadocType"}) @Target({}) public @interface AllureFeatures { diff --git a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllurePredicates.java b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllurePredicates.java index 4cd1ce35d..ba96ddd3c 100644 --- a/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllurePredicates.java +++ b/allure-java-commons-test/src/main/java/io/qameta/allure/test/AllurePredicates.java @@ -25,7 +25,6 @@ /** * @author charlie (Dmitry Baev). */ -@SuppressWarnings({"PMD.ClassNamingConventions", "PMD.LinguisticNaming"}) public final class AllurePredicates { private AllurePredicates() { diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Allure.java b/allure-java-commons/src/main/java/io/qameta/allure/Allure.java index 445d8b2c4..141488990 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Allure.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Allure.java @@ -45,7 +45,6 @@ /** * The class contains some useful methods to work with {@link AllureLifecycle}. */ -@SuppressWarnings({"PMD.ClassNamingConventions", "PMD.ExcessivePublicCount", "PMD.TooManyMethods"}) public final class Allure { private static final String TXT_EXTENSION = ".txt"; @@ -453,7 +452,6 @@ public static void addAttachment(final String name, final InputStream content) { getLifecycle().addAttachment(name, null, null, content); } - @SuppressWarnings("PMD.UseObjectForClearerAPI") public static void addAttachment(final String name, final String type, final InputStream content, final String fileExtension) { getLifecycle().addAttachment(name, type, fileExtension, content); diff --git a/allure-java-commons/src/main/java/io/qameta/allure/AllureConstants.java b/allure-java-commons/src/main/java/io/qameta/allure/AllureConstants.java index 8b3b8cdc8..f436de66e 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/AllureConstants.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/AllureConstants.java @@ -19,7 +19,7 @@ * @author @author charlie (Dmitry Baev baev@qameta.io) * @since 1.0-BETA1 */ -@SuppressWarnings({"unused", "PMD.ClassNamingConventions"}) +@SuppressWarnings({"unused"}) public final class AllureConstants { public static final String TEST_RESULT_FILE_SUFFIX = "-result.json"; diff --git a/allure-java-commons/src/main/java/io/qameta/allure/AllureLifecycle.java b/allure-java-commons/src/main/java/io/qameta/allure/AllureLifecycle.java index bea1d4dce..b6b6c4fb3 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/AllureLifecycle.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/AllureLifecycle.java @@ -49,7 +49,7 @@ /** * The class contains Allure context and methods to change it. */ -@SuppressWarnings({"PMD.TooManyMethods", "unused"}) +@SuppressWarnings("PMD.AvoidSynchronizedStatement") public class AllureLifecycle { private static final Logger LOGGER = LoggerFactory.getLogger(AllureLifecycle.class); @@ -596,7 +596,6 @@ public void addAttachment(final String name, final String type, * @param fileExtension the attachment file extension * @return the source of added attachment */ - @SuppressWarnings({"PMD.NullAssignment", "PMD.UseObjectForClearerAPI"}) public String prepareAttachment(final String name, final String type, final String fileExtension) { final String extension = Optional.ofNullable(fileExtension) .filter(ext -> !ext.isEmpty()) diff --git a/allure-java-commons/src/main/java/io/qameta/allure/internal/Allure2ModelJackson.java b/allure-java-commons/src/main/java/io/qameta/allure/internal/Allure2ModelJackson.java index b3e490bf8..765aa1421 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/internal/Allure2ModelJackson.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/internal/Allure2ModelJackson.java @@ -37,7 +37,6 @@ * * @author baev (Dmitry Baev). */ -@SuppressWarnings("PMD.ClassNamingConventions") public final class Allure2ModelJackson { public static final String INDENT_OUTPUT_PROPERTY_NAME = "allure.results.indentOutput"; diff --git a/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureStorage.java b/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureStorage.java index 5ae89b1e1..3f1c72392 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureStorage.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/internal/AllureStorage.java @@ -55,9 +55,9 @@ public Optional getStep(final String uuid) { } public Optional get(final String uuid, final Class clazz) { + Objects.requireNonNull(uuid, "Can't get item from storage: uuid can't be null"); lock.readLock().lock(); try { - Objects.requireNonNull(uuid, "Can't get item from storage: uuid can't be null"); return Optional.ofNullable(storage.get(uuid)) .filter(clazz::isInstance) .map(clazz::cast); @@ -67,9 +67,9 @@ public Optional get(final String uuid, final Class clazz) { } public T put(final String uuid, final T item) { + Objects.requireNonNull(uuid, "Can't put item to storage: uuid can't be null"); lock.writeLock().lock(); try { - Objects.requireNonNull(uuid, "Can't put item to storage: uuid can't be null"); storage.put(uuid, item); return item; } finally { @@ -78,9 +78,9 @@ public T put(final String uuid, final T item) { } public void remove(final String uuid) { + Objects.requireNonNull(uuid, "Can't remove item from storage: uuid can't be null"); lock.writeLock().lock(); try { - Objects.requireNonNull(uuid, "Can't remove item from storage: uuid can't be null"); storage.remove(uuid); } finally { lock.writeLock().unlock(); diff --git a/allure-java-commons/src/main/java/io/qameta/allure/listener/LifecycleNotifier.java b/allure-java-commons/src/main/java/io/qameta/allure/listener/LifecycleNotifier.java index d74a3107d..d082a4bc3 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/listener/LifecycleNotifier.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/listener/LifecycleNotifier.java @@ -28,7 +28,6 @@ /** * @since 2.0 */ -@SuppressWarnings("PMD.TooManyMethods") public class LifecycleNotifier implements ContainerLifecycleListener, TestLifecycleListener, FixtureLifecycleListener, StepLifecycleListener { diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/AnnotationUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/AnnotationUtils.java index d241a4683..efc966051 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/AnnotationUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/AnnotationUtils.java @@ -206,8 +206,6 @@ private static Stream callValueMethod(final Annotation annotation) { @SuppressWarnings({ "CyclomaticComplexity", "ReturnCount", - "PMD.NcssCount", - "PMD.CyclomaticComplexity" }) private static Stream objectToStringStream(final Object object) { if (Objects.nonNull(object) && object.getClass().isArray()) { diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/NamingUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/NamingUtils.java index ba129a460..5b68c1d0d 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/NamingUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/NamingUtils.java @@ -123,6 +123,7 @@ private static Object extractField(final Object object, final String part, final } } + @SuppressWarnings("PMD.AvoidAccessibilityAlteration") private static Object fieldValue(final Object object, final Field field) throws IllegalAccessException { try { return field.get(object); diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/ObjectUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/ObjectUtils.java index f20f935e8..e38c7f361 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/ObjectUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/ObjectUtils.java @@ -46,8 +46,6 @@ private ObjectUtils() { @SuppressWarnings({ "CyclomaticComplexity", "ReturnCount", - "PMD.NcssCount", - "PMD.CyclomaticComplexity" }) public static String toString(final Object object) { try { diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/ResultsUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/ResultsUtils.java index 8d8acd47c..3c9a2cfb8 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/ResultsUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/ResultsUtils.java @@ -62,8 +62,6 @@ @SuppressWarnings({ "ClassFanOutComplexity", "ClassDataAbstractionCoupling", - "PMD.ExcessiveImports", - "PMD.TooManyMethods", }) public final class ResultsUtils { diff --git a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java index 137e24df5..352cf2a42 100644 --- a/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java +++ b/allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java @@ -88,9 +88,6 @@ "ClassDataAbstractionCoupling", "ClassFanOutComplexity", "MultipleStringLiterals", - "PMD.CyclomaticComplexity", - "PMD.NcssCount", - "PMD.TooManyMethods", }) public class AllureJunitPlatform implements TestExecutionListener { @@ -281,7 +278,7 @@ public void executionSkipped(final TestIdentifier testIdentifier, ); } - @SuppressWarnings({"ReturnCount", "PMD.NcssCount", "CyclomaticComplexity"}) + @SuppressWarnings({"ReturnCount", "CyclomaticComplexity"}) @Override public void reportingEntryPublished(final TestIdentifier testIdentifier, final ReportEntry entry) { @@ -504,7 +501,6 @@ private void stopFixture(final Map keyValue) { getLifecycle().stopFixture(uuid); } - @SuppressWarnings("PMD.NcssCount") private void startTestCase(final TestIdentifier testIdentifier) { final String uuid = getOrCreateTest(testIdentifier); diff --git a/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4FilterAspect.java b/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4FilterAspect.java index 166933c16..348f7c971 100644 --- a/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4FilterAspect.java +++ b/allure-junit4-aspect/src/main/java/io/qameta/allure/junit4/aspect/AllureJunit4FilterAspect.java @@ -28,7 +28,6 @@ @Aspect public class AllureJunit4FilterAspect { - @SuppressWarnings("PMD.SystemPrintln") @AfterReturning( value = "execution(public org.junit.runner.Runner org.junit.runner.Request+.getRunner())", returning = "runner" diff --git a/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java b/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java index b652feb08..e2eee4396 100644 --- a/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java +++ b/allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java @@ -59,7 +59,7 @@ * Allure Junit4 listener. */ @RunListener.ThreadSafe -@SuppressWarnings({"PMD.ExcessiveImports", "PMD.CouplingBetweenObjects", "checkstyle:ClassFanOutComplexity"}) +@SuppressWarnings({"checkstyle:ClassFanOutComplexity"}) public class AllureJunit4 extends RunListener { private static final boolean HAS_CUCUMBERJVM7_IN_CLASSPATH diff --git a/allure-junit5/src/main/java/io/qameta/allure/junit5/AllureJunit5.java b/allure-junit5/src/main/java/io/qameta/allure/junit5/AllureJunit5.java index 7413d70a2..8b785649f 100644 --- a/allure-junit5/src/main/java/io/qameta/allure/junit5/AllureJunit5.java +++ b/allure-junit5/src/main/java/io/qameta/allure/junit5/AllureJunit5.java @@ -80,7 +80,7 @@ private void sendParameterEvent(final ReflectiveInvocationContext invoca .ifPresent(param -> { Stream.of(param.value(), param.name()) .map(String::trim) - .filter(name -> name.length() > 0) + .filter(name -> !name.isEmpty()) .findFirst() .ifPresent(name -> map.put(ALLURE_PARAMETER, name)); diff --git a/allure-model/src/main/java/io/qameta/allure/model/TestResult.java b/allure-model/src/main/java/io/qameta/allure/model/TestResult.java index f6eb0f1f1..ac5688a43 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/TestResult.java +++ b/allure-model/src/main/java/io/qameta/allure/model/TestResult.java @@ -34,7 +34,6 @@ * @see io.qameta.allure.model.WithSteps * @since 2.0 */ -@SuppressWarnings({"PMD.TooManyMethods", "PMD.ExcessivePublicCount"}) public class TestResult implements Serializable, ExecutableItem, WithLinks { private static final long serialVersionUID = 1L; diff --git a/allure-model/src/main/java/io/qameta/allure/model/TestResultContainer.java b/allure-model/src/main/java/io/qameta/allure/model/TestResultContainer.java index b83500026..b4645051d 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/TestResultContainer.java +++ b/allure-model/src/main/java/io/qameta/allure/model/TestResultContainer.java @@ -33,7 +33,6 @@ * @see io.qameta.allure.model.WithLinks * @since 2.0 */ -@SuppressWarnings("PMD.ExcessivePublicCount") public class TestResultContainer implements Serializable, WithLinks { private static final long serialVersionUID = 1L; diff --git a/allure-model/src/main/java/io/qameta/allure/model/WithAttachments.java b/allure-model/src/main/java/io/qameta/allure/model/WithAttachments.java index 772228218..6b773b11e 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/WithAttachments.java +++ b/allure-model/src/main/java/io/qameta/allure/model/WithAttachments.java @@ -27,6 +27,7 @@ * @see ExecutableItem * @since 2.0 */ +@FunctionalInterface public interface WithAttachments { /** diff --git a/allure-model/src/main/java/io/qameta/allure/model/WithLinks.java b/allure-model/src/main/java/io/qameta/allure/model/WithLinks.java index 63d640788..050518333 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/WithLinks.java +++ b/allure-model/src/main/java/io/qameta/allure/model/WithLinks.java @@ -27,6 +27,7 @@ * @see ExecutableItem * @since 2.0 */ +@FunctionalInterface public interface WithLinks { /** diff --git a/allure-model/src/main/java/io/qameta/allure/model/WithParameters.java b/allure-model/src/main/java/io/qameta/allure/model/WithParameters.java index 4b043d412..92f0be89d 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/WithParameters.java +++ b/allure-model/src/main/java/io/qameta/allure/model/WithParameters.java @@ -27,6 +27,7 @@ * @see ExecutableItem * @since 2.0 */ +@FunctionalInterface public interface WithParameters { /** diff --git a/allure-model/src/main/java/io/qameta/allure/model/WithStatus.java b/allure-model/src/main/java/io/qameta/allure/model/WithStatus.java index 8fdd95234..645e03fcb 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/WithStatus.java +++ b/allure-model/src/main/java/io/qameta/allure/model/WithStatus.java @@ -25,6 +25,7 @@ * @see ExecutableItem * @since 2.0 */ +@FunctionalInterface public interface WithStatus { /** diff --git a/allure-model/src/main/java/io/qameta/allure/model/WithSteps.java b/allure-model/src/main/java/io/qameta/allure/model/WithSteps.java index c225a6c27..52caf387c 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/WithSteps.java +++ b/allure-model/src/main/java/io/qameta/allure/model/WithSteps.java @@ -27,6 +27,7 @@ * @see ExecutableItem * @since 2.0 */ +@FunctionalInterface public interface WithSteps { /** diff --git a/allure-okhttp/src/main/java/io/qameta/allure/okhttp/AllureOkHttp.java b/allure-okhttp/src/main/java/io/qameta/allure/okhttp/AllureOkHttp.java index 4826eb0ea..b8f72ad76 100644 --- a/allure-okhttp/src/main/java/io/qameta/allure/okhttp/AllureOkHttp.java +++ b/allure-okhttp/src/main/java/io/qameta/allure/okhttp/AllureOkHttp.java @@ -15,17 +15,18 @@ */ package io.qameta.allure.okhttp; +import com.squareup.okhttp.Interceptor; +import com.squareup.okhttp.Request; +import com.squareup.okhttp.RequestBody; +import com.squareup.okhttp.Response; +import com.squareup.okhttp.ResponseBody; import io.qameta.allure.attachment.AttachmentData; import io.qameta.allure.attachment.AttachmentProcessor; import io.qameta.allure.attachment.DefaultAttachmentProcessor; import io.qameta.allure.attachment.FreemarkerAttachmentRenderer; import io.qameta.allure.attachment.http.HttpRequestAttachment; import io.qameta.allure.attachment.http.HttpResponseAttachment; -import com.squareup.okhttp.Interceptor; -import com.squareup.okhttp.Request; -import com.squareup.okhttp.RequestBody; -import com.squareup.okhttp.Response; -import com.squareup.okhttp.ResponseBody; +import okio.Buffer; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -33,7 +34,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -import okio.Buffer; /** * Allure interceptor logger for OkHttp. @@ -71,6 +71,7 @@ public AllureOkHttp withResponseTemplate(final String templatePath) { return setResponseTemplate(templatePath); } + @SuppressWarnings("PMD.CloseResource") @Override public Response intercept(final Chain chain) throws IOException { final AttachmentProcessor processor = new DefaultAttachmentProcessor(); @@ -118,8 +119,9 @@ private static Map toMapConverter(final Map } private static String readRequestBody(final RequestBody requestBody) throws IOException { - final Buffer buffer = new Buffer(); - requestBody.writeTo(buffer); - return buffer.readString(StandardCharsets.UTF_8); + try (Buffer buffer = new Buffer()) { + requestBody.writeTo(buffer); + return buffer.readString(StandardCharsets.UTF_8); + } } } diff --git a/allure-okhttp3/src/main/java/io/qameta/allure/okhttp3/AllureOkHttp3.java b/allure-okhttp3/src/main/java/io/qameta/allure/okhttp3/AllureOkHttp3.java index bb784fb00..6cdfcc226 100644 --- a/allure-okhttp3/src/main/java/io/qameta/allure/okhttp3/AllureOkHttp3.java +++ b/allure-okhttp3/src/main/java/io/qameta/allure/okhttp3/AllureOkHttp3.java @@ -71,6 +71,7 @@ public AllureOkHttp3 withResponseTemplate(final String templatePath) { return setResponseTemplate(templatePath); } + @SuppressWarnings("PMD.CloseResource") @Override public Response intercept(final Chain chain) throws IOException { final AttachmentProcessor processor = new DefaultAttachmentProcessor(); @@ -118,8 +119,9 @@ private static Map toMapConverter(final Map } private static String readRequestBody(final RequestBody requestBody) throws IOException { - final Buffer buffer = new Buffer(); - requestBody.writeTo(buffer); - return buffer.readString(StandardCharsets.UTF_8); + try (Buffer buffer = new Buffer()) { + requestBody.writeTo(buffer); + return buffer.readString(StandardCharsets.UTF_8); + } } } diff --git a/allure-servlet-api/src/main/java/io/qameta/allure/servletapi/HttpServletAttachmentBuilder.java b/allure-servlet-api/src/main/java/io/qameta/allure/servletapi/HttpServletAttachmentBuilder.java index 5822a102a..a6434ea28 100644 --- a/allure-servlet-api/src/main/java/io/qameta/allure/servletapi/HttpServletAttachmentBuilder.java +++ b/allure-servlet-api/src/main/java/io/qameta/allure/servletapi/HttpServletAttachmentBuilder.java @@ -33,7 +33,6 @@ /** * @author charlie (Dmitry Baev). */ -@SuppressWarnings("PMD.ClassNamingConventions") public final class HttpServletAttachmentBuilder { private static final Logger LOGGER = LoggerFactory.getLogger(HttpServletAttachmentBuilder.class); @@ -74,7 +73,6 @@ public static String getBody(final HttpServletRequest request) { return sb.toString(); } - @SuppressWarnings("PMD.AssignmentInOperand") public static void readBody(final StringBuilder sb, final BufferedReader reader) throws IOException { String line; diff --git a/allure-spock/src/main/java/io/qameta/allure/spock/AllureSpock.java b/allure-spock/src/main/java/io/qameta/allure/spock/AllureSpock.java index 6ef5a51dd..f29578ddc 100644 --- a/allure-spock/src/main/java/io/qameta/allure/spock/AllureSpock.java +++ b/allure-spock/src/main/java/io/qameta/allure/spock/AllureSpock.java @@ -72,10 +72,7 @@ * @author charlie (Dmitry Baev). */ @SuppressWarnings({ - "PMD.UnnecessaryFullyQualifiedName", - "PMD.ExcessiveImports", "ClassFanOutComplexity", - "PMD.CouplingBetweenObjects" }) public class AllureSpock extends AbstractRunListener implements IGlobalExtension { diff --git a/allure-spock2/src/main/java/io/qameta/allure/spock2/AllureSpock2.java b/allure-spock2/src/main/java/io/qameta/allure/spock2/AllureSpock2.java index c0ae16674..8798e1f40 100644 --- a/allure-spock2/src/main/java/io/qameta/allure/spock2/AllureSpock2.java +++ b/allure-spock2/src/main/java/io/qameta/allure/spock2/AllureSpock2.java @@ -80,9 +80,6 @@ /** * @author charlie (Dmitry Baev). */ -@SuppressWarnings({ - "PMD.NcssCount" -}) public class AllureSpock2 extends AbstractRunListener implements IGlobalExtension { private final ThreadLocal testResults = new InheritableThreadLocal() { diff --git a/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanV1_0.java b/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanV1_0.java index c282ce882..2ccd7b413 100644 --- a/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanV1_0.java +++ b/allure-test-filter/src/main/java/io/qameta/allure/testfilter/TestPlanV1_0.java @@ -26,7 +26,7 @@ * @author charlie (Dmitry Baev). */ @JsonTypeName("1.0") -@SuppressWarnings({"TypeName", "PMD.CyclomaticComplexity"}) +@SuppressWarnings({"TypeName"}) public class TestPlanV1_0 implements TestPlan, Serializable { private static final long serialVersionUID = 1L; diff --git a/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java b/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java index ebbc0a63e..41b7c362c 100644 --- a/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java +++ b/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java @@ -104,11 +104,6 @@ @SuppressWarnings({ "ClassDataAbstractionCoupling", "ClassFanOutComplexity", - "PMD.CyclomaticComplexity", - "PMD.ExcessiveClassLength", - "PMD.ExcessiveImports", - "PMD.NcssCount", - "PMD.TooManyMethods", }) public class AllureTestNg implements ISuiteListener, @@ -341,7 +336,7 @@ protected void startTestCase(final ITestResult testResult, ); } - @SuppressWarnings({"Indentation", "PMD.ExcessiveMethodLength"}) + @SuppressWarnings({"Indentation"}) protected void startTestCase(final ITestContext context, final ITestNGMethod method, final IClass iClass, @@ -743,6 +738,7 @@ private String getUniqueUuid(final IAttributes suite) { return Objects.toString(suite.getAttribute(ALLURE_UUID)); } + @SuppressWarnings("PMD.AvoidAccessibilityAlteration") private List getParameters(final ITestContext context, final ITestNGMethod method, final Object... parameters) { diff --git a/build.gradle.kts b/build.gradle.kts index c910c789b..5487fa1a8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -160,7 +160,7 @@ configure(libs) { dependency("io.github.benas:random-beans:3.9.0") dependency("io.github.glytching:junit-extensions:2.6.0") dependency("javax.annotation:javax.annotation-api:1.3.2") - dependency("net.sourceforge.pmd:pmd-java:7.4.0") + dependency("net.sourceforge.pmd:pmd-java:7.15.0") dependency("org.apache.commons:commons-lang3:3.15.0") dependency("org.aspectj:aspectjrt:${assertJVersion}") dependency("org.aspectj:aspectjweaver:${assertJVersion}") diff --git a/gradle/quality-configs/pmd/pmd.xml b/gradle/quality-configs/pmd/pmd.xml index adc57b64f..a3c7ca8bf 100644 --- a/gradle/quality-configs/pmd/pmd.xml +++ b/gradle/quality-configs/pmd/pmd.xml @@ -15,12 +15,8 @@ - - - - - - + + @@ -28,9 +24,10 @@ - + + @@ -43,59 +40,41 @@ - + + - - - - - - + + - - - + + + + + + + - - - - - - - - - - - - - - - - - - - @@ -106,19 +85,18 @@ - + - - - + @@ -130,11 +108,6 @@ - - - - - @@ -149,7 +122,6 @@ - From 250eee85493f3a6f6b51067c613f42fa7b1e7dc7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Jul 2025 15:10:19 +0100 Subject: [PATCH 093/139] build(deps): bump io.qameta.allure-download from 2.11.2 to 2.12.0 (via #1118) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 9eead326c..20eaaa8e7 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -52,7 +52,7 @@ pluginManagement { id("io.github.gradle-nexus.publish-plugin") version "2.0.0" id("io.qameta.allure-adapter") version "2.11.2" id("io.qameta.allure-aggregate-report") version "2.11.2" - id("io.qameta.allure-download") version "2.11.2" + id("io.qameta.allure-download") version "2.12.0" id("io.qameta.allure-report") version "2.11.2" id("io.spring.dependency-management") version "1.1.6" id("com.google.protobuf") version "0.9.4" From 85b6b854d4000da856b4e6c0ccd355dc417040bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Jul 2025 15:26:05 +0100 Subject: [PATCH 094/139] build(deps): bump org.assertj:assertj-core from 3.26.3 to 3.27.3 (via #1170) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 5487fa1a8..8865f0865 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -164,7 +164,7 @@ configure(libs) { dependency("org.apache.commons:commons-lang3:3.15.0") dependency("org.aspectj:aspectjrt:${assertJVersion}") dependency("org.aspectj:aspectjweaver:${assertJVersion}") - dependency("org.assertj:assertj-core:3.26.3") + dependency("org.assertj:assertj-core:3.27.3") dependency("org.freemarker:freemarker:2.3.33") dependency("org.grpcmock:grpcmock-junit5:0.8.0") dependency("org.hamcrest:hamcrest:3.0") From 68b9efb5380c6badb198cbfdc4357fe400059561 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Jul 2025 15:26:25 +0100 Subject: [PATCH 095/139] build(deps): bump com.github.spotbugs:spotbugs from 4.8.6 to 4.9.3 (via #1171) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 8865f0865..e86b2c085 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -150,7 +150,7 @@ configure(libs) { mavenBom("org.junit:junit-bom:5.10.3") } dependencies { - dependency("com.github.spotbugs:spotbugs:4.8.6") + dependency("com.github.spotbugs:spotbugs:4.9.3") dependency("com.github.tomakehurst:wiremock:3.0.1") dependency("com.google.inject:guice:7.0.0") dependency("com.google.testing.compile:compile-testing:0.21.0") From aa0b98526304691a9c968f9545e2c46f64d7183b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:15:28 +0100 Subject: [PATCH 096/139] build(deps): bump com.squareup.retrofit2:retrofit from 2.11.0 to 3.0.0 (via #1174) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index e86b2c085..3b4fdf7a3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -155,7 +155,7 @@ configure(libs) { dependency("com.google.inject:guice:7.0.0") dependency("com.google.testing.compile:compile-testing:0.21.0") dependency("com.puppycrawl.tools:checkstyle:10.17.0") - dependency("com.squareup.retrofit2:retrofit:2.11.0") + dependency("com.squareup.retrofit2:retrofit:3.0.0") dependency("commons-io:commons-io:2.16.1") dependency("io.github.benas:random-beans:3.9.0") dependency("io.github.glytching:junit-extensions:2.6.0") From 315b2c9ff2da40c92029d2359b0da4fbdd73acda Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:15:46 +0100 Subject: [PATCH 097/139] build(deps): bump org.postgresql:postgresql from 42.7.3 to 42.7.7 (via #1173) --- allure-jooq/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-jooq/build.gradle.kts b/allure-jooq/build.gradle.kts index 673e96cb2..22d515bad 100644 --- a/allure-jooq/build.gradle.kts +++ b/allure-jooq/build.gradle.kts @@ -16,7 +16,7 @@ dependencies { testImplementation(project(":allure-java-commons-test")) testImplementation(project(":allure-junit-platform")) testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") - testRuntimeOnly("org.postgresql:postgresql:42.7.3") + testRuntimeOnly("org.postgresql:postgresql:42.7.7") } tasks.compileJava { From 15a70fb1ec1bfaaf688e1944a0b02802ca11733d Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Fri, 11 Jul 2025 12:46:02 +0100 Subject: [PATCH 098/139] fix workflow does not contain permissions (via #1172) --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cb14edb6f..924413679 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,5 +1,8 @@ name: Build +permissions: + contents: read + on: workflow_dispatch: pull_request: From aad46382a51e305162f0bb09eb064f5aa8cf2ae5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 13:08:09 +0100 Subject: [PATCH 099/139] build(deps): bump orgSlf4jVersion from 2.0.13 to 2.0.17 (via #1175) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 3b4fdf7a3..16114e71e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -141,7 +141,7 @@ configure(libs) { apply(plugin = "java") apply(plugin = "java-library") - val orgSlf4jVersion = "2.0.13" + val orgSlf4jVersion = "2.0.17" val assertJVersion = "1.9.22.1" dependencyManagement { From eafc1b39c8d6ba802bfe5edd72e47e83dbf3302f Mon Sep 17 00:00:00 2001 From: Yaroslav Serhieiev Date: Wed, 10 Sep 2025 14:57:53 +0300 Subject: [PATCH 100/139] feat(allure-model): add optional attachment size (via #1182) --- .../io/qameta/allure/AllureLifecycleTest.java | 4 ++++ .../io/qameta/allure/model/Attachment.java | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java b/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java index 0a06dd32b..bd2c079b7 100644 --- a/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java +++ b/allure-java-commons/src/test/java/io/qameta/allure/AllureLifecycleTest.java @@ -344,6 +344,10 @@ void shouldAttachAsync() { tuple(attachment2Name, "text/plain") ); + assertThat(attachments) + .extracting(io.qameta.allure.model.Attachment::getSize) + .containsOnlyNulls(); + final String[] sources = attachments.stream() .map(io.qameta.allure.model.Attachment::getSource) .toArray(String[]::new); diff --git a/allure-model/src/main/java/io/qameta/allure/model/Attachment.java b/allure-model/src/main/java/io/qameta/allure/model/Attachment.java index dc5b36e7c..ef938f240 100644 --- a/allure-model/src/main/java/io/qameta/allure/model/Attachment.java +++ b/allure-model/src/main/java/io/qameta/allure/model/Attachment.java @@ -32,6 +32,7 @@ public class Attachment implements Serializable { private String name; private String source; private String type; + private Long size; /** * Gets name. @@ -93,4 +94,24 @@ public Attachment setType(final String value) { return this; } + /** + * Gets size. + * + * @return the size + */ + public Long getSize() { + return size; + } + + /** + * Sets size. + * + * @param value the value + * @return self for method chaining + */ + public Attachment setSize(final Long value) { + this.size = value; + return this; + } + } From 5aeae3f7bd47d933b8ed416f0c73832bc35a63de Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Mon, 15 Sep 2025 09:59:09 +0100 Subject: [PATCH 101/139] publish using sonatype staging api --- .github/workflows/publish.yml | 2 +- build.gradle.kts | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 28af62d51..f40f2ee35 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -27,7 +27,7 @@ jobs: - name: "Gradle Publish" run: | - ./gradlew publishToSonatype -Pversion=${GITHUB_REF:10} \ + ./gradlew publishToSonatype closeSonatypeStagingRepository -Pversion=${GITHUB_REF:10} \ -Psigning.keyId=${GPG_KEY_ID} \ -Psigning.password=${GPG_PASSPHRASE} \ -Psigning.secretKeyRingFile=${GITHUB_WORKSPACE}/${GPG_KEY_ID}.gpg diff --git a/build.gradle.kts b/build.gradle.kts index 16114e71e..5a2545385 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -43,7 +43,10 @@ configure(listOf(rootProject)) { nexusPublishing { repositories { - sonatype() + sonatype { + nexusUrl.set(uri("https://ossrh-staging-api.central.sonatype.com/service/local/")) + snapshotRepositoryUrl.set(uri("https://central.sonatype.com/repository/maven-snapshots/")) + } } } From 4f50994754cb8f3dad7a1be42886ac2cfb756005 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 10:55:04 +0100 Subject: [PATCH 102/139] build(deps): bump actions/setup-java from 4 to 5 (via #1186) --- .github/workflows/build.yml | 2 +- .github/workflows/publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 924413679..c4368021f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,7 +21,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: "Set up JDK" - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'zulu' java-version: 21 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f40f2ee35..eaf8f7432 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: "Set up JDK" - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'zulu' java-version: '21' From a8561b7ffe5aa6ae1f875f9e7446a81417610962 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 10:59:54 +0100 Subject: [PATCH 103/139] build(deps): bump actions/checkout from 4 to 5 (via #1183) --- .github/workflows/build.yml | 2 +- .github/workflows/dependency-submission.yml | 2 +- .github/workflows/publish.yml | 2 +- .github/workflows/release.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c4368021f..0cfd23757 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,7 +18,7 @@ jobs: name: "Build" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v5 - name: "Set up JDK" uses: actions/setup-java@v5 diff --git a/.github/workflows/dependency-submission.yml b/.github/workflows/dependency-submission.yml index 79b0496d0..9cb408169 100644 --- a/.github/workflows/dependency-submission.yml +++ b/.github/workflows/dependency-submission.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Generate and submit dependency graph uses: gradle/actions/dependency-submission@v4 env: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index eaf8f7432..f98763d24 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -8,7 +8,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v5 - name: "Set up JDK" uses: actions/setup-java@v5 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1f8821c29..5e31f9b54 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - name: "Check next version" run: | expr "${{ github.event.inputs.nextVersion }}" : '[[:digit:]][[:digit:]]*\.[[:digit:]][[:digit:]]*$' - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v5 with: token: ${{ secrets.QAMETA_CI }} From 4b3fed753a23fcca7e68cf45a24d108b1657c737 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 12:24:37 +0100 Subject: [PATCH 104/139] build(deps): bump commons-io:commons-io from 2.16.1 to 2.20.0 (via #1190) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 5a2545385..dcddf1664 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -159,7 +159,7 @@ configure(libs) { dependency("com.google.testing.compile:compile-testing:0.21.0") dependency("com.puppycrawl.tools:checkstyle:10.17.0") dependency("com.squareup.retrofit2:retrofit:3.0.0") - dependency("commons-io:commons-io:2.16.1") + dependency("commons-io:commons-io:2.20.0") dependency("io.github.benas:random-beans:3.9.0") dependency("io.github.glytching:junit-extensions:2.6.0") dependency("javax.annotation:javax.annotation-api:1.3.2") From 105caf52729b219c4a1ccee865fb8e43228ce118 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 12:24:59 +0100 Subject: [PATCH 105/139] build(deps): bump com.puppycrawl.tools:checkstyle from 10.17.0 to 11.0.1 (via #1189) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index dcddf1664..525bbe6c8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -157,7 +157,7 @@ configure(libs) { dependency("com.github.tomakehurst:wiremock:3.0.1") dependency("com.google.inject:guice:7.0.0") dependency("com.google.testing.compile:compile-testing:0.21.0") - dependency("com.puppycrawl.tools:checkstyle:10.17.0") + dependency("com.puppycrawl.tools:checkstyle:11.0.1") dependency("com.squareup.retrofit2:retrofit:3.0.0") dependency("commons-io:commons-io:2.20.0") dependency("io.github.benas:random-beans:3.9.0") From 2a616df2eba0e79b20262661e5255f0e69152cdd Mon Sep 17 00:00:00 2001 From: qameta-ci Date: Mon, 15 Sep 2025 12:20:05 +0000 Subject: [PATCH 106/139] release 2.30.0 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 3d3a262a4..01f88f2c8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.30-SNAPSHOT +version=2.30.0 org.gradle.daemon=true org.gradle.parallel=true From 9f50f7bcea5ee205a84cdf84fce1c679013fd7ec Mon Sep 17 00:00:00 2001 From: qameta-ci Date: Mon, 15 Sep 2025 12:20:06 +0000 Subject: [PATCH 107/139] set next development version 2.31 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 01f88f2c8..0ce9c63c1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.30.0 +version=2.31-SNAPSHOT org.gradle.daemon=true org.gradle.parallel=true From 0206bdc433f1b778e0cc6332629da436720f772f Mon Sep 17 00:00:00 2001 From: epszaw Date: Wed, 17 Sep 2025 11:13:44 +0200 Subject: [PATCH 108/139] Add workflow-wide gh actions permissions (#1187) Co-authored-by: Maksim Stepanov <17935127+delatrie@users.noreply.github.com> --- .github/workflows/labeler.yml | 5 +++++ .github/workflows/labels-verify.yml | 5 +++++ .github/workflows/publish.yml | 3 +++ .github/workflows/release.yml | 5 +++++ 4 files changed, 18 insertions(+) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index e0d99fc81..f49976b59 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -3,9 +3,14 @@ name: "Set theme labels" on: - pull_request_target +permissions: + contents: read + jobs: triage: runs-on: ubuntu-latest + permissions: + pull-requests: write steps: - uses: actions/labeler@v4 with: diff --git a/.github/workflows/labels-verify.yml b/.github/workflows/labels-verify.yml index 0c18ecb77..7315a905a 100644 --- a/.github/workflows/labels-verify.yml +++ b/.github/workflows/labels-verify.yml @@ -4,9 +4,14 @@ on: pull_request_target: types: [opened, labeled, unlabeled, synchronize] +permissions: + contents: none + jobs: triage: runs-on: ubuntu-latest + permissions: + pull-requests: read steps: - uses: baev/action-label-verify@main with: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f98763d24..97d4d7fbd 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -4,6 +4,9 @@ on: release: types: [ published ] +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5e31f9b54..6b08eb0e4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,9 +11,14 @@ on: description: "The next version in . format WITHOUT SNAPSHOT SUFFIX" required: true +permissions: + contents: read + jobs: triage: runs-on: ubuntu-latest + permissions: + contents: write steps: - name: "Check release version" run: | From 1bf17c4c3c1fab8ae80544ebafa655dac6f89153 Mon Sep 17 00:00:00 2001 From: skuznetsov-al Date: Tue, 14 Oct 2025 12:34:06 +0300 Subject: [PATCH 109/139] rework grpc module (via #1199) --- allure-grpc/build.gradle.kts | 8 +- .../io/qameta/allure/grpc/AllureGrpc.java | 541 +++++++++++++----- .../io/qameta/allure/grpc/AllureGrpcTest.java | 344 +++++++++-- allure-grpc/src/test/proto/api.proto | 2 + 4 files changed, 697 insertions(+), 198 deletions(-) diff --git a/allure-grpc/build.gradle.kts b/allure-grpc/build.gradle.kts index 4bc8d3567..259fc7e3d 100644 --- a/allure-grpc/build.gradle.kts +++ b/allure-grpc/build.gradle.kts @@ -8,14 +8,16 @@ description = "Allure gRPC Integration" val agent: Configuration by configurations.creating -val grpcVersion = "1.57.2" -val protobufVersion = "4.27.3" +val grpcVersion = "1.75.0" +val protobufVersion = "4.32.1" +val jacksonVersion = "2.17.2" dependencies { agent("org.aspectj:aspectjweaver") api(project(":allure-attachments")) + compileOnly("com.fasterxml.jackson.core:jackson-annotations:$jacksonVersion") compileOnly("com.google.protobuf:protobuf-java-util:$protobufVersion") - compileOnly("io.grpc:grpc-core:$grpcVersion") + compileOnly("io.grpc:grpc-api:$grpcVersion") testImplementation("com.google.protobuf:protobuf-java-util:$protobufVersion") testImplementation("com.google.protobuf:protobuf-java:$protobufVersion") testImplementation("io.grpc:grpc-core:$grpcVersion") diff --git a/allure-grpc/src/main/java/io/qameta/allure/grpc/AllureGrpc.java b/allure-grpc/src/main/java/io/qameta/allure/grpc/AllureGrpc.java index 35fc4977e..6518f5341 100644 --- a/allure-grpc/src/main/java/io/qameta/allure/grpc/AllureGrpc.java +++ b/allure-grpc/src/main/java/io/qameta/allure/grpc/AllureGrpc.java @@ -27,21 +27,23 @@ import io.grpc.Metadata; import io.grpc.MethodDescriptor; import io.qameta.allure.Allure; +import io.qameta.allure.AllureLifecycle; import io.qameta.allure.attachment.AttachmentData; -import io.qameta.allure.attachment.AttachmentProcessor; -import io.qameta.allure.attachment.DefaultAttachmentProcessor; +import io.qameta.allure.attachment.AttachmentRenderer; import io.qameta.allure.attachment.FreemarkerAttachmentRenderer; +import io.qameta.allure.model.Attachment; import io.qameta.allure.model.Status; import io.qameta.allure.model.StepResult; -import io.qameta.allure.util.ResultsUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import java.io.ByteArrayInputStream; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Locale; +import java.util.Map; import java.util.UUID; - -import static java.util.Objects.requireNonNull; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Allure interceptor logger for gRPC. @@ -49,158 +51,433 @@ * @author dtuchs (Dmitry Tuchs). */ @SuppressWarnings({ - "checkstyle:ClassFanOutComplexity", - "checkstyle:AnonInnerLength", - "checkstyle:JavaNCSS" + "checkstyle:ClassFanOutComplexity", + "checkstyle:AnonInnerLength", + "checkstyle:JavaNCSS" }) public class AllureGrpc implements ClientInterceptor { private static final Logger LOGGER = LoggerFactory.getLogger(AllureGrpc.class); - private static final JsonFormat.Printer JSON_PRINTER = JsonFormat.printer(); - - private String requestTemplatePath = "grpc-request.ftl"; - private String responseTemplatePath = "grpc-response.ftl"; + private static final String UNKNOWN = "unknown"; + private static final String JSON_SUFFIX = " (json)"; + private static final JsonFormat.Printer GRPC_TO_JSON_PRINTER = JsonFormat.printer(); - private boolean markStepFailedOnNonZeroCode = true; - private boolean interceptResponseMetadata; - - public AllureGrpc setRequestTemplate(final String templatePath) { - this.requestTemplatePath = templatePath; - return this; - } + private final AllureLifecycle lifecycle; + private final boolean markStepFailedOnNonZeroCode; + private final boolean interceptResponseMetadata; + private final String requestTemplatePath; + private final String responseTemplatePath; - public AllureGrpc setResponseTemplate(final String templatePath) { - this.responseTemplatePath = templatePath; - return this; + public AllureGrpc() { + this(Allure.getLifecycle(), true, false, + "grpc-request.ftl", "grpc-response.ftl"); } - public AllureGrpc markStepFailedOnNonZeroCode(final boolean value) { - this.markStepFailedOnNonZeroCode = value; - return this; - } - - public AllureGrpc interceptResponseMetadata(final boolean value) { - this.interceptResponseMetadata = value; - return this; + public AllureGrpc( + final AllureLifecycle lifecycle, + final boolean markStepFailedOnNonZeroCode, + final boolean interceptResponseMetadata, + final String requestTemplatePath, + final String responseTemplatePath + ) { + this.lifecycle = lifecycle; + this.markStepFailedOnNonZeroCode = markStepFailedOnNonZeroCode; + this.interceptResponseMetadata = interceptResponseMetadata; + this.requestTemplatePath = requestTemplatePath; + this.responseTemplatePath = responseTemplatePath; } @Override - public ClientCall interceptCall(final MethodDescriptor method, - final CallOptions callOptions, - final Channel next) { - final AttachmentProcessor processor = new DefaultAttachmentProcessor(); + public ClientCall interceptCall( + final MethodDescriptor methodDescriptor, + final CallOptions callOptions, + final Channel nextChannel + ) { + final AllureLifecycle current = lifecycle; + final String parent = current.getCurrentTestCaseOrStep().orElse(null); + final String stepUuid = UUID.randomUUID().toString(); + final List clientMessages = new ArrayList<>(); + final List serverMessages = new ArrayList<>(); + final Map initialHeaders = new LinkedHashMap<>(); + final Map trailers = new LinkedHashMap<>(); - return new ForwardingClientCall.SimpleForwardingClientCall( - next.newCall(method, callOptions.withoutWaitForReady())) { + final String stepName = buildStepName(nextChannel, methodDescriptor); + if (parent != null) { + current.startStep(parent, stepUuid, new StepResult().setName(stepName)); + } else { + current.startStep(stepUuid, new StepResult().setName(stepName)); + } - private String stepUuid; - private final List parsedResponses = new ArrayList<>(); - - @Override - public void sendMessage(final T message) { - stepUuid = UUID.randomUUID().toString(); - Allure.getLifecycle().startStep(stepUuid, (new StepResult()).setName( - "Send gRPC request to " - + next.authority() - + trimGrpcMethodName(method.getFullMethodName()) - )); - try { - final GrpcRequestAttachment rpcRequestAttach = GrpcRequestAttachment.Builder - .create("gRPC request", method.getFullMethodName()) - .setBody(JSON_PRINTER.print((MessageOrBuilder) message)) - .build(); - processor.addAttachment(rpcRequestAttach, new FreemarkerAttachmentRenderer(requestTemplatePath)); - super.sendMessage(message); - } catch (InvalidProtocolBufferException e) { - LOGGER.warn("Can`t parse gRPC request", e); - } catch (Throwable e) { - Allure.getLifecycle().updateStep(stepResult -> - stepResult.setStatus(ResultsUtils.getStatus(e).orElse(Status.BROKEN)) - .setStatusDetails(ResultsUtils.getStatusDetails(e).orElse(null)) - ); - Allure.getLifecycle().stopStep(stepUuid); - stepUuid = null; - } - } + final StepContext stepContext = new StepContext<>( + stepUuid, methodDescriptor, current, clientMessages, + serverMessages, initialHeaders, trailers + ); + return new ForwardingClientCall.SimpleForwardingClientCall( + nextChannel.newCall(methodDescriptor, callOptions) + ) { @Override - public void start(final Listener responseListener, final Metadata headers) { - final ClientCall.Listener listener = new ForwardingClientCallListener() { + public void start(final Listener responseListener, final Metadata requestHeaders) { + final Listener forwardingListener = new ForwardingClientCallListener() { @Override - protected Listener delegate() { + protected Listener delegate() { return responseListener; } @Override - public void onClose(final io.grpc.Status status, final Metadata trailers) { - GrpcResponseAttachment.Builder responseAttachmentBuilder = null; - - if (parsedResponses.size() == 1) { - responseAttachmentBuilder = GrpcResponseAttachment.Builder - .create("gRPC response") - .setBody(parsedResponses.iterator().next()); - } else if (parsedResponses.size() > 1) { - responseAttachmentBuilder = GrpcResponseAttachment.Builder - .create("gRPC response (collection of elements from Server stream)") - .setBody("[" + String.join(",\n", parsedResponses) + "]"); - } - if (!status.isOk()) { - String description = status.getDescription(); - if (description == null) { - description = "No description provided"; - } - responseAttachmentBuilder = GrpcResponseAttachment.Builder - .create(status.getCode().name()) - .setStatus(description); - } - - requireNonNull(responseAttachmentBuilder).setStatus(status.toString()); - if (interceptResponseMetadata) { - for (String key : headers.keys()) { - requireNonNull(responseAttachmentBuilder).setMetadata( - key, - headers.get(Metadata.Key.of(key, Metadata.ASCII_STRING_MARSHALLER)) - ); - } - } - processor.addAttachment( - requireNonNull(responseAttachmentBuilder).build(), - new FreemarkerAttachmentRenderer(responseTemplatePath) - ); - - if (status.isOk() || !markStepFailedOnNonZeroCode) { - Allure.getLifecycle().updateStep(stepUuid, step -> step.setStatus(Status.PASSED)); - } else { - Allure.getLifecycle().updateStep(stepUuid, step -> step.setStatus(Status.FAILED)); - } - Allure.getLifecycle().stopStep(stepUuid); - stepUuid = null; - super.onClose(status, trailers); + public void onHeaders(final Metadata headers) { + handleHeaders(headers, stepContext.getInitialHeaders()); + super.onHeaders(headers); + } + + @Override + public void onMessage(final R message) { + handleServerMessage(message, stepContext.getServerMessages()); + super.onMessage(message); } @Override - public void onMessage(final A message) { - try { - parsedResponses.add(JSON_PRINTER.print((MessageOrBuilder) message)); - super.onMessage(message); - } catch (InvalidProtocolBufferException e) { - LOGGER.warn("Can`t parse gRPC response", e); - } catch (Throwable e) { - Allure.getLifecycle().updateStep(step -> - step.setStatus(ResultsUtils.getStatus(e).orElse(Status.BROKEN)) - .setStatusDetails(ResultsUtils.getStatusDetails(e).orElse(null)) - ); - Allure.getLifecycle().stopStep(stepUuid); - stepUuid = null; - } + public void onClose(final io.grpc.Status status, final Metadata responseTrailers) { + handleClose(status, responseTrailers, stepContext); + super.onClose(status, responseTrailers); } }; - super.start(listener, headers); + super.start(forwardingListener, requestHeaders); } - private String trimGrpcMethodName(final String source) { - return source.substring(source.lastIndexOf('/')); + @Override + public void sendMessage(final T message) { + handleClientMessage(message, stepContext.getClientMessages()); + super.sendMessage(message); } }; } + + private void addRawJsonAttachment( + final String stepUuid, + final String attachmentName, + final String jsonBody, + final AllureLifecycle lifecycle + ) { + if (jsonBody == null || jsonBody.isEmpty()) { + return; + } + final String source = UUID.randomUUID() + ".json"; + lifecycle.updateStep(stepUuid, step -> step.getAttachments().add( + new Attachment() + .setName(attachmentName) + .setSource(source) + .setType("application/json") + )); + lifecycle.writeAttachment( + source, + new ByteArrayInputStream(jsonBody.getBytes(StandardCharsets.UTF_8)) + ); + } + + private void handleClose( + final io.grpc.Status status, + final Metadata responseTrailers, + final StepContext stepContext + ) { + try { + if (interceptResponseMetadata && responseTrailers != null) { + copyAsciiResponseMetadata(responseTrailers, stepContext.getTrailers()); + } + attachRequestIfPresent( + stepContext.getStepUuid(), + stepContext.getMethodDescriptor(), + stepContext.getClientMessages(), + stepContext.getLifecycle() + ); + attachResponse( + stepContext.getStepUuid(), + stepContext.getServerMessages(), + status, + stepContext.getInitialHeaders(), + stepContext.getTrailers(), + stepContext.getLifecycle() + ); + stepContext.getLifecycle().updateStep( + stepContext.getStepUuid(), + step -> step.setStatus(convertStatus(status)) + ); + } catch (Throwable throwable) { + LOGGER.error("Failed to finalize Allure step for gRPC call", throwable); + stepContext.getLifecycle().updateStep( + stepContext.getStepUuid(), + step -> step.setStatus(Status.BROKEN) + ); + } finally { + stopStepSafely(stepContext.getLifecycle(), stepContext.getStepUuid()); + } + } + + private void handleHeaders(final Metadata headers, final Map destination) { + try { + if (interceptResponseMetadata && headers != null) { + copyAsciiResponseMetadata(headers, destination); + } + } catch (Throwable throwable) { + LOGGER.warn("Failed to capture response headers", throwable); + } + } + + private void handleClientMessage(final T message, final List destination) { + try { + destination.add(GRPC_TO_JSON_PRINTER.print((MessageOrBuilder) message)); + } catch (InvalidProtocolBufferException e) { + LOGGER.error("Could not serialize gRPC request message to JSON", e); + } catch (Throwable throwable) { + LOGGER.error("Unexpected error while serializing gRPC request message", throwable); + } + } + + private void handleServerMessage(final R message, final List destination) { + try { + destination.add(GRPC_TO_JSON_PRINTER.print((MessageOrBuilder) message)); + } catch (InvalidProtocolBufferException e) { + LOGGER.error("Could not serialize gRPC response message to JSON", e); + } catch (Throwable throwable) { + LOGGER.error("Unexpected error while serializing gRPC response message", throwable); + } + } + + private void attachRequestIfPresent( + final String stepUuid, + final MethodDescriptor methodDescriptor, + final List clientMessages, + final AllureLifecycle lifecycle + ) { + final String body = toJsonBody(clientMessages); + if (body == null) { + return; + } + final String name = clientMessages.size() > 1 + ? "gRPC request (collection of elements from Client stream)" + : "gRPC request"; + final GrpcRequestAttachment requestAttachment = GrpcRequestAttachment.Builder + .create(name, methodDescriptor.getFullMethodName()) + .setBody(body) + .build(); + + addRenderedAttachmentToStep( + stepUuid, + requestAttachment.getName(), + requestAttachment, + requestTemplatePath, + lifecycle + ); + addRawJsonAttachment(stepUuid, name + JSON_SUFFIX, body, lifecycle); + } + + private void attachResponse( + final String stepUuid, + final List serverMessages, + final io.grpc.Status status, + final Map initialHeaders, + final Map trailers, + final AllureLifecycle lifecycle + ) { + final String body = toJsonBody(serverMessages); + final String name = serverMessages.size() > 1 + ? "gRPC response (collection of elements from Server stream)" + : "gRPC response"; + + final Map metadata = new LinkedHashMap<>(); + if (interceptResponseMetadata) { + metadata.putAll(initialHeaders); + metadata.putAll(trailers); + } + + final GrpcResponseAttachment.Builder builder = GrpcResponseAttachment.Builder + .create(name) + .setStatus(status.toString()); + + if (body != null) { + builder.setBody(body); + } + if (!metadata.isEmpty()) { + builder.addMetadata(metadata); + } + + final GrpcResponseAttachment responseAttachment = builder.build(); + addRenderedAttachmentToStep( + stepUuid, + responseAttachment.getName(), + responseAttachment, + responseTemplatePath, + lifecycle + ); + if (body != null) { + addRawJsonAttachment(stepUuid, name + JSON_SUFFIX, body, lifecycle); + } + } + + private void stopStepSafely(final AllureLifecycle lifecycle, final String stepUuid) { + try { + lifecycle.stopStep(stepUuid); + } catch (Throwable throwable) { + LOGGER.warn("Failed to stop Allure step {}", stepUuid, throwable); + } + } + + private Status convertStatus(final io.grpc.Status grpcStatus) { + if (grpcStatus.isOk() || !markStepFailedOnNonZeroCode) { + return Status.PASSED; + } + return Status.FAILED; + } + + private static String buildStepName( + final Channel channel, + final MethodDescriptor methodDescriptor + ) { + final String authority = channel != null ? channel.authority() : null; + final String safeAuthority = authority != null ? authority : UNKNOWN; + final String type = toSnakeCase(methodDescriptor.getType()); + return "Send " + type + " gRPC request to " + + safeAuthority + "/" + methodDescriptor.getFullMethodName(); + } + + private static String toSnakeCase(final MethodDescriptor.MethodType methodType) { + if (methodType == null) { + return UNKNOWN; + } + return methodType.name().toLowerCase(Locale.ROOT); + } + + private void addRenderedAttachmentToStep( + final String stepUuid, + final String attachmentName, + final AttachmentData data, + final String templatePath, + final AllureLifecycle lifecycle + ) { + final AttachmentRenderer renderer = + new FreemarkerAttachmentRenderer(templatePath); + final io.qameta.allure.attachment.AttachmentContent content; + try { + content = renderer.render(data); + } catch (Throwable throwable) { + LOGGER.warn( + "Could not render attachment '{}' using template '{}'", + attachmentName, templatePath, throwable + ); + return; + } + if (content == null || content.getContent() == null) { + LOGGER.warn("Rendered attachment '{}' is empty; skipping", attachmentName); + return; + } + String fileExtension = content.getFileExtension(); + if (fileExtension == null || fileExtension.isEmpty()) { + fileExtension = ".html"; + } + final String source = UUID.randomUUID() + fileExtension; + lifecycle.updateStep( + stepUuid, + step -> step.getAttachments().add( + new Attachment() + .setName(attachmentName) + .setSource(source) + .setType( + content.getContentType() != null + ? content.getContentType() + : "text/html" + ) + ) + ); + lifecycle.writeAttachment( + source, + new ByteArrayInputStream(content.getContent().getBytes(StandardCharsets.UTF_8)) + ); + } + + private static String toJsonBody(final List items) { + if (items == null || items.isEmpty()) { + return null; + } + if (items.size() == 1) { + return items.get(0); + } + final String joined = String.join(",\n", items); + return "[" + joined + "]"; + } + + private static void copyAsciiResponseMetadata( + final Metadata source, + final Map target + ) { + for (String key : source.keys()) { + if (key == null) { + continue; + } + if (key.endsWith(Metadata.BINARY_HEADER_SUFFIX)) { + continue; + } + final Metadata.Key keyAscii = + Metadata.Key.of(key, Metadata.ASCII_STRING_MARSHALLER); + final String value = source.get(keyAscii); + if (value != null) { + target.put(key, value); + } + } + } + + private static final class StepContext { + private final String stepUuid; + private final MethodDescriptor methodDescriptor; + private final AllureLifecycle lifecycle; + private final List clientMessages; + private final List serverMessages; + private final Map initialHeaders; + private final Map trailers; + + StepContext( + final String stepUuid, + final MethodDescriptor methodDescriptor, + final AllureLifecycle lifecycle, + final List clientMessages, + final List serverMessages, + final Map initialHeaders, + final Map trailers + ) { + this.stepUuid = stepUuid; + this.methodDescriptor = methodDescriptor; + this.lifecycle = lifecycle; + this.clientMessages = clientMessages; + this.serverMessages = serverMessages; + this.initialHeaders = initialHeaders; + this.trailers = trailers; + } + + String getStepUuid() { + return stepUuid; + } + + MethodDescriptor getMethodDescriptor() { + return methodDescriptor; + } + + AllureLifecycle getLifecycle() { + return lifecycle; + } + + List getClientMessages() { + return clientMessages; + } + + List getServerMessages() { + return serverMessages; + } + + Map getInitialHeaders() { + return initialHeaders; + } + + Map getTrailers() { + return trailers; + } + } } diff --git a/allure-grpc/src/test/java/io/qameta/allure/grpc/AllureGrpcTest.java b/allure-grpc/src/test/java/io/qameta/allure/grpc/AllureGrpcTest.java index 6c83b9f03..e316fc75a 100644 --- a/allure-grpc/src/test/java/io/qameta/allure/grpc/AllureGrpcTest.java +++ b/allure-grpc/src/test/java/io/qameta/allure/grpc/AllureGrpcTest.java @@ -15,12 +15,17 @@ */ package io.qameta.allure.grpc; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; import io.grpc.Status; import io.grpc.StatusRuntimeException; +import io.grpc.stub.StreamObserver; +import io.qameta.allure.Allure; import io.qameta.allure.model.Attachment; import io.qameta.allure.model.StepResult; +import io.qameta.allure.model.TestResult; import io.qameta.allure.test.AllureResults; import org.grpcmock.GrpcMock; import org.grpcmock.junit5.GrpcMockExtension; @@ -29,135 +34,348 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.Optional; import static io.qameta.allure.test.RunUtils.runWithinTestContext; import static java.util.Arrays.asList; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.grpcmock.GrpcMock.bidiStreamingMethod; +import static org.grpcmock.GrpcMock.clientStreamingMethod; import static org.grpcmock.GrpcMock.serverStreamingMethod; import static org.grpcmock.GrpcMock.unaryMethod; -/** - * @author dtuchs (Dmitry Tuchs). - */ @ExtendWith(GrpcMockExtension.class) class AllureGrpcTest { private static final String RESPONSE_MESSAGE = "Hello world!"; + private static final ObjectMapper JSON = new ObjectMapper(); - private ManagedChannel channel; - private TestServiceGrpc.TestServiceBlockingStub blockingStub; + private ManagedChannel managedChannel; @BeforeEach - void configureMock() { - channel = ManagedChannelBuilder.forAddress("localhost", GrpcMock.getGlobalPort()) - .usePlaintext() - .build(); - blockingStub = TestServiceGrpc.newBlockingStub(channel) - .withInterceptors(new AllureGrpc()); + void configureMockServer() { + managedChannel = ManagedChannelBuilder + .forAddress("localhost", GrpcMock.getGlobalPort()) + .usePlaintext() + .directExecutor() + .build(); GrpcMock.stubFor(unaryMethod(TestServiceGrpc.getCalculateMethod()) - .willReturn(Response.newBuilder().setMessage(RESPONSE_MESSAGE).build())); + .willReturn(Response.newBuilder().setMessage(RESPONSE_MESSAGE).build())); + GrpcMock.stubFor(serverStreamingMethod(TestServiceGrpc.getCalculateServerStreamMethod()) - .willReturn(asList( - Response.newBuilder().setMessage(RESPONSE_MESSAGE).build(), - Response.newBuilder().setMessage(RESPONSE_MESSAGE).build() - ))); + .willReturn(asList( + Response.newBuilder().setMessage(RESPONSE_MESSAGE).build(), + Response.newBuilder().setMessage(RESPONSE_MESSAGE).build() + ))); + + GrpcMock.stubFor(clientStreamingMethod(TestServiceGrpc.getCalculateClientStreamMethod()) + .willReturn(Response.newBuilder().setMessage(RESPONSE_MESSAGE).build())); + + GrpcMock.stubFor(bidiStreamingMethod(TestServiceGrpc.getCalculateBidiStreamMethod()) + .willProxyTo(responseObserver -> new StreamObserver() { + @Override + public void onNext(Request request) { + responseObserver.onNext(Response.newBuilder().setMessage(RESPONSE_MESSAGE).build()); + } + @Override + public void onError(Throwable throwable) { + } + @Override + public void onCompleted() { + responseObserver.onCompleted(); + } + })); } @AfterEach void shutdownChannel() { - Optional.ofNullable(channel).ifPresent(ManagedChannel::shutdownNow); + Optional.ofNullable(managedChannel).ifPresent(ManagedChannel::shutdown); } @Test void shouldCreateRequestAttachment() { - final Request request = Request.newBuilder() - .setTopic("1") - .build(); + Request request = Request.newBuilder() + .setTopic("1") + .build(); + + Status errorStatus = Status.NOT_FOUND; + GrpcMock.stubFor(unaryMethod(TestServiceGrpc.getCalculateMethod()).willReturn(errorStatus)); - final AllureResults results = execute(request); + AllureResults allureResults = executeUnaryExpectingException(request); - assertThat(results.getTestResults().get(0).getSteps()) - .flatExtracting(StepResult::getAttachments) - .extracting(Attachment::getName) - .contains("gRPC request"); + assertThat(allureResults.getTestResults().get(0).getSteps().get(0).getStatus()) + .isEqualTo(io.qameta.allure.model.Status.FAILED); + + assertThat(allureResults.getTestResults().get(0).getSteps()) + .flatExtracting(StepResult::getAttachments) + .extracting(Attachment::getName) + .contains("gRPC request", "gRPC response"); } @Test void shouldCreateResponseAttachment() { - final Request request = Request.newBuilder() - .setTopic("1") - .build(); + Request request = Request.newBuilder() + .setTopic("1") + .build(); - final AllureResults results = execute(request); + AllureResults allureResults = executeUnary(request); - assertThat(results.getTestResults().get(0).getSteps()) - .flatExtracting(StepResult::getAttachments) - .extracting(Attachment::getName) - .contains("gRPC response"); + assertThat(allureResults.getTestResults().get(0).getSteps()) + .flatExtracting(StepResult::getAttachments) + .extracting(Attachment::getName) + .contains("gRPC response"); } @Test void shouldCreateResponseAttachmentForServerStreamingResponse() { - final Request request = Request.newBuilder() - .setTopic("1") - .build(); + Request request = Request.newBuilder() + .setTopic("1") + .build(); - final AllureResults results = executeStreaming(request); + AllureResults allureResults = executeServerStreaming(request); - assertThat(results.getTestResults().get(0).getSteps()) - .flatExtracting(StepResult::getAttachments) - .extracting(Attachment::getName) - .contains("gRPC response (collection of elements from Server stream)"); + assertThat(allureResults.getTestResults().get(0).getSteps()) + .flatExtracting(StepResult::getAttachments) + .extracting(Attachment::getName) + .contains("gRPC response (collection of elements from Server stream)"); } @Test void shouldCreateResponseAttachmentOnStatusException() { - final Status status = Status.NOT_FOUND; + Status notFoundStatus = Status.NOT_FOUND; + GrpcMock.stubFor(unaryMethod(TestServiceGrpc.getCalculateMethod()).willReturn(notFoundStatus)); + + Request request = Request.newBuilder() + .setTopic("2") + .build(); + + AllureResults allureResults = executeUnaryExpectingException(request); + + assertThat(allureResults.getTestResults().get(0).getSteps().get(0).getStatus()) + .isEqualTo(io.qameta.allure.model.Status.FAILED); + + assertThat(allureResults.getTestResults().get(0).getSteps()) + .flatExtracting(StepResult::getAttachments) + .extracting(Attachment::getName) + .contains("gRPC response"); + } + + @Test + void shouldCreateAttachmentsForClientStreamingWithAsynchronousStub() { + Request firstClientRequest = Request.newBuilder().setTopic("A").build(); + Request secondClientRequest = Request.newBuilder().setTopic("B").build(); + + runWithinTestContext(() -> { + TestServiceGrpc.TestServiceStub asynchronousStub = + TestServiceGrpc.newStub(managedChannel).withInterceptors(new AllureGrpc()); + + final List receivedResponses = new ArrayList(); + + Allure.step("async-root-client-stream", () -> { + StreamObserver responseObserver = new StreamObserver() { + @Override + public void onNext(Response value) { + receivedResponses.add(value); + } + @Override + public void onError(Throwable throwable) { + } + @Override + public void onCompleted() { + } + }; + + StreamObserver requestObserver = asynchronousStub.calculateClientStream(responseObserver); + requestObserver.onNext(firstClientRequest); + requestObserver.onNext(secondClientRequest); + requestObserver.onCompleted(); + }); + + assertThat(receivedResponses).hasSize(1); + assertThat(receivedResponses.get(0).getMessage()).isEqualTo(RESPONSE_MESSAGE); + }); + } + + @Test + void shouldCreateAttachmentsForBidirectionalStreamingWithAsynchronousStub() { + Request firstBidirectionalRequest = Request.newBuilder().setTopic("C").build(); + Request secondBidirectionalRequest = Request.newBuilder().setTopic("D").build(); + + runWithinTestContext(() -> { + TestServiceGrpc.TestServiceStub asynchronousStub = + TestServiceGrpc.newStub(managedChannel).withInterceptors(new AllureGrpc()); + + List receivedResponses = new ArrayList<>(); + + Allure.step("async-root-bidi-stream", () -> { + StreamObserver responseObserver = new StreamObserver() { + @Override public void onNext(Response value) { receivedResponses.add(value); } + @Override public void onError(Throwable throwable) { } + @Override public void onCompleted() { } + }; + + StreamObserver requestObserver = asynchronousStub.calculateBidiStream(responseObserver); + requestObserver.onNext(firstBidirectionalRequest); + requestObserver.onNext(secondBidirectionalRequest); + requestObserver.onCompleted(); + }); + + assertThat(receivedResponses).hasSize(2); + assertThat(receivedResponses.get(0).getMessage()).isEqualTo(RESPONSE_MESSAGE); + assertThat(receivedResponses.get(1).getMessage()).isEqualTo(RESPONSE_MESSAGE); + }); + } + + @Test + void unaryRequestBodyIsCapturedAsJsonObject() throws Exception { + GrpcMock.stubFor(unaryMethod(TestServiceGrpc.getCalculateMethod()) + .willReturn(Response.newBuilder().setMessage("ok").build())); + + Request request = Request.newBuilder().setTopic("topic-1").build(); + + AllureResults allureResults = runWithinTestContext(() -> { + TestServiceGrpc.TestServiceBlockingStub stub = + TestServiceGrpc.newBlockingStub(managedChannel).withInterceptors(new AllureGrpc()); + Response response = stub.calculate(request); + assertThat(response.getMessage()).isEqualTo("ok"); + }); + + String jsonPayload = readJsonAttachmentByName(allureResults, "gRPC request (json)"); + JsonNode actualJsonNode = JSON.readTree(jsonPayload); + JsonNode expectedJsonNode = JSON.createObjectNode().put("topic", "topic-1"); + + assertThat(actualJsonNode).isEqualTo(expectedJsonNode); + } + + @Test + void unaryResponseBodyIsCapturedAsJsonObject() throws Exception { GrpcMock.stubFor(unaryMethod(TestServiceGrpc.getCalculateMethod()) - .willReturn(status)); + .willReturn(Response.newBuilder().setMessage("hello-world").build())); - final Request request = Request.newBuilder() - .setTopic("2") - .build(); + Request request = Request.newBuilder().setTopic("x").build(); - final AllureResults results = executeException(request); + AllureResults allureResults = runWithinTestContext(() -> { + TestServiceGrpc.TestServiceBlockingStub stub = + TestServiceGrpc.newBlockingStub(managedChannel).withInterceptors(new AllureGrpc()); + Response response = stub.calculate(request); + assertThat(response.getMessage()).isEqualTo("hello-world"); + }); + + String jsonPayload = readJsonAttachmentByName(allureResults, "gRPC response (json)"); + JsonNode actualJsonNode = JSON.readTree(jsonPayload); + JsonNode expectedJsonNode = JSON.createObjectNode().put("message", "hello-world"); - assertThat(results.getTestResults().get(0).getSteps()) - .flatExtracting(StepResult::getAttachments) - .extracting(Attachment::getName) - .contains(status.getCode().name()); + assertThat(actualJsonNode).isEqualTo(expectedJsonNode); } - protected final AllureResults execute(final Request request) { + @Test + void serverStreamingResponseBodyIsJsonArrayInOrder() throws Exception { + GrpcMock.stubFor(serverStreamingMethod(TestServiceGrpc.getCalculateServerStreamMethod()) + .willReturn(asList( + Response.newBuilder().setMessage("first").build(), + Response.newBuilder().setMessage("second").build() + ))); + + Request request = Request.newBuilder().setTopic("stream-topic").build(); + + AllureResults allureResults = runWithinTestContext(() -> { + TestServiceGrpc.TestServiceBlockingStub stub = + TestServiceGrpc.newBlockingStub(managedChannel).withInterceptors(new AllureGrpc()); + Iterator responseIterator = stub.calculateServerStream(request); + assertThat(responseIterator.hasNext()).isTrue(); + assertThat(responseIterator.next().getMessage()).isEqualTo("first"); + assertThat(responseIterator.hasNext()).isTrue(); + assertThat(responseIterator.next().getMessage()).isEqualTo("second"); + assertThat(responseIterator.hasNext()).isFalse(); + }); + + String jsonPayload = readJsonAttachmentByName( + allureResults, "gRPC response (collection of elements from Server stream) (json)" + ); + JsonNode actualJsonArray = JSON.readTree(jsonPayload); + + assertThat(actualJsonArray.isArray()).isTrue(); + assertThat(actualJsonArray.size()).isEqualTo(2); + assertThat(actualJsonArray.get(0)).isEqualTo(JSON.createObjectNode().put("message", "first")); + assertThat(actualJsonArray.get(1)).isEqualTo(JSON.createObjectNode().put("message", "second")); + } + private static String readJsonAttachmentByName(AllureResults allureResults, String jsonAttachmentName) { + TestResult test = allureResults.getTestResults().get(0); + + Attachment matchedAttachment = flattenSteps(test.getSteps()).stream() + .flatMap(step -> step.getAttachments().stream()) + .filter(attachment -> jsonAttachmentName.equals(attachment.getName())) + .findFirst() + .orElseThrow(() -> new IllegalStateException("Attachment not found: " + jsonAttachmentName)); + + String attachmentSourceKey = matchedAttachment.getSource(); + Map attachmentsContent = allureResults.getAttachments(); + byte[] rawAttachmentContent = attachmentsContent.get(attachmentSourceKey); + if (rawAttachmentContent == null) { + throw new IllegalStateException("Attachment content not found by source: " + attachmentSourceKey); + } + return new String(rawAttachmentContent, StandardCharsets.UTF_8); + } + + protected final AllureResults executeUnary(Request request) { return runWithinTestContext(() -> { try { - final Response response = blockingStub.calculate(request); + TestServiceGrpc.TestServiceBlockingStub stub = + TestServiceGrpc.newBlockingStub(managedChannel).withInterceptors(new AllureGrpc()); + Response response = stub.calculate(request); assertThat(response.getMessage()).isEqualTo(RESPONSE_MESSAGE); - } catch (Exception e) { - throw new RuntimeException("Could not execute request " + request, e); + } catch (Exception exception) { + throw new RuntimeException("Could not execute request " + request, exception); } }); } - protected final AllureResults executeStreaming(final Request request) { + + protected final AllureResults executeServerStreaming(Request request) { return runWithinTestContext(() -> { try { - Iterator responseIterator = blockingStub.calculateServerStream(request); + TestServiceGrpc.TestServiceBlockingStub stub = + TestServiceGrpc.newBlockingStub(managedChannel).withInterceptors(new AllureGrpc()); + Iterator responseIterator = stub.calculateServerStream(request); + int responseCount = 0; while (responseIterator.hasNext()) { assertThat(responseIterator.next().getMessage()).isEqualTo(RESPONSE_MESSAGE); + responseCount++; } - } catch (Exception e) { - throw new RuntimeException("Could not execute request " + request, e); + assertThat(responseCount).isEqualTo(2); + } catch (Exception exception) { + throw new RuntimeException("Could not execute request " + request, exception); } }); } - protected final AllureResults executeException(final Request request) { - return runWithinTestContext(() -> { - assertThatExceptionOfType(StatusRuntimeException.class).isThrownBy(() -> blockingStub.calculate(request)); - }); + protected final AllureResults executeUnaryExpectingException(Request request) { + return runWithinTestContext(() -> + assertThatExceptionOfType(StatusRuntimeException.class) + .isThrownBy(() -> { + TestServiceGrpc.TestServiceBlockingStub stub = + TestServiceGrpc.newBlockingStub(managedChannel).withInterceptors(new AllureGrpc()); + Response response = stub.calculate(request); + assertThat(response.getMessage()).isEqualTo("ok"); + }) + ); + } + + private static List flattenSteps(List rootSteps) { + List allSteps = new ArrayList<>(); + if (rootSteps == null) { + return allSteps; + } + for (StepResult step : rootSteps) { + allSteps.add(step); + allSteps.addAll(flattenSteps(step.getSteps())); + } + return allSteps; } } diff --git a/allure-grpc/src/test/proto/api.proto b/allure-grpc/src/test/proto/api.proto index 552e76f6c..378bb0872 100644 --- a/allure-grpc/src/test/proto/api.proto +++ b/allure-grpc/src/test/proto/api.proto @@ -6,6 +6,8 @@ option java_package = "io.qameta.allure.grpc"; service TestService { rpc Calculate (Request) returns (Response); rpc CalculateServerStream (Request) returns (stream Response); + rpc CalculateClientStream (stream Request) returns (Response); + rpc CalculateBidiStream (stream Request) returns (stream Response); } message Request { From 85f3ccd74791fd33d93beef8d29fa2087a206b89 Mon Sep 17 00:00:00 2001 From: a-simeshin <89605031+a-simeshin@users.noreply.github.com> Date: Thu, 13 Nov 2025 13:54:27 +0300 Subject: [PATCH 110/139] bump spring-web to 6.2.12 and fix compatibility with new api (via #1161) --- allure-spring-web/build.gradle.kts | 6 +++++- .../java/io/qameta/allure/springweb/AllureRestTemplate.java | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/allure-spring-web/build.gradle.kts b/allure-spring-web/build.gradle.kts index 4b9412226..b79566812 100644 --- a/allure-spring-web/build.gradle.kts +++ b/allure-spring-web/build.gradle.kts @@ -1,6 +1,6 @@ description = "Allure Spring Web Integration" -val springWebVersion = "5.3.37" +val springWebVersion = "6.2.12" dependencies { api(project(":allure-attachments")) @@ -29,3 +29,7 @@ tasks.jar { tasks.test { useJUnitPlatform() } + +tasks.compileJava { + options.release.set(17) +} \ No newline at end of file diff --git a/allure-spring-web/src/main/java/io/qameta/allure/springweb/AllureRestTemplate.java b/allure-spring-web/src/main/java/io/qameta/allure/springweb/AllureRestTemplate.java index 9f1daf988..2c302b0ed 100644 --- a/allure-spring-web/src/main/java/io/qameta/allure/springweb/AllureRestTemplate.java +++ b/allure-spring-web/src/main/java/io/qameta/allure/springweb/AllureRestTemplate.java @@ -81,7 +81,7 @@ public ClientHttpResponse intercept(@NonNull final HttpRequest request, final by final HttpRequestAttachment.Builder requestAttachmentBuilder = HttpRequestAttachment.Builder .create("Request", request.getURI().toString()) - .setMethod(request.getMethodValue()) + .setMethod(request.getMethod().name()) .setHeaders(toMapConverter(request.getHeaders())); if (body.length != 0) { requestAttachmentBuilder.setBody(new String(body, StandardCharsets.UTF_8)); @@ -94,7 +94,7 @@ public ClientHttpResponse intercept(@NonNull final HttpRequest request, final by final HttpResponseAttachment responseAttachment = HttpResponseAttachment.Builder .create("Response") - .setResponseCode(clientHttpResponse.getRawStatusCode()) + .setResponseCode(clientHttpResponse.getStatusCode().value()) .setHeaders(toMapConverter(clientHttpResponse.getHeaders())) .setBody(StreamUtils.copyToString(clientHttpResponse.getBody(), StandardCharsets.UTF_8)) .build(); From a2072807c4c65d485455f160c61fec93ec972677 Mon Sep 17 00:00:00 2001 From: a-simeshin <89605031+a-simeshin@users.noreply.github.com> Date: Thu, 13 Nov 2025 14:01:11 +0300 Subject: [PATCH 111/139] document how to prevent breaking allure lifecycle for Steps inside Awaitility evaluations (fixes #1135, via #1158) --- allure-awaitility/readme.md | 7 +- .../ConditionListenersPositiveTest.java | 7 ++ .../GlobalSettingsNegativeTest.java | 1 + .../GlobalSettingsPositiveTest.java | 1 + .../awaitility/MultipleConditionsTest.java | 70 +++++++++++++++++++ 5 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 allure-awaitility/src/test/java/io/qameta/allure/awaitility/MultipleConditionsTest.java diff --git a/allure-awaitility/readme.md b/allure-awaitility/readme.md index 5a93b6a42..1fcb34691 100644 --- a/allure-awaitility/readme.md +++ b/allure-awaitility/readme.md @@ -7,11 +7,16 @@ For more information about awaitility highly recommended look into [awaitility u ### Configuration examples -Single line for all awaitility conditions in project +Single line for all awaitility conditions in project ```java Awaitility.setDefaultConditionEvaluationListener(new AllureAwaitilityListener()); ``` +And another line to prevent breaking allure lifecycle for Steps inside Awaitility evaluations +```java +Awaitility.pollInSameThread(); +``` + Moreover, it's possible logging only few unstable conditions with method `.conditionEvaluationListener()` ```java final AtomicInteger atomicInteger = new AtomicInteger(0); diff --git a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/ConditionListenersPositiveTest.java b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/ConditionListenersPositiveTest.java index 74cfa88f2..1a3bad814 100644 --- a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/ConditionListenersPositiveTest.java +++ b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/ConditionListenersPositiveTest.java @@ -18,6 +18,8 @@ import io.qameta.allure.model.Status; import io.qameta.allure.model.StepResult; import io.qameta.allure.model.TestResult; +import org.awaitility.Awaitility; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.DynamicNode; import org.junit.jupiter.api.DynamicTest; import org.junit.jupiter.api.Test; @@ -38,6 +40,11 @@ class ConditionListenersPositiveTest { + @BeforeAll + static void setup() { + Awaitility.pollInSameThread(); + } + /** * Positive test to check proper allure steps generation. *

diff --git a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsNegativeTest.java b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsNegativeTest.java index 29577aee2..5c169fd63 100644 --- a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsNegativeTest.java +++ b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsNegativeTest.java @@ -48,6 +48,7 @@ void reset() { @BeforeEach void setup() { + Awaitility.pollInSameThread(); Awaitility.setDefaultConditionEvaluationListener(new AllureAwaitilityListener()); } diff --git a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsPositiveTest.java b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsPositiveTest.java index db00c41e6..52a6b50db 100644 --- a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsPositiveTest.java +++ b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/GlobalSettingsPositiveTest.java @@ -48,6 +48,7 @@ void reset() { @BeforeEach void setup() { + Awaitility.pollInSameThread(); Awaitility.setDefaultConditionEvaluationListener(new AllureAwaitilityListener()); } diff --git a/allure-awaitility/src/test/java/io/qameta/allure/awaitility/MultipleConditionsTest.java b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/MultipleConditionsTest.java new file mode 100644 index 000000000..36a74a164 --- /dev/null +++ b/allure-awaitility/src/test/java/io/qameta/allure/awaitility/MultipleConditionsTest.java @@ -0,0 +1,70 @@ +/* + * Copyright 2016-2024 Qameta Software Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.qameta.allure.awaitility; + +import io.qameta.allure.model.Status; +import io.qameta.allure.model.TestResult; +import org.awaitility.Awaitility; +import org.junit.jupiter.api.*; + +import java.util.List; +import java.util.stream.Stream; + +import static io.qameta.allure.test.RunUtils.runWithinTestContext; +import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; + +public class MultipleConditionsTest { + + @AfterEach + void reset() { + Awaitility.reset(); + } + + @BeforeEach + void setup() { + Awaitility.pollInSameThread(); + Awaitility.setDefaultConditionEvaluationListener(new AllureAwaitilityListener()); + } + + @TestFactory + Stream bothAwaitilityStepsShouldAppearTest() { + final List testResult = runWithinTestContext(() -> { + await().with() + .alias("First waiting") + .until(() -> true); + await().with() + .alias("Second waiting") + .until(() -> true); + }, + AllureAwaitilityListener::setLifecycle + ).getTestResults(); + + return Stream.of( + DynamicTest.dynamicTest("Exactly 2 top level step for 2 awaitility condition", () -> + assertThat(testResult.get(0).getSteps()) + .describedAs("Allure TestResult contains exactly 2 top level step for 2 awaitility condition") + .hasSize(2) + ), + DynamicTest.dynamicTest("All top level step for all awaitility condition has PASSED", () -> + assertThat(testResult.get(0).getSteps()) + .describedAs("Allure TestResult contains all top level step for all awaitility with PASSED condition") + .allMatch(step -> Status.PASSED.equals(step.getStatus())) + ) + ); + } + +} From 480ec9db8d9f9b74bde66cde99cbb7a4e8c80818 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Nov 2025 11:05:33 +0000 Subject: [PATCH 112/139] build(deps): bump grpcVersion from 1.75.0 to 1.76.0 (via #1202) --- allure-grpc/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-grpc/build.gradle.kts b/allure-grpc/build.gradle.kts index 259fc7e3d..7eab5267c 100644 --- a/allure-grpc/build.gradle.kts +++ b/allure-grpc/build.gradle.kts @@ -8,7 +8,7 @@ description = "Allure gRPC Integration" val agent: Configuration by configurations.creating -val grpcVersion = "1.75.0" +val grpcVersion = "1.76.0" val protobufVersion = "4.32.1" val jacksonVersion = "2.17.2" From 7709e11703c251454b7e128cad2bf1ca917bbf59 Mon Sep 17 00:00:00 2001 From: qameta-ci Date: Thu, 13 Nov 2025 11:07:27 +0000 Subject: [PATCH 113/139] release 2.31.0 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 0ce9c63c1..4c932d123 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.31-SNAPSHOT +version=2.31.0 org.gradle.daemon=true org.gradle.parallel=true From 4e8495aaa187ad4b009a7116ed1463391722b304 Mon Sep 17 00:00:00 2001 From: qameta-ci Date: Thu, 13 Nov 2025 11:07:27 +0000 Subject: [PATCH 114/139] set next development version 2.32 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 4c932d123..48e478a6b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.31.0 +version=2.32-SNAPSHOT org.gradle.daemon=true org.gradle.parallel=true From 090468624f8fcd5b6d48ec28120e12c31f25c263 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Dec 2025 17:19:21 +0000 Subject: [PATCH 115/139] build(deps): bump actions/checkout from 5 to 6 (via #1206) --- .github/workflows/build.yml | 2 +- .github/workflows/dependency-submission.yml | 2 +- .github/workflows/publish.yml | 2 +- .github/workflows/release.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0cfd23757..8f537bc9c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,7 +18,7 @@ jobs: name: "Build" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: "Set up JDK" uses: actions/setup-java@v5 diff --git a/.github/workflows/dependency-submission.yml b/.github/workflows/dependency-submission.yml index 9cb408169..acc097567 100644 --- a/.github/workflows/dependency-submission.yml +++ b/.github/workflows/dependency-submission.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Generate and submit dependency graph uses: gradle/actions/dependency-submission@v4 env: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 97d4d7fbd..2295deb90 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -11,7 +11,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: "Set up JDK" uses: actions/setup-java@v5 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6b08eb0e4..7d5ace556 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,7 +26,7 @@ jobs: - name: "Check next version" run: | expr "${{ github.event.inputs.nextVersion }}" : '[[:digit:]][[:digit:]]*\.[[:digit:]][[:digit:]]*$' - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: token: ${{ secrets.QAMETA_CI }} From 873ac20ccac4ae69f3a0c57943a8fc6bb89d0371 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 09:49:04 +0000 Subject: [PATCH 116/139] build(deps): bump gradle/actions from 4 to 5 (via #1197) --- .github/workflows/dependency-submission.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependency-submission.yml b/.github/workflows/dependency-submission.yml index acc097567..748dfe670 100644 --- a/.github/workflows/dependency-submission.yml +++ b/.github/workflows/dependency-submission.yml @@ -16,7 +16,7 @@ jobs: - name: Checkout sources uses: actions/checkout@v6 - name: Generate and submit dependency graph - uses: gradle/actions/dependency-submission@v4 + uses: gradle/actions/dependency-submission@v5 env: DEPENDENCY_GRAPH_EXCLUDE_PROJECTS: ':allure-java-commons-test' DEPENDENCY_GRAPH_INCLUDE_CONFIGURATIONS: 'runtimeClasspath' From 89371862308aa4baa9b95e93c0cfbeba917d3d30 Mon Sep 17 00:00:00 2001 From: CodeGeek32 Date: Thu, 11 Dec 2025 14:47:22 +0300 Subject: [PATCH 117/139] limited prettifying length to 1mb (via #1157) --- .../allure/restassured/AllureRestAssured.java | 17 +++++-- .../restassured/AllureRestAssuredTest.java | 51 ++++++++++++++++++- 2 files changed, 63 insertions(+), 5 deletions(-) diff --git a/allure-rest-assured/src/main/java/io/qameta/allure/restassured/AllureRestAssured.java b/allure-rest-assured/src/main/java/io/qameta/allure/restassured/AllureRestAssured.java index 9e166c309..07f0d5e6c 100644 --- a/allure-rest-assured/src/main/java/io/qameta/allure/restassured/AllureRestAssured.java +++ b/allure-rest-assured/src/main/java/io/qameta/allure/restassured/AllureRestAssured.java @@ -35,7 +35,6 @@ import java.util.TreeSet; import static io.qameta.allure.attachment.http.HttpRequestAttachment.Builder.create; -import static io.qameta.allure.attachment.http.HttpResponseAttachment.Builder.create; import static java.util.Optional.ofNullable; /** @@ -45,11 +44,18 @@ public class AllureRestAssured implements OrderedFilter { private static final String HIDDEN_PLACEHOLDER = "[ BLACKLISTED ]"; + private int maxAllowedPrettifyLength = 1_048_576; + private String requestTemplatePath = "http-request.ftl"; private String responseTemplatePath = "http-response.ftl"; private String requestAttachmentName = "Request"; private String responseAttachmentName; + public AllureRestAssured setMaxAllowedPrettifyLength(final int maxAllowedPrettifyLength) { + this.maxAllowedPrettifyLength = maxAllowedPrettifyLength; + return this; + } + public AllureRestAssured setRequestTemplate(final String templatePath) { this.requestTemplatePath = templatePath; return this; @@ -123,10 +129,15 @@ public Response filter(final FilterableRequestSpecification requestSpec, final String attachmentName = ofNullable(responseAttachmentName) .orElse(response.getStatusLine()); - final HttpResponseAttachment responseAttachment = create(attachmentName) + final String responseAsString = response.getBody().asString(); + final String body = responseAsString.length() > maxAllowedPrettifyLength + ? responseAsString + : prettifier.getPrettifiedBodyIfPossible(response, response.getBody()); + + final HttpResponseAttachment responseAttachment = HttpResponseAttachment.Builder.create(attachmentName) .setResponseCode(response.getStatusCode()) .setHeaders(toMapConverter(response.getHeaders(), hiddenHeaders)) - .setBody(prettifier.getPrettifiedBodyIfPossible(response, response.getBody())) + .setBody(body) .build(); new DefaultAttachmentProcessor().addAttachment( diff --git a/allure-rest-assured/src/test/java/io/qameta/allure/restassured/AllureRestAssuredTest.java b/allure-rest-assured/src/test/java/io/qameta/allure/restassured/AllureRestAssuredTest.java index 61e2b4e85..4b3b2092f 100644 --- a/allure-rest-assured/src/test/java/io/qameta/allure/restassured/AllureRestAssuredTest.java +++ b/allure-rest-assured/src/test/java/io/qameta/allure/restassured/AllureRestAssuredTest.java @@ -28,7 +28,9 @@ import io.restassured.config.RestAssuredConfig; import io.restassured.http.ContentType; import io.restassured.specification.RequestSpecification; + import java.nio.charset.StandardCharsets; + import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.params.ParameterizedTest; @@ -59,6 +61,23 @@ public Stream provideArguments(ExtensionContext context) { } } +class JsonPrettifyingArgumentsProvider implements ArgumentsProvider { + @Override + public Stream provideArguments(ExtensionContext context) { + + return Stream.of( + arguments(new AllureRestAssured(), """ + { + "name": "12345", + "value": "abcdef" + }"""), + arguments(new AllureRestAssured().setMaxAllowedPrettifyLength(5), """ + {"name":"12345","value":"abcdef"} + """) + ); + } +} + class HiddenHeadersArgumentProvider implements ArgumentsProvider { @Override public Stream provideArguments(ExtensionContext context) { @@ -174,6 +193,34 @@ void shouldHideHeadersInAttachments(final Map headers, .allSatisfy(at -> expectedValues.forEach(ev -> assertThat(at).contains(ev))); } + @ParameterizedTest + @ArgumentsSource(JsonPrettifyingArgumentsProvider.class) + void responseJsonPrettified(final AllureRestAssured filter, final String formattedBody) { + final ResponseDefinitionBuilder responseBuilder = WireMock.aResponse() + .withHeader("Content-Type", "application/json") + .withBody(""" + {"name":"12345","value":"abcdef"} + """) + .withStatus(200); + + RestAssured.replaceFiltersWith(filter); + + final AllureResults results = executeWithStub(responseBuilder, RestAssured.with()); + final Attachment requestAttachment = results.getTestResults() + .stream() + .map(TestResult::getAttachments) + .flatMap(Collection::stream) + .filter(attachment -> "HTTP/1.1 200 OK".equals(attachment.getName())) + .findAny() + .orElseThrow(() -> new AssertionError("No response attachment found")); + + final byte[] attachmentBody = results.getAttachments().get(requestAttachment.getSource()); + final String attachmentBodyString = new String(attachmentBody, StandardCharsets.UTF_8); + + assertThat(attachmentBodyString) + .contains(formattedBody); + } + protected final AllureResults execute() { return executeWithStub(WireMock.aResponse().withBody("some body")); } @@ -193,8 +240,8 @@ protected final AllureResults executeWithStub(ResponseDefinitionBuilder response WireMock.stubFor(WireMock.get(WireMock.urlEqualTo("/hello?Allure=Form")).willReturn(responseBuilder)); try { spec.contentType(ContentType.URLENC) - .formParams("Allure", "Form") - .get(server.url("/hello")).then().statusCode(statusCode); + .formParams("Allure", "Form") + .get(server.url("/hello")).then().statusCode(statusCode); } finally { server.stop(); RestAssured.replaceFiltersWith(ImmutableList.of()); From 18ab7b367a17b716f9b132a7e0a81a7c75bddaa7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 11:47:49 +0000 Subject: [PATCH 118/139] build(deps): bump io.qameta.allure plugins from 2.11.2 to 3.0.1 (via #1205) --- settings.gradle.kts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 20eaaa8e7..cb1d273d8 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -50,10 +50,10 @@ pluginManagement { id("io.github.goooler.shadow") version "8.1.8" id("com.gradle.enterprise") version "3.17.5" id("io.github.gradle-nexus.publish-plugin") version "2.0.0" - id("io.qameta.allure-adapter") version "2.11.2" - id("io.qameta.allure-aggregate-report") version "2.11.2" - id("io.qameta.allure-download") version "2.12.0" - id("io.qameta.allure-report") version "2.11.2" + id("io.qameta.allure-adapter") version "3.0.1" + id("io.qameta.allure-aggregate-report") version "3.0.1" + id("io.qameta.allure-download") version "3.0.1" + id("io.qameta.allure-report") version "3.0.1" id("io.spring.dependency-management") version "1.1.6" id("com.google.protobuf") version "0.9.4" id("com.github.spotbugs") version "6.0.19" From ee62d85942823d9ce11b1e83817c9021a7708f35 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 11:48:14 +0000 Subject: [PATCH 119/139] build(deps): bump org.jboss.resteasy:resteasy-client from 6.2.9.Final to 7.0.0.Final (via #1196) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 525bbe6c8..9a3b56419 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -171,7 +171,7 @@ configure(libs) { dependency("org.freemarker:freemarker:2.3.33") dependency("org.grpcmock:grpcmock-junit5:0.8.0") dependency("org.hamcrest:hamcrest:3.0") - dependency("org.jboss.resteasy:resteasy-client:6.2.9.Final") + dependency("org.jboss.resteasy:resteasy-client:7.0.1.Final") dependency("org.mock-server:mockserver-netty:5.15.0") dependency("org.mockito:mockito-core:5.12.0") dependency("org.slf4j:slf4j-api:${orgSlf4jVersion}") From 7c81921efcaf3d2f559ef64a58bc6264768c253f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 12:27:00 +0000 Subject: [PATCH 120/139] build(deps): bump assertJVersion from 1.9.22.1 to 1.9.25 (via #1207) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 9a3b56419..f89884360 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -145,7 +145,7 @@ configure(libs) { apply(plugin = "java-library") val orgSlf4jVersion = "2.0.17" - val assertJVersion = "1.9.22.1" + val assertJVersion = "1.9.25" dependencyManagement { imports { From f44ede04955e2c9c36893c77eae39f549da3ad79 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 12:27:30 +0000 Subject: [PATCH 121/139] build(deps): bump io.rest-assured:rest-assured from 5.5.0 to 5.5.6 (via #1208) --- allure-rest-assured/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-rest-assured/build.gradle.kts b/allure-rest-assured/build.gradle.kts index d454c364a..4834fa00a 100644 --- a/allure-rest-assured/build.gradle.kts +++ b/allure-rest-assured/build.gradle.kts @@ -1,6 +1,6 @@ description = "Allure Rest-Assured Integration" -val restAssuredVersion = "5.5.0" +val restAssuredVersion = "5.5.6" dependencies { api(project(":allure-attachments")) From 36a4f1248d5cb26a323d26cfaf522893a0772d62 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 12:27:55 +0000 Subject: [PATCH 122/139] build(deps): bump grpcVersion from 1.76.0 to 1.77.0 (via #1209) --- allure-grpc/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-grpc/build.gradle.kts b/allure-grpc/build.gradle.kts index 7eab5267c..34e0bd487 100644 --- a/allure-grpc/build.gradle.kts +++ b/allure-grpc/build.gradle.kts @@ -8,7 +8,7 @@ description = "Allure gRPC Integration" val agent: Configuration by configurations.creating -val grpcVersion = "1.76.0" +val grpcVersion = "1.77.0" val protobufVersion = "4.32.1" val jacksonVersion = "2.17.2" From 9e68745fd27cc1269bba1f743b51d12555460dbb Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Thu, 11 Dec 2025 12:46:58 +0000 Subject: [PATCH 123/139] remove deprecated Gradle Enterprise plugin in favor of Devlocity (via #1210) --- settings.gradle.kts | 1 - 1 file changed, 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index cb1d273d8..79bb4b2e9 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -48,7 +48,6 @@ pluginManagement { plugins { id("com.diffplug.spotless") version "6.25.0" id("io.github.goooler.shadow") version "8.1.8" - id("com.gradle.enterprise") version "3.17.5" id("io.github.gradle-nexus.publish-plugin") version "2.0.0" id("io.qameta.allure-adapter") version "3.0.1" id("io.qameta.allure-aggregate-report") version "3.0.1" From 4f3704b0cc98e941c166358526a33779e6bd3cda Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 12:47:21 +0000 Subject: [PATCH 124/139] build(deps): bump org.awaitility:awaitility from 4.2.1 to 4.3.0 (via #1214) --- allure-awaitility/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-awaitility/build.gradle.kts b/allure-awaitility/build.gradle.kts index e7afac938..3c9ed6c79 100644 --- a/allure-awaitility/build.gradle.kts +++ b/allure-awaitility/build.gradle.kts @@ -2,7 +2,7 @@ description = "Allure Awaitlity Integration" val agent: Configuration by configurations.creating -val awaitilityVersion = "4.2.1" +val awaitilityVersion = "4.3.0" dependencies { agent("org.aspectj:aspectjweaver") From c63a7c387026c8ad3230a42d8f6cab70fbef74b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 12:47:45 +0000 Subject: [PATCH 125/139] build(deps): bump com.github.spotbugs from 6.0.19 to 6.4.7 (via #1213) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 79bb4b2e9..360340876 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -55,7 +55,7 @@ pluginManagement { id("io.qameta.allure-report") version "3.0.1" id("io.spring.dependency-management") version "1.1.6" id("com.google.protobuf") version "0.9.4" - id("com.github.spotbugs") version "6.0.19" + id("com.github.spotbugs") version "6.4.7" kotlin("jvm") version "2.0.0" } } From f6a25e5abb2137c4ab046f551311515640decacd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 12:48:11 +0000 Subject: [PATCH 126/139] build(deps): bump com.puppycrawl.tools:checkstyle from 11.0.1 to 12.2.0 (via #1212) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index f89884360..6e659c871 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -157,7 +157,7 @@ configure(libs) { dependency("com.github.tomakehurst:wiremock:3.0.1") dependency("com.google.inject:guice:7.0.0") dependency("com.google.testing.compile:compile-testing:0.21.0") - dependency("com.puppycrawl.tools:checkstyle:11.0.1") + dependency("com.puppycrawl.tools:checkstyle:12.2.0") dependency("com.squareup.retrofit2:retrofit:3.0.0") dependency("commons-io:commons-io:2.20.0") dependency("io.github.benas:random-beans:3.9.0") From 7099e17d15b6ff2b27e097f1af855dcd99981207 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 12:48:45 +0000 Subject: [PATCH 127/139] build(deps): bump io.zonky.test.postgres:embedded-postgres-binaries-bom from 16.2.0 to 18.1.0 (via #1211) --- allure-jooq/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-jooq/build.gradle.kts b/allure-jooq/build.gradle.kts index 22d515bad..ed2a5fa78 100644 --- a/allure-jooq/build.gradle.kts +++ b/allure-jooq/build.gradle.kts @@ -11,7 +11,7 @@ dependencies { testImplementation("org.junit.jupiter:junit-jupiter-api") testImplementation("org.mockito:mockito-core") testImplementation("org.slf4j:slf4j-simple") - testImplementation(platform("io.zonky.test.postgres:embedded-postgres-binaries-bom:16.2.0")) + testImplementation(platform("io.zonky.test.postgres:embedded-postgres-binaries-bom:18.1.0")) testImplementation(project(":allure-assertj")) testImplementation(project(":allure-java-commons-test")) testImplementation(project(":allure-junit-platform")) From f973f083496fdb95cd62c7d857fc9c792115fc75 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 14:21:21 +0000 Subject: [PATCH 128/139] build(deps): bump io.spring.dependency-management from 1.1.6 to 1.1.7 (via #1218) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 360340876..44aff7639 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -53,7 +53,7 @@ pluginManagement { id("io.qameta.allure-aggregate-report") version "3.0.1" id("io.qameta.allure-download") version "3.0.1" id("io.qameta.allure-report") version "3.0.1" - id("io.spring.dependency-management") version "1.1.6" + id("io.spring.dependency-management") version "1.1.7" id("com.google.protobuf") version "0.9.4" id("com.github.spotbugs") version "6.4.7" kotlin("jvm") version "2.0.0" From 8ac7f312e247db62123d58375587df9e45253433 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 14:22:02 +0000 Subject: [PATCH 129/139] build(deps): bump io.zonky.test:embedded-postgres from 2.0.7 to 2.2.0 (via #1216) --- allure-jooq/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-jooq/build.gradle.kts b/allure-jooq/build.gradle.kts index ed2a5fa78..5cbce74ae 100644 --- a/allure-jooq/build.gradle.kts +++ b/allure-jooq/build.gradle.kts @@ -5,7 +5,7 @@ val jooqVersion = "3.19.10" dependencies { api(project(":allure-java-commons")) compileOnly("org.jooq:jooq:${jooqVersion}") - testImplementation("io.zonky.test:embedded-postgres:2.0.7") + testImplementation("io.zonky.test:embedded-postgres:2.2.0") testImplementation("org.assertj:assertj-core") testImplementation("org.jooq:jooq:${jooqVersion}") testImplementation("org.junit.jupiter:junit-jupiter-api") From 8fc5e9873922aa0d0932101d0913ed7fcd0bb4c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 14:26:34 +0000 Subject: [PATCH 130/139] build(deps): bump com.github.prokod.gradle-crossbuild from 0.16.0 to 0.17.0 (via #1215) --- allure-scalatest/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-scalatest/build.gradle.kts b/allure-scalatest/build.gradle.kts index 188e8d80e..c673a71d0 100644 --- a/allure-scalatest/build.gradle.kts +++ b/allure-scalatest/build.gradle.kts @@ -2,7 +2,7 @@ description = "Allure ScalaTest Integration" plugins { scala - id("com.github.prokod.gradle-crossbuild") version "0.16.0" + id("com.github.prokod.gradle-crossbuild") version "0.17.0" } val scala212 = "2.12" From 18c653368a055a3371c2a5b5d271cf6b8a67b3d0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 15:53:17 +0000 Subject: [PATCH 131/139] build(deps): bump com.google.protobuf from 0.9.4 to 0.9.5 (via #1217) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 44aff7639..5dfda5657 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -54,7 +54,7 @@ pluginManagement { id("io.qameta.allure-download") version "3.0.1" id("io.qameta.allure-report") version "3.0.1" id("io.spring.dependency-management") version "1.1.7" - id("com.google.protobuf") version "0.9.4" + id("com.google.protobuf") version "0.9.5" id("com.github.spotbugs") version "6.4.7" kotlin("jvm") version "2.0.0" } From 1d0c9544a9ce3e34331eb10fd4dff73478ca8314 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 16:18:43 +0000 Subject: [PATCH 132/139] build(deps): bump protobufVersion from 4.32.1 to 4.33.2 (via #1222) --- allure-grpc/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allure-grpc/build.gradle.kts b/allure-grpc/build.gradle.kts index 34e0bd487..2f3cc642d 100644 --- a/allure-grpc/build.gradle.kts +++ b/allure-grpc/build.gradle.kts @@ -9,7 +9,7 @@ description = "Allure gRPC Integration" val agent: Configuration by configurations.creating val grpcVersion = "1.77.0" -val protobufVersion = "4.32.1" +val protobufVersion = "4.33.2" val jacksonVersion = "2.17.2" dependencies { From c12eb07ff006e949c0d146fd7d1d8265aeb80f52 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Dec 2025 16:19:06 +0000 Subject: [PATCH 133/139] build(deps): bump com.github.spotbugs:spotbugs from 4.9.3 to 4.9.8 (via #1221) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 6e659c871..dc1dc9755 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -153,7 +153,7 @@ configure(libs) { mavenBom("org.junit:junit-bom:5.10.3") } dependencies { - dependency("com.github.spotbugs:spotbugs:4.9.3") + dependency("com.github.spotbugs:spotbugs:4.9.8") dependency("com.github.tomakehurst:wiremock:3.0.1") dependency("com.google.inject:guice:7.0.0") dependency("com.google.testing.compile:compile-testing:0.21.0") From 733546dc926cce8208ffe451aa52c86d01d55bc0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Dec 2025 10:10:36 +0000 Subject: [PATCH 134/139] build(deps): bump com.fasterxml.jackson:jackson-bom from 2.17.2 to 2.20.1 (via #1224) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index dc1dc9755..fe4b0a79e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -149,7 +149,7 @@ configure(libs) { dependencyManagement { imports { - mavenBom("com.fasterxml.jackson:jackson-bom:2.17.2") + mavenBom("com.fasterxml.jackson:jackson-bom:2.20.1") mavenBom("org.junit:junit-bom:5.10.3") } dependencies { From b604f53f889ff2a9481918e64fdf30c6adfc4b66 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Dec 2025 10:11:11 +0000 Subject: [PATCH 135/139] build(deps): bump com.google.testing.compile:compile-testing from 0.21.0 to 0.23.0 (via #1225) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index fe4b0a79e..b1b3f9caf 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -156,7 +156,7 @@ configure(libs) { dependency("com.github.spotbugs:spotbugs:4.9.8") dependency("com.github.tomakehurst:wiremock:3.0.1") dependency("com.google.inject:guice:7.0.0") - dependency("com.google.testing.compile:compile-testing:0.21.0") + dependency("com.google.testing.compile:compile-testing:0.23.0") dependency("com.puppycrawl.tools:checkstyle:12.2.0") dependency("com.squareup.retrofit2:retrofit:3.0.0") dependency("commons-io:commons-io:2.20.0") From d09faf22320711a2d45c892a92b007af110064c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Dec 2025 10:11:54 +0000 Subject: [PATCH 136/139] build(deps): bump org.scala-lang.modules:scala-collection-compat_2.13 from 2.12.0 to 2.14.0 (via #1226) --- allure-scalatest/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/allure-scalatest/build.gradle.kts b/allure-scalatest/build.gradle.kts index c673a71d0..a5ecc550d 100644 --- a/allure-scalatest/build.gradle.kts +++ b/allure-scalatest/build.gradle.kts @@ -84,14 +84,14 @@ signing { dependencies { api(project(":allure-java-commons")) compileOnly("org.scalatest:scalatest_$scala213:3.2.19") - compileOnly("org.scala-lang.modules:scala-collection-compat_$scala213:2.12.0") + compileOnly("org.scala-lang.modules:scala-collection-compat_$scala213:2.14.0") testAnnotationProcessor(project(":allure-descriptions-javadoc")) testImplementation("io.github.glytching:junit-extensions") testImplementation("org.assertj:assertj-core") testImplementation("org.junit.jupiter:junit-jupiter-api") testImplementation("org.junit.jupiter:junit-jupiter-params") testImplementation("org.scalatest:scalatest_$scala213:3.2.19") - testImplementation("org.scala-lang.modules:scala-collection-compat_$scala213:2.12.0") + testImplementation("org.scala-lang.modules:scala-collection-compat_$scala213:2.14.0") testImplementation("org.slf4j:slf4j-simple") testImplementation(project(":allure-assertj")) testImplementation(project(":allure-java-commons-test")) From 5083adad90a9a16e84e77ae1a2505c5356a8c922 Mon Sep 17 00:00:00 2001 From: qameta-ci Date: Fri, 12 Dec 2025 14:10:42 +0000 Subject: [PATCH 137/139] release 2.32.0 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 48e478a6b..e8de60e45 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.32-SNAPSHOT +version=2.32.0 org.gradle.daemon=true org.gradle.parallel=true From e602a0ff5a5860b96947f417f484a739ac33529a Mon Sep 17 00:00:00 2001 From: qameta-ci Date: Fri, 12 Dec 2025 14:10:43 +0000 Subject: [PATCH 138/139] set next development version 2.33 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index e8de60e45..40a54c453 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.32.0 +version=2.33-SNAPSHOT org.gradle.daemon=true org.gradle.parallel=true From 5ad7b9e4be051599733c7ad3f5b95e18cfe7f6a4 Mon Sep 17 00:00:00 2001 From: Bartek Florczak Date: Tue, 13 Jan 2026 14:47:51 +0100 Subject: [PATCH 139/139] update TestNG to version 7 (via #1232) --- allure-testng/build.gradle.kts | 8 ++++++-- .../src/main/services/org.testng.ITestNGListener | 2 +- .../java/io/qameta/allure/testng/AllureTestNgTest.java | 6 ++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/allure-testng/build.gradle.kts b/allure-testng/build.gradle.kts index f471e9f7f..7d6fe56a7 100644 --- a/allure-testng/build.gradle.kts +++ b/allure-testng/build.gradle.kts @@ -1,6 +1,6 @@ -description = "Allure TestNG Integration" +description = "Allure TestNG 7 Integration" -val testNgVersion = "6.14.3" +val testNgVersion = "7.11.0" dependencies { api(project(":allure-java-commons")) @@ -34,6 +34,10 @@ tasks.test { exclude("**/samples/*") } +tasks.withType(JavaCompile::class) { + options.release.set(11) +} + val spiOffJar: Jar by tasks.creating(Jar::class) { from(sourceSets.getByName("main").output) archiveClassifier.set("spi-off") diff --git a/allure-testng/src/main/services/org.testng.ITestNGListener b/allure-testng/src/main/services/org.testng.ITestNGListener index 5be291131..cdf527c81 100644 --- a/allure-testng/src/main/services/org.testng.ITestNGListener +++ b/allure-testng/src/main/services/org.testng.ITestNGListener @@ -1 +1 @@ -io.qameta.allure.testng.AllureTestNg \ No newline at end of file +io.qameta.allure.testng.AllureTestNg diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java index 7af9c5303..1276a2120 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java @@ -476,7 +476,8 @@ public void skippedSuiteTest() { "Test tag 8", "Test suite 8", "io.qameta.allure.testng.samples.SkippedSuite", - "io.qameta.allure.testng.samples.TestsWithSteps" + "io.qameta.allure.testng.samples.TestsWithSteps", + "io.qameta.allure.testng.samples.SkippedSuite.skippedBeforeMethod" ); assertThat(findTestContainerByName(results, "Test suite 8").getBefores()) @@ -802,7 +803,8 @@ public void shouldGenerateSameHistoryIdForTheSameTests() { final List testResults = results.getTestResults(); assertThat(testResults) .extracting(TestResult::getHistoryId) - .containsExactlyInAnyOrder("45e3e2818aabf660b03908be12ba64f7", "45e3e2818aabf660b03908be12ba64f7"); + .hasSize(2) + .containsOnly("45e3e2818aabf660b03908be12ba64f7"); } @SuppressWarnings("unchecked")