Skip to content
Permalink
Browse files

Merge branch 'master' into split_files

  • Loading branch information
bogdanmarculescu committed Jan 10, 2020
2 parents a331319 + 96d9732 commit e2d71fb4e480a9a8e7e2cffa355c5ed2d316262a
Showing with 7,940 additions and 324 deletions.
  1. +1 −0 .gitignore
  2. +6 −0 .travis.yml
  3. +18 −7 README.md
  4. +1 −1 client-java/client-util/pom.xml
  5. +1 −1 client-java/controller-api/pom.xml
  6. +1 −1 client-java/controller/pom.xml
  7. +1 −1 client-java/database-spy/pom.xml
  8. +1 −1 client-java/instrumentation-shared/pom.xml
  9. +1 −1 client-java/instrumentation/pom.xml
  10. +5 −1 client-java/pom.xml
  11. +5 −1 core/pom.xml
  12. +335 −190 core/src/main/kotlin/org/evomaster/core/EMConfig.kt
  13. +193 −0 core/src/main/kotlin/org/evomaster/core/docs/ConfigToMarkdown.kt
  14. +1 −0 core/src/main/kotlin/org/evomaster/core/problem/rest/HttpVerb.kt
  15. +1 −1 core/src/main/kotlin/org/evomaster/core/problem/rest/RestActionBuilder.kt
  16. +577 −0 core/src/main/kotlin/org/evomaster/core/problem/rest/RestActionBuilderV3.kt
  17. +1 −0 core/src/main/kotlin/org/evomaster/core/problem/rest/service/AbstractRestFitness.kt
  18. +7 −6 core/src/main/kotlin/org/evomaster/core/problem/rest/service/RestResourceSampler.kt
  19. +6 −0 core/src/main/kotlin/org/evomaster/core/search/gene/MapGene.kt
  20. +72 −0 core/src/test/kotlin/org/evomaster/core/EMConfigTest.kt
  21. +27 −0 core/src/test/kotlin/org/evomaster/core/docs/ConfigToMarkdownTest.kt
  22. +15 −19 core/src/test/kotlin/org/evomaster/core/problem/rest/{service → }/RestActionBuilderTest.kt
  23. +220 −0 core/src/test/kotlin/org/evomaster/core/problem/rest/RestActionBuilderV3Test.kt
  24. +1 −1 core/src/test/kotlin/org/evomaster/core/problem/rest/service/resource/CatwatchResourceBasedTest.kt
  25. +1 −1 ...c/test/kotlin/org/evomaster/core/problem/rest/service/resource/FeatureServiceResourceBasedTest.kt
  26. +1 −1 core/src/test/kotlin/org/evomaster/core/problem/rest/service/resource/ProxyPrintResourceBasedTest.kt
  27. +1 −1 core/src/test/kotlin/org/evomaster/core/problem/rest/service/resource/ScoutApiResourceBasedTest.kt
  28. +2 −0 .../test/kotlin/org/evomaster/core/problem/rest/service/resource/model/ResourceBasedTestInterface.kt
  29. +4 −2 core/src/test/kotlin/org/evomaster/core/problem/rest/service/resource/model/SimpleResourceSampler.kt
  30. 0 core/src/test/resources/swagger/{apisguru → apisguru-v2}/apis.guru.json
  31. 0 core/src/test/resources/swagger/{apisguru → apisguru-v2}/greenpeace.org.json
  32. +1,618 −0 core/src/test/resources/swagger/apisguru-v3/bcgnws.json
  33. +477 −0 core/src/test/resources/swagger/apisguru-v3/bclaws.json
  34. +114 −0 core/src/test/resources/swagger/apisguru-v3/bng2latlong.json
  35. +89 −0 core/src/test/resources/swagger/apisguru-v3/checker.json
  36. +93 −0 core/src/test/resources/swagger/apisguru-v3/disposable.json
  37. +405 −0 core/src/test/resources/swagger/apisguru-v3/fraud-detection.json
  38. +96 −0 core/src/test/resources/swagger/apisguru-v3/geolocation.json
  39. +95 −0 core/src/test/resources/swagger/apisguru-v3/ip2proxy.com.json
  40. +2,262 −0 core/src/test/resources/swagger/apisguru-v3/news.json
  41. +277 −0 core/src/test/resources/swagger/apisguru-v3/open511.json
  42. +168 −0 core/src/test/resources/swagger/apisguru-v3/sms-verification.json
  43. +89 −0 core/src/test/resources/swagger/apisguru-v3/validation.json
  44. 0 core/src/test/resources/swagger/{ → artificial}/branches.json
  45. +1 −1 core/src/test/resources/swagger/{ → artificial}/multi_param_path.json
  46. 0 core/src/test/resources/swagger/{ → artificial}/positive_integer_swagger.json
  47. 0 core/src/test/resources/swagger/{ → artificial}/simpleform.json
  48. 0 core/src/test/resources/swagger/{ → sut}/catwatch.json
  49. 0 core/src/test/resources/swagger/{ → sut}/features_service.json
  50. 0 core/src/test/resources/swagger/{ → sut}/features_service_null.json
  51. 0 core/src/test/resources/swagger/{ → sut}/news.json
  52. 0 core/src/test/resources/swagger/{ → sut}/ocvn_1oc.json
  53. 0 core/src/test/resources/swagger/{ → sut}/proxyprint.json
  54. 0 core/src/test/resources/swagger/{ → sut}/scout-api.json
  55. +1 −1 dbconstraint/pom.xml
  56. +1 −1 docs/blackbox.md
  57. BIN docs/img/intellij_jdk11_jvm_options.png
  58. BIN docs/img/video-player-flaticon.png
  59. +75 −0 docs/joss-paper/paper.bib
  60. +72 −0 docs/joss-paper/paper.md
  61. +130 −0 docs/options.md
  62. +0 −12 docs/options_all.md
  63. +0 −28 docs/options_main.md
  64. +4 −4 docs/release.md
  65. +1 −1 docs/whitebox.md
  66. +14 −0 docs/write_driver.md
  67. +1 −1 e2e-tests/dropwizard-examples/pom.xml
  68. +1 −1 e2e-tests/e2e-tests-utils/pom.xml
  69. +2 −1 e2e-tests/pom.xml
  70. +11 −1 e2e-tests/spring-examples/pom.xml
  71. +2 −2 ...sts/spring-examples/src/test/java/org/evomaster/e2etests/spring/examples/impact/ImpactEMTest.java
  72. +2 −2 ...ring-examples/src/test/java/org/evomaster/e2etests/spring/examples/impact/ObjectImpactEMTest.java
  73. +4 −2 ...mples/src/test/java/org/evomaster/e2etests/spring/examples/resource/ResourceDependencyEMTest.java
  74. +124 −0 e2e-tests/spring-rest-openapi-v3/pom.xml
  75. +27 −0 ...g-rest-openapi-v3/src/main/kotlin/com/foo/rest/examples/spring/openapi/v3/base/BaseApplication.kt
  76. +70 −0 ...pring-rest-openapi-v3/src/test/kotlin/com/foo/rest/examples/spring/openapi/v3/SpringController.kt
  77. +7 −0 ...ng-rest-openapi-v3/src/test/kotlin/com/foo/rest/examples/spring/openapi/v3/base/BaseController.kt
  78. +1 −1 e2e-tests/spring-rest-postgres/pom.xml
  79. +1 −1 experiments/pom.xml
  80. +1 −0 experiments/src/main/kotlin/org/evomaster/experiments/objects/service/ObjFitness.kt
  81. +90 −23 pom.xml
  82. +6 −2 report/pom.xml
  83. +1 −1 resource-rest-experiments/api-generator/pom.xml
  84. +1 −1 resource-rest-experiments/pom.xml
