Giter Club home page Giter Club logo

eap-microprofile-test-suite's Introduction

eap-microprofile-test-suite

a small standalone test suite for MicroProfile on WF/EAP

Requirements for the testsuite

  • JDK 8+
  • Docker

Maven is not a hard requirement as mvnw is delivered with this repository.

Podman with docker command bridge can be used as a Docker alternative.

Run the testsuite

mvn clean verify

./mvnw clean verify

Export testing deployments

mvn clean verify -Darquillian.deploymentExportPath=target/deployments/

./mvnw clean verify -Darquillian.deploymentExportPath=target/deployments/

Run one module against custom build

mvn clean verify -pl microprofile-health -Djboss.dist=/Users/rsvoboda/Downloads/wildfly-18.0.0.Final

./mvnw clean verify -pl microprofile-health -Djboss.dist=/Users/rsvoboda/Downloads/wildfly-18.0.0.Final

Run one module against running server

mvn clean verify -pl microprofile-health

./mvnw clean verify -pl microprofile-health

Please note allowConnectingToRunningServer property in arquillian.xml.

Run the testsuite on Jenkins instance using Jenkinsfile:

Quick compilation of the code

Can be used to ensure code changes are compilable, -Djboss.dist=foo is workaround to skip unpacking of WildFly zip.

mvn clean verify -DskipTests -DskipITs -Djboss.dist=foo

./mvnw clean verify -DskipTests -DskipITs -Djboss.dist=foo

Zip distribution bundle

Distribution bundle contains this testsuite, pre-loaded local maven repository and dump of Docker images used in tests. Creation of the eap-microprofile-test-suite-dist.zip bundle is managed via ./mp-ts.sh script. This script assumes that all the necessary artifacts present in ${user.home}/.m2/repository/, in other words that the TS was compiled and executed on local machine prior the bundle creation.

Bundle creation:

./mp-ts.sh dist-zip

Execution on target machine:

unzip -q eap-microprofile-test-suite-dist.zip
./mp-ts.sh dist-run

Tests output is redirected into ${TEST_FQCN}-output.txt files in target/surefire-reports/ directory.

For more details consult with mp-ts.sh script

Code format and imports order

Code gets formatted and imports ordered during the build time (process-sources phase) automatically.

mvn process-sources

./mvnw process-sources

Tagging and branching strategy

Version policy

Naming convention: $MAJOR.$MINOR.$MICRO.Final-SNAPSHOT (1.0.0.Final-SNAPSHOT)

Start with 1.0.0.Final

Tagging policy

Naming convention: $MAJOR.$MINOR.$MICRO.Final (1.0.0.Final)

When?

New WildFly major version is released and covers a MicroProfile update

Branching policy

Naming convention: $MAJOR.$MINOR.z (1.0.z)

When?

No branches unless really needed

How to release a new version

mvn release:prepare release:clean

In order to skip tests run following command:

mvn release:prepare release:clean -Darguments=-DskipTests

With commands you are able to define a release, a tag and a next development version name in interactive way.

Issues found by the testsuite

Any issue found in WildFly/EAP release will be reported into the Red Hat issue tracker: https://issues.redhat.com/ . There are the following Jira projects:

Every reported issue must contain:

  • Title (affected MP spec may be part of the title, proper Component must be set)
  • Type: Bug
  • Component: related Microprofile component (mp-health)
  • Affected Version - WildFly/EAP version (for WFLY/JBEAP issues)
  • Description of the issue
    • provide high-level description of the issue
    • information about tested WF/EAP build (or used commit/branch)
    • impact on the user
    • test scenario (actual and expected result)
    • add logs/stacktraces
    • automatic reproducer (if possible)

eap-microprofile-test-suite's People

Contributors

rsvoboda avatar honza-kasik avatar istraka avatar mnovak1 avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.