Giter Club home page Giter Club logo

aute-framework's Introduction

AuTe Framework - Auto Test Framework

Projects

Name Description
atf-application AuTe Framework application
atf-wiremock Wiremock application
atf-executor Test execution logic
atf-commons Common components for all projects
atf-application-ui Frontend for AuTe Framework
atf-wiremock-ui Frontend for Wiremock

Requirements

  • JDK 1.8
  • Apache Maven 3
  • NodeJS
  • npm

Build and run AuTe Framework

  1. Clone project
  2. Build project with install nodeJS packages mvn clean package -P npm-install
  3. Create a working directory for application
  4. Place in working directory:
  5. Run in working directory java -Dloader.path=lib/ -jar atf-application-version.jar or use run script

env.yml description

  • projectsDirectoryPath - path to tests repository
  • historyLimit - number of stored test runs in history
  • mqCheckCount - check count of mqRequests
  • mqCheckInterval - interval in milliseconds between checks
  • projectStandMap:
    • PROJECT_CODE_1:
      • serviceUrl - URL of the application under test
      • dataBase:
        • url - URL to database
        • user - database user
        • password - database password
      • wireMockUrl - wiremock URL
    • PROJECT_CODE_2: ...

Build and run Wiremock

  1. Clone project
  2. Build project with install nodeJS packages mvn clean package -P npm-install
  3. Create working directory
  4. Place in working directory:
    • atf-wiremock-version.jar
    • create application.properties file
    • create wiremock mappings configuration file
  5. Run in working directory java -Dloader.path=lib/ -Dfile.encoding=UTF-8 -jar atf-wiremock-version.jar

application.properties file description

Property Description
server.port application run port
logging.file log file name
mq.manager JMS provider name
mq.host JMS host
mq.port JMS port
mq.username JMS username
mq.password JSM password
mq.default.destination.queue.name
properties.yaml.file Wiremock mappings configuration file name
test.id.header.name

Wiremock mappings configuration file description

Wiremock mapping configuration file has json format.

Property Description
id mock's id
request mock's request patter
request.url JMS provider name
request.method JMS host
request.headers JMS port
request.bodyPatterns JMS username
response mock's response
response.status response status
response.body response body
response.headers response headers
uuid mock's uuid

Run AuTe Framework in Docker

  1. Build docker images with command mvn clean package -P docker or use existed images from DockerHub
  2. Copy docker-compose.yml.sample to your local machine and rename it to docker-compose.yml
  3. Modify image tags, volumes and ports if needed in local docker-compose.yml
  4. Change projectsDirectoryPath in your env.yml to /app/repository/<AT_directory>
  5. Run containers with command docker-compose up to run both ATF and Wiremock applications or docker-compose up atf to run ATF only
  6. Go to http://localhost:8080 to check running ATF application

IBM MQ mocking

For mocking IBM MQ you have to find and download

  • com.ibm.mq.allclient.jar
  • jms.jar and put it in /lib folder or another. You can find ibm libs in fix pack Fix Pack 8.0.0.5 for WebSphere MQ v8 or copy it from installed IBM product. You have to put these libs in application classpath for atf-application and for atf-wiremock.

PERFORMANCE

Application may be slow if not set properties:

mqCheckCount: 3 mqCheckInterval: 1000

in file env.yml

aute-framework's People

Contributors

dependabot[bot] avatar exotol avatar makar1031 avatar olyaslyunkova avatar pgolovkin avatar varty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aute-framework's Issues

Некорректное логирование ответов MQ заглушек

Сейчас в ответе логируется исходное сообщение из запроса.

logger.info(" [x] Send >>> {} '{}'", queueNameTo, message.getText(), "UTF-8");

Надо, судя по всему, так: (newMessage вместо message)

logger.info(" [x] Send >>> {} '{}'", queueNameTo, newMessage.getText(), "UTF-8");

Pease, fix security alerts

commons-fileupload:commons-fileupload
high severity
Dec 21, 2018 by GitHub
atf-application/pom.xml
org.apache.activemq:activemq-client
moderate severity
Nov 22, 2018 by GitHub
atf-application/pom.xml
org.apache.activemq:activemq-client
moderate severity
Nov 22, 2018 by GitHub
atf-executor/pom.xml
com.rabbitmq:amqp-client
moderate severity
Oct 18, 2018 by GitHub
atf-wiremock/pom.xml
org.apache.tika:tika-core
high severity
Oct 17, 2018 by GitHub
atf-executor/pom.xml
org.apache.tika:tika-core
high severity
Oct 17, 2018 by GitHub
atf-commons/pom.xml
com.fasterxml.jackson.core:jackson-databind
critical severity
Oct 16, 2018 by GitHub
atf-application/pom.xml
com.fasterxml.jackson.core:jackson-databind
critical severity
Oct 16, 2018 by GitHub
atf-executor/pom.xml

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.