Skip to content

Commit

Permalink
Init containers
Browse files Browse the repository at this point in the history
  • Loading branch information
Assamir committed Feb 19, 2025
1 parent b6d82ba commit 34bf58a
Show file tree
Hide file tree
Showing 7 changed files with 96 additions and 19 deletions.
27 changes: 26 additions & 1 deletion mrchecker-playwright-framework/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
<allure.report.directory>${project.basedir}/target</allure.report.directory>

<!-- Logger -->
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
<log4j.version>2.23.1</log4j.version>
<slf4j.version>1.7.30</slf4j.version>
<json-simple.version>1.1.1</json-simple.version>
Expand Down Expand Up @@ -100,8 +101,14 @@
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit5</artifactId>
<version>3.18.3</version>
<version>${quarkus.platform.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
Expand Down Expand Up @@ -156,6 +163,12 @@
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.version}</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
Expand Down Expand Up @@ -333,6 +346,10 @@
--add-opens java.base/java.lang=ALL-UNNAMED
</argLine>
<argLine>-Dquarkus.configuration.ignore-unknown=true</argLine>
<argLine>-Djava.util.logging.manager=org.jboss.logmanager.LogManager</argLine>
<systemPropertyVariables>
<junit.platform.configuration.file>src/test/resources/junit-platform.properties</junit.platform.configuration.file>
</systemPropertyVariables>
</configuration>
<dependencies>
<dependency>
Expand All @@ -342,6 +359,14 @@
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M9</version>
<configuration>
<argLine>-Djava.util.logging.manager=org.jboss.logmanager.LogManager</argLine>
</configuration>
</plugin>
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
quarkus.log.level=DEBUG
quarkus.http.port=8080
quarkus.log.console.enable=true
quarkus.log.level=INFO
quarkus.log.category."io.quarkus.bootstrap.classloading".level=ERROR
quarkus.log.category."io.quarkus.bootstrap.classloading.QuarkusClassLoader".level=ERROR


#quarkus.log.category."io.quarkus".level=DEBUG
#quarkus.log.level=DEBUG

quarkus.arc.unremovable-types=*
quarkus.test.continuous-testing=disabled



#quarkus.http.port=8080
#mp.messaging.outgoing.regression.connector=smallrye-amqp


mp.messaging.outgoing.regression.connector=smallrye-amqp
testcontainers.mode.debug=true
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,21 @@
import com.capgemini.framework.enums.PrjEpics;
import com.capgemini.framework.playwright.containers.BaseContainersTest;
import com.capgemini.framework.tags.Status;
import com.capgemini.frameworkExamples.page.TestContainersDemoPage;
import io.qameta.allure.Description;
import io.qameta.allure.Epic;
import io.qameta.allure.Feature;
import io.qameta.allure.TmsLink;
import io.quarkus.test.junit.QuarkusTest;
import org.junit.jupiter.api.*;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;