@@ -46,3 +46,4 @@ experiments/target/
/e2e-tests/spring-rest-postgres/target/
/core/testWithEMB.sh
/resource-rest-experiments/api-generator/target/
/e2e-tests/spring-rest-openapi-v3/target
@@ -1,8 +1,10 @@
language: java
sudo: false

## We should try to support the main LTS (long-term-support) releases
jdk:
- openjdk8
- openjdk11

# As the build will download JAR files from Maven Central, optimize their storage,
# so they do not get re-downloaded each time
@@ -19,3 +21,7 @@ services:


script: travis_wait 50 mvn clean verify --fae

# After build is finshed, upload coverage results to CodeCov
after_success:
- bash <(curl -s https://codecov.io/bash)
@@ -3,9 +3,10 @@

![](docs/img/carl-cerstrand-136810_compressed.jpg "Photo by Carl Cerstrand on Unsplash")

[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.evomaster/evomaster-client-java/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.evomaster/evomaster-client-java)
[![Build Status](https://travis-ci.org/EMResearch/EvoMaster.svg?branch=master)](https://travis-ci.org/EMResearch/EvoMaster)
[![CircleCI](https://circleci.com/gh/EMResearch/EvoMaster.svg?style=svg)](https://circleci.com/gh/EMResearch/EvoMaster)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.evomaster/evomaster-client-java/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.evomaster/evomaster-client-java)
[![codecov](https://codecov.io/gh/EMResearch/EvoMaster/branch/master/graph/badge.svg)](https://codecov.io/gh/EMResearch/EvoMaster)
<!---
Needs auth :(
[[JaCoCo]](https://circleci.com/api/v1.1/project/github/arcuri82/evomaster/latest/artifacts/0/home/circleci/evomaster-build/report/target/site/jacoco-aggregate/index.html)
@@ -17,6 +18,8 @@ For more information and for applying, see [here]().
<br>
-->

### Summary

_EvoMaster_ ([www.evomaster.org](http://evomaster.org)) is a tool prototype
that automatically *generates* system-level test cases.
Internally, it uses an [Evolutionary Algorithm](https://en.wikipedia.org/wiki/Evolutionary_algorithm)
@@ -27,12 +30,21 @@ random ones, trying to maximize measures like code coverage and fault detection.


At the moment, _EvoMaster_ targets RESTful APIs compiled to
JVM 8 bytecode.
The APIs must provide a schema in [OpenAPI/Swagger](https://swagger.io) format.
JVM __8__ and __11__ bytecode.
The APIs must provide a schema in [OpenAPI/Swagger](https://swagger.io)
format (either _v2_ or _v3_).
The tool generates JUnit (version 4 or 5) tests, written in either Java or Kotlin.


A [short video](https://youtu.be/3mYxjgnhLEo) shows the use of _EvoMaster_ on one of the
<!--### Videos--->
<!--
<div>Icons made by <a href="https://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a></div>
-->

[![](docs/img/video-player-flaticon.png)](https://youtu.be/3mYxjgnhLEo)

A [short video](https://youtu.be/3mYxjgnhLEo) (5 minutes)
shows the use of _EvoMaster_ on one of the
case studies in [EMB](https://github.com/EMResearch/EMB).


@@ -137,8 +149,7 @@ At the moment, _EvoMaster_ supports _H2_ and _Postgres_ databases.

* [Download EvoMaster](docs/download.md)
* [Build EvoMaster from source](docs/build.md)
* [Main console options](docs/options_main.md)
* [All console options](docs/options_all.md)
* [Console options](docs/options.md)
* [Using EvoMaster for Black-Box Testing (easier to setup, but worse results)](docs/blackbox.md)
* [Using EvoMaster for White-Box Testing (harder to setup, but better results)](docs/whitebox.md)
* [Write an EvoMaster Driver for White-Box Testing](docs/write_driver.md)
@@ -171,7 +182,7 @@ the [issues](https://github.com/EMResearch/EvoMaster/issues) page:
we are very keen to receive feature requests, although of course we cannot
guarantee when they are going to be implemented, if implemented at all.
As researchers, we want to know what are the problems that engineers in industry
do face, and that could be done to improve _EvoMaster_ to help them.
do face, and what could be done to improve _EvoMaster_ to help them.


* *Pull Requests*: we are keen to receive PRs, as long as you agree
@@ -5,7 +5,7 @@
<parent>
<groupId>org.evomaster</groupId>
<artifactId>evomaster-client-java</artifactId>
<version>0.4.1-SNAPSHOT</version>
<version>1.0.1-SNAPSHOT</version>
</parent>

<artifactId>evomaster-client-java-util</artifactId>
@@ -5,7 +5,7 @@
<parent>
<groupId>org.evomaster</groupId>
<artifactId>evomaster-client-java</artifactId>
<version>0.4.1-SNAPSHOT</version>
<version>1.0.1-SNAPSHOT</version>
</parent>

<artifactId>evomaster-client-java-controller-api</artifactId>
@@ -5,7 +5,7 @@
<parent>
<groupId>org.evomaster</groupId>
<artifactId>evomaster-client-java</artifactId>
<version>0.4.1-SNAPSHOT</version>
<version>1.0.1-SNAPSHOT</version>
</parent>

<artifactId>evomaster-client-java-controller</artifactId>
@@ -5,7 +5,7 @@
<parent>
<groupId>org.evomaster</groupId>
<artifactId>evomaster-client-java</artifactId>
<version>0.4.1-SNAPSHOT</version>
<version>1.0.1-SNAPSHOT</version>
</parent>

<artifactId>evomaster-client-database-spy</artifactId>
@@ -5,7 +5,7 @@
<parent>
<groupId>org.evomaster</groupId>
<artifactId>evomaster-client-java</artifactId>
<version>0.4.1-SNAPSHOT</version>
<version>1.0.1-SNAPSHOT</version>
</parent>

<artifactId>evomaster-client-java-instrumentation-shared</artifactId>
@@ -5,7 +5,7 @@
<parent>
<groupId>org.evomaster</groupId>
<artifactId>evomaster-client-java</artifactId>
<version>0.4.1-SNAPSHOT</version>
<version>1.0.1-SNAPSHOT</version>
</parent>

<artifactId>evomaster-client-java-instrumentation</artifactId>
@@ -5,7 +5,7 @@
<parent>
<groupId>org.evomaster</groupId>
<artifactId>evomaster</artifactId>
<version>0.4.1-SNAPSHOT</version>
<version>1.0.1-SNAPSHOT</version>
</parent>

<groupId>org.evomaster</groupId>
@@ -55,6 +55,10 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<source>8</source>
</configuration>
<executions>
<execution>
<id>create-javadocs</id>
@@ -5,7 +5,7 @@
<parent>
<groupId>org.evomaster</groupId>
<artifactId>evomaster</artifactId>
<version>0.4.1-SNAPSHOT</version>
<version>1.0.1-SNAPSHOT</version>
</parent>

<artifactId>evomaster-core</artifactId>
@@ -85,6 +85,10 @@
<groupId>io.swagger</groupId>
<artifactId>swagger-parser</artifactId>
</dependency>
<dependency>
<groupId>io.swagger.parser.v3</groupId>
<artifactId>swagger-parser</artifactId>
</dependency>

<dependency>
<groupId>javax.el</groupId>

0 comments on commit e2d71fb

Please sign in to comment.
You can’t perform that action at this time.