Skip to content

Commit

Permalink
improve tests coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
baev committed Nov 14, 2018
1 parent 1b1152b commit 4927d27
Show file tree
Hide file tree
Showing 69 changed files with 1,337 additions and 729 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 1,4 @@
.allure
.gradle
schema
build
Expand Down
10 changes: 4 additions & 6 deletions allure-assertj/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 4,13 @@ val agent by configurations.creating

dependencies {
agent("org.aspectj:aspectjweaver")

compile(project(":allure-java-commons"))
compile("org.assertj:assertj-core")

testCompile("org.slf4j:slf4j-simple")
compile(project(":allure-java-commons"))
testCompile("org.junit.jupiter:junit-jupiter-api")
testRuntime("org.junit.jupiter:junit-jupiter-engine")
testCompile(project(":allure-junit-platform"))
testCompile("org.slf4j:slf4j-simple")
testCompile(project(":allure-java-commons-test"))
testCompile(project(":allure-junit-platform"))
testRuntime("org.junit.jupiter:junit-jupiter-engine")
}

tasks.named<Jar>("jar") {
Expand Down
3 changes: 2 additions & 1 deletion allure-assertj/src/test/resources/allure.properties
Original file line number Diff line number Diff line change
@@ -1 1,2 @@
allure.results.directory=build/allure-results
allure.results.directory=build/allure-results
allure.label.epic=#project.description#
3 changes: 2 additions & 1 deletion allure-attachments/src/test/resources/allure.properties
Original file line number Diff line number Diff line change
@@ -1 1,2 @@
allure.results.directory=build/allure-results
allure.results.directory=build/allure-results
allure.label.epic=#project.description#
1 change: 1 addition & 0 deletions allure-cucumber-jvm/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 18,7 @@ dependencies {
testCompile("org.junit.jupiter:junit-jupiter-api")
testCompile("org.slf4j:slf4j-simple")
testCompile(project(":allure-java-commons-test"))
testCompile(project(":allure-junit-platform"))
testRuntime("org.junit.jupiter:junit-jupiter-engine")
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 11,6 @@
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.Epic;
import io.qameta.allure.Issue;
import io.qameta.allure.model.Attachment;
import io.qameta.allure.model.Label;
Expand Down Expand Up @@ -45,7 44,6 @@
/**
* @author charlie (Dmitry Baev).
*/
@Epic("CucumberJVM 1 integration")
@SuppressWarnings("unchecked")
class AllureCucumberJvmTest {

Expand Down
4 changes: 2 additions & 2 deletions allure-cucumber-jvm/src/test/resources/allure.properties
Original file line number Diff line number Diff line change
@@ -1,2 1,2 @@
allure.model.indentOutput=true
allure.results.directory=build/allure-results
allure.results.directory=build/allure-results
allure.label.epic=#project.description#
1 change: 1 addition & 0 deletions allure-cucumber2-jvm/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 17,7 @@ dependencies {
testCompile("org.junit.jupiter:junit-jupiter-api")
testCompile("org.slf4j:slf4j-simple")
testCompile(project(":allure-java-commons-test"))
testCompile(project(":allure-junit-platform"))
testRuntime("org.junit.jupiter:junit-jupiter-engine")
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 14,6 @@
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.Epic;
import io.qameta.allure.Issue;
import io.qameta.allure.model.Attachment;
import io.qameta.allure.model.Label;
Expand Down Expand Up @@ -50,7 49,6 @@
/**
* @author charlie (Dmitry Baev).
*/
@Epic("CucumberJVM 2 integration")
@SuppressWarnings("unchecked")
class AllureCucumber2JvmTest {

Expand Down
4 changes: 2 additions & 2 deletions allure-cucumber2-jvm/src/test/resources/allure.properties
Original file line number Diff line number Diff line change
@@ -1,2 1,2 @@
allure.model.indentOutput=true
allure.results.directory=build/allure-results
allure.results.directory=build/allure-results
allure.label.epic=#project.description#
1 change: 1 addition & 0 deletions allure-cucumber3-jvm/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 16,7 @@ dependencies {
testCompile("org.junit.jupiter:junit-jupiter-api")
testCompile("org.slf4j:slf4j-simple")
testCompile(project(":allure-java-commons-test"))
testCompile(project(":allure-junit-platform"))
testRuntime("org.junit.jupiter:junit-jupiter-engine")
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 14,6 @@
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.Epic;
import io.qameta.allure.Issue;
import io.qameta.allure.model.Attachment;
import io.qameta.allure.model.Label;
Expand Down Expand Up @@ -50,7 49,6 @@
/**
* @author charlie (Dmitry Baev).
*/
@Epic("CucumberJVM 3 integration")
@SuppressWarnings("unchecked")
class AllureCucumber3JvmTest {

Expand Down
3 changes: 2 additions & 1 deletion allure-cucumber3-jvm/src/test/resources/allure.properties
Original file line number Diff line number Diff line change
@@ -1,2 1,3 @@
allure.model.indentOutput=true
allure.results.directory=build/allure-results
allure.results.directory=build/allure-results
allure.label.epic=#project.description#
18 changes: 17 additions & 1 deletion allure-descriptions-javadoc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,12 1,21 @@
description = "Allure Javadoc Descriptions"

val agent by configurations.creating

dependencies {
agent("org.aspectj:aspectjweaver")

compile(project(":allure-java-commons"))
compile("commons-io:commons-io")

testCompile("com.google.testing.compile:compile-testing")
testCompile("io.github.glytching:junit-extensions")
testCompile("org.assertj:assertj-core")
testCompile("org.junit.jupiter:junit-jupiter-api")
testCompile("org.slf4j:slf4j-simple")
testCompile("org.testng:testng")
testCompile(project(":allure-java-commons-test"))
testCompile(project(":allure-junit-platform"))
testRuntime("org.junit.jupiter:junit-jupiter-engine")
}

tasks.named<Jar>("jar") {
Expand All @@ -16,3 25,10 @@ tasks.named<Jar>("jar") {
))
}
}

tasks.named<Test>("test") {
useJUnitPlatform()
doFirst {
jvmArgs("-javaagent:${agent.singleFile}")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 3,7 @@
import com.google.testing.compile.Compilation;
import com.google.testing.compile.Compiler;
import com.google.testing.compile.JavaFileObjects;
import org.testng.annotations.Test;
import org.junit.jupiter.api.Test;

import javax.tools.JavaFileObject;
import javax.tools.StandardLocation;
Expand All @@ -14,26 14,24 @@
/**
* @author Egor Borisov [email protected]
*/
public class ProcessDescriptionsTest {
class ProcessDescriptionsTest {

private static final String ALLURE_PACKAGE_NAME = "allureDescriptions";

@Test
public void captureDescriptionTest() {
void captureDescriptionTest() {
final String expectedMethodSignatureHash = "4e7f896021ef2fce7c1deb7f5b9e38fb";

JavaFileObject source = JavaFileObjects.forSourceLines(
"io.qameta.allure.description.test.DescriptionSample",
"package io.qameta.allure.description.test;",
"import io.qameta.allure.Description;",
"import org.testng.annotations.Test;",
"",
"public class DescriptionSample {",
"",
"/**",
"* Captured javadoc description",
"*/",
"@Test",
"@Description(useJavaDoc = true)",
"public void sampleTest() {",
"}",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 1,2 @@
allure.results.directory=build/allure-results
allure.label.epic=#project.description#
18 changes: 17 additions & 1 deletion allure-httpclient/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,13 1,22 @@
description = "Allure Apache HttpClient Integration"

val agent by configurations.creating

dependencies {
agent("org.aspectj:aspectjweaver")

compile("org.apache.httpcomponents:httpclient")
compile(project(":allure-attachments"))

testCompile("com.github.tomakehurst:wiremock")
testCompile("junit:junit")
testCompile("io.github.glytching:junit-extensions")
testCompile("org.assertj:assertj-core")
testCompile("org.junit.jupiter:junit-jupiter-api")
testCompile("org.mockito:mockito-core")
testCompile("org.slf4j:slf4j-simple")
testCompile(project(":allure-java-commons-test"))
testCompile(project(":allure-junit-platform"))
testRuntime("org.junit.jupiter:junit-jupiter-engine")
}

tasks.named<Jar>("jar") {
Expand All @@ -17,3 26,10 @@ tasks.named<Jar>("jar") {
))
}
}

tasks.named<Test>("test") {
useJUnitPlatform()
doFirst {
jvmArgs("-javaagent:${agent.singleFile}")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 9,9 @@
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;

import java.util.Objects;
Expand All @@ -31,14 31,14 @@
/**
* @author charlie (Dmitry Baev).
*/
public class AllureHttpClientTest {
class AllureHttpClientTest {

private static final String BODY_STRING = "Hello world!";

private WireMockServer server;

@Before
public void setUp() {
@BeforeEach
void setUp() {
server = new WireMockServer(options().dynamicPort());
server.start();
configureFor(server.port());
Expand All @@ -48,9 48,16 @@ public void setUp() {
.withBody(BODY_STRING)));
}

@AfterEach
void tearDown() {
if (Objects.nonNull(server)) {
server.stop();
}
}

@SuppressWarnings("unchecked")
@Test
public void shouldCreateRequestAttachment() throws Exception {
void shouldCreateRequestAttachment() throws Exception {
final AttachmentRenderer<AttachmentData> renderer = mock(AttachmentRenderer.class);
final AttachmentProcessor<AttachmentData> processor = mock(AttachmentProcessor.class);

Expand Down Expand Up @@ -78,7 85,7 @@ public void shouldCreateRequestAttachment() throws Exception {

@SuppressWarnings("unchecked")
@Test
public void shouldCreateResponseAttachment() throws Exception {
void shouldCreateResponseAttachment() throws Exception {
final AttachmentRenderer<AttachmentData> renderer = mock(AttachmentRenderer.class);
final AttachmentProcessor<AttachmentData> processor = mock(AttachmentProcessor.class);

Expand All @@ -103,11 110,4 @@ public void shouldCreateResponseAttachment() throws Exception {
.extracting("responseCode")
.containsExactly(200);
}

@After
public void tearDown() {
if (Objects.nonNull(server)) {
server.stop();
}
}
}
}
2 changes: 2 additions & 0 deletions allure-httpclient/src/test/resources/allure.properties
Original file line number Diff line number Diff line change
@@ -0,0 1,2 @@
allure.results.directory=build/allure-results
allure.label.epic=#project.description#
Original file line number Diff line number Diff line change
@@ -0,0 1,67 @@
package io.qameta.allure.test;

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.TestResult;

import java.util.UUID;
import java.util.function.Consumer;
import java.util.stream.Stream;

import static io.qameta.allure.util.ResultsUtils.getStatus;
import static io.qameta.allure.util.ResultsUtils.getStatusDetails;

/**
* @author charlie (Dmitry Baev).
*/
public final class RunUtils {

private RunUtils() {
throw new IllegalStateException("do not instance");
}

public static AllureResults runWithinTestContext(final Runnable runnable) {
return runWithinTestContext(
runnable,
Allure::setLifecycle,
StepsAspects::setLifecycle,
AttachmentsAspects::setLifecycle
);
}

@SafeVarargs
public static AllureResults runWithinTestContext(final Runnable runnable,
final Consumer<AllureLifecycle>... configurers) {
final AllureResultsWriterStub writer = new AllureResultsWriterStub();
final AllureLifecycle lifecycle = new AllureLifecycle(writer);

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);

runnable.run();
} catch (Throwable e) {
lifecycle.updateTestCase(uuid, testResult -> {
getStatus(e).ifPresent(testResult::setStatus);
getStatusDetails(e).ifPresent(testResult::setStatusDetails);

});
} finally {
lifecycle.stopTestCase(uuid);
lifecycle.writeTestCase(uuid);

Stream.of(configurers).forEach(configurer -> configurer.accept(cached));
}

return writer;
}

}
Loading

0 comments on commit 4927d27

Please sign in to comment.