@QuarkusTest
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class DemoWebContainersTest extends BaseContainersTest {
private TestContainersDemoPage testContainersDemoPage = new TestContainersDemoPage();

@TmsLink("Test Management System ID")
@Epic(PrjEpics.EXAMPLES)
Expand All @@ -23,6 +28,7 @@ class DemoWebContainersTest extends BaseContainersTest {
@Tag(Status.DONE)
void demoContainersTest() {
System.out.println("Executing Test...");
// Assertions.assertNotNull(demoQALoginPage);
var returnText = testContainersDemoPage.clickButtonAndReturnText();
Assertions.assertEquals("Request info", returnText);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.capgemini.frameworkExamples.page;

import com.capgemini.framework.logger.AllureStepLogger;
import com.capgemini.infrastructure.Configuration;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.options.AriaRole;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import static com.capgemini.framework.playwright.PlaywrightFactory.getPage;
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;

public class TestContainersDemoPage {
private static final int PAGE_LOADING_TIMEOUT = 20000;
private static final Logger log = LoggerFactory.getLogger(TestContainersDemoPage.class);

public String clickButtonAndReturnText() {
log.info(Configuration.getInstance().getMyWebAppUrl());
getPage().navigate(Configuration.getInstance().getMyWebAppUrl(), new Page.NavigateOptions().setTimeout(PAGE_LOADING_TIMEOUT));
// getPage().navigate("http://localhost:8080", new Page.NavigateOptions().setTimeout(PAGE_LOADING_TIMEOUT));
getPage().onLoad(p -> AllureStepLogger.step("Page loaded!"));
getPage().getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Show request details")).click();

assertThat(getPage().getByRole(AriaRole.HEADING, new Page.GetByRoleOptions().setName("Request info").setExact(true))).isVisible();
return getPage().getByRole(AriaRole.HEADING, new Page.GetByRoleOptions().setName("Request info").setExact(true)).innerText();
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.capgemini.infrastructure.resources;

import com.capgemini.framework.logger.LoggerInstance;
import com.capgemini.infrastructure.Configuration;
import com.capgemini.infrastructure.network.TestNetwork;
import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
Expand All @@ -15,8 +14,6 @@ public class MyTestResources implements QuarkusTestResourceLifecycleManager {
private final Network network = TestNetwork.getInstance().getNetwork();
private RawmindWebContainer rawmindWebContainer = null;

LoggerInstance logger = new LoggerInstance();

@Override
public Map<String, String> start() {
var conf = new HashMap<String, String>();
Expand All @@ -27,11 +24,28 @@ public Map<String, String> start() {
}

private void startWebServer() {
if (!isContainerRunning(Configuration.MY_WEB_APP) || rawmindWebContainer == null) { // Only start if it's NOT running
var isContainerRunning = isContainerRunning(Configuration.MY_WEB_APP);
if (!isContainerRunning || rawmindWebContainer == null) { // Only start if it's NOT running
rawmindWebContainer = new RawmindWebContainer(network);
rawmindWebContainer.withCreateContainerCmdModifier(cmd -> cmd.withName(Configuration.MY_WEB_APP));
rawmindWebContainer.start();
}
// if(isContainerRunning && rawmindWebContainer == null){
// rawmindWebContainer = new RawmindWebContainer(network,DockerClientFactory.instance().client().listContainersCmd()
// .withShowAll(true)
// .exec()
// .stream()
// .filter(container -> container.getNames()[0].contains(Configuration.MY_WEB_APP)).findFirst().get());
// }
//
// Container container = dockerClient.listContainersCmd().exec().get(0);
//
// RawmindWebContainer rawmindContainer = new RawmindWebContainer();
// rawmindContainer.setId(container.getId());
// rawmindContainer.setName(container.getNames()[0]); // Assuming name exists
// rawmindContainer.setImage(container.getImage());
//// Add more fields if necessary

}

private boolean isContainerRunning(String containerName) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.capgemini.infrastructure.resources;

import com.capgemini.framework.logger.LoggerInstance;
import com.capgemini.infrastructure.Configuration;
import com.github.dockerjava.api.model.ExposedPort;
import com.github.dockerjava.api.model.HostConfig;
Expand All @@ -17,8 +16,6 @@ public class RawmindWebContainer extends GenericContainer<RawmindWebContainer> {
private static final String NETWORK_ALIAS = "rawmind";
private static final int APP_PORT = 8080;

LoggerInstance logger = new LoggerInstance();

public RawmindWebContainer(Network network) {
super(DockerImageName.parse("rawmind/web-test"));

Expand All @@ -34,7 +31,7 @@ public RawmindWebContainer(Network network) {
)
));
withCreateContainerCmdModifier(cmd -> cmd.withName(Configuration.MY_WEB_APP));
logger.logInfo("RawmindWebContainer starting...");
logger().info("RawmindWebContainer starting...");
}

public String getUrl() {
Expand Down
6 changes: 1 addition & 5 deletions mrchecker-playwright-framework/src/test/resources/log4j2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
</Policies>
</RollingFile>

<!-- Default Fallback in Case logFilename is Missing -->
<Routing name="RoutingApp">
<Routes pattern="$${sys:logFilename:-default_log}">
<Route>
Expand Down Expand Up @@ -53,13 +52,10 @@
</Appenders>

<Loggers>
<Root level="ALL" additivity="false">
<Root level="INFO" additivity="false">
<AppenderRef ref="MyAsync"/>
<AppenderRef ref="RoutingAppENV"/>
<AppenderRef ref="RoutingApp"/>
</Root>
<Logger name="io.netty" level="info" additivity="true">
<AppenderRef ref="MyConsole"/>
</Logger>
</Loggers>
</Configuration>

0 comments on commit 34bf58a

Please sign in to comment.