{"id":15285678,"url":"https://github.com/mariocairone/cucumbersome","last_synced_at":"2025-10-26T14:17:04.439Z","repository":{"id":57726468,"uuid":"209329699","full_name":"mariocairone/cucumbersome","owner":"mariocairone","description":"A small, lightweight framework to speed up testing using cucumber","archived":false,"fork":false,"pushed_at":"2021-12-16T16:55:03.000Z","size":467,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T20:05:17.388Z","etag":null,"topics":["cucumber","integration-tests","test-framework","testcontainers"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mariocairone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-18T14:30:33.000Z","updated_at":"2021-12-16T16:55:05.000Z","dependencies_parsed_at":"2022-09-18T14:24:48.978Z","dependency_job_id":null,"html_url":"https://github.com/mariocairone/cucumbersome","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariocairone%2Fcucumbersome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariocairone%2Fcucumbersome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariocairone%2Fcucumbersome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariocairone%2Fcucumbersome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mariocairone","download_url":"https://codeload.github.com/mariocairone/cucumbersome/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248657851,"owners_count":21140843,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cucumber","integration-tests","test-framework","testcontainers"],"created_at":"2024-09-30T15:07:06.925Z","updated_at":"2025-10-26T14:16:59.398Z","avatar_url":"https://github.com/mariocairone.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cucumbersome\r\n\r\n\r\n\r\n[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-white.svg)](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome)\r\n\r\n![GitHub Actions](https://github.com/mariocairone/cucumbersome/workflows/Continuous%20Integration/badge.svg)\r\n\r\n![GitHub stars](https://img.shields.io/github/stars/mariocairone/cucumbersome?style=social) ![GitHub forks](https://img.shields.io/github/forks/mariocairone/cucumbersome?style=social) ![GitHub issues](https://img.shields.io/github/issues/mariocairone/cucumbersome?style=social ) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/mariocairone/cucumbersome?style=social)\r\n\r\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=mariocairone_cucumbersome\u0026metric=reliability_rating)](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=mariocairone_cucumbersome\u0026metric=sqale_rating)](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=mariocairone_cucumbersome\u0026metric=security_rating)](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome)\r\n\r\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=mariocairone_cucumbersome\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome) [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=mariocairone_cucumbersome\u0026metric=bugs)](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome) [![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=mariocairone_cucumbersome\u0026metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome) [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=mariocairone_cucumbersome\u0026metric=code_smells)](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome) [![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=mariocairone_cucumbersome\u0026metric=sqale_index)](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome)\r\n\r\n\r\n![Maven Central](https://img.shields.io/maven-central/v/com.mariocairone.cucumbersome/parent?style=flat-square)\r\n\r\n\r\n\r\nCucumbersome is a small framework created to speed up the testing process using cucumber framework.\r\nThe scope of the framework is to provide a collection of predefined steps to test system integrations using the following technologies:\r\n- HTTP\r\n- AMQP\r\n- SQL        \r\n\r\nHere is the list of available modules:\r\n- [core](core/README.md)\r\n- [http](http/README.md)\r\n- [database](database/README.md)\r\n- [mock](mock/README.md)\r\n- [rabbitmq](rabbitmq/README.md)\r\n- [variables](variables/README.md)\r\n\r\n## Features\r\n- Pre-Defined Steps definition for the supported transports.\r\n- Integrated [Template Engine][30bd4b1c], everywhere you can pass a String it can be a template.\r\n- Better with [TestContainers][ed98778a]\r\n- Works with [Cucumber Eclipse Plugin][1790edb3]     \r\n\r\n\r\n## Getting Started\r\n\r\n* Add dependencies for each module you wish to use in your `pom.xml`\r\n\r\n```xml\r\n\u003cdependency\u003e\r\n  \u003cgroupId\u003ecom.mariocairone.cucumbersome\u003c/groupId\u003e\r\n  \u003cartifactId\u003e[module name]\u003c/artifactId\u003e\r\n  \u003cversion\u003e[version]\u003c/version\u003e\r\n  \u003cscope\u003etest\u003c/scope\u003e\r\n\u003c/dependency\u003e\r\n\r\n```\r\n\r\nYou can also build the `.jar` files yourself, assuming you have Maven and JDK 1.8+ installed:\r\n```shell\r\nmvn clean install\r\n```\r\nThe resulting `.jar` files will be located in the modules `target/` folder.\r\n\r\nYou can also find `SNAPSHOT` builds of the latest and greatest changes to the master branch in the SonaType snapshots repository.\r\n\r\nTo add that snapshot repository to your Maven pom.xml use the following snippet:\r\n```xml\r\n\u003crepositories\u003e\r\n    \u003crepository\u003e\r\n        \u003cid\u003eoss-sonatype\u003c/id\u003e\r\n        \u003cname\u003eoss-sonatype\u003c/name\u003e\r\n        \u003curl\u003ehttps://oss.sonatype.org/content/repositories/snapshots/\u003c/url\u003e\r\n        \u003csnapshots\u003e\r\n            \u003cenabled\u003etrue\u003c/enabled\u003e\r\n        \u003c/snapshots\u003e\r\n    \u003c/repository\u003e\r\n\u003c/repositories\u003e\r\n```\r\n\r\n* Create the test class with the package glue __com.mariocairone.cucumbersome.steps__   \r\n\r\n```java\r\nimport io.cucumber.junit.Cucumber;\r\nimport io.cucumber.junit.CucumberOptions;\r\nimport org.junit.runner.RunWith;\r\n\r\n@RunWith(Cucumber.class)\r\n@CucumberOptions(plugin = { \"pretty\", \"html:target/cucumber\",\r\n\"json:target/cucumber/cucumber.json\",\r\n\"junit:target/cucumber/cucumber.xml\"},\r\n    glue = {\"com.mariocairone.cucumbersome.steps\"},\r\n    features = \"classpath:features\",\r\n    strict = true)\r\npublic class CucumbersomeIT  {\r\n\r\n}\r\n```\r\n\r\n* (Optional) Create the configuration file `cucumbersome.properties`.   \r\n\u003cbr/\u003e\r\n\r\nExample:\r\n  ```\r\n  http.request.log=true\r\n  http.response.log=true\r\n  http.request.baseUrl=http://localhost\r\n  http.request.basePath=/\r\n  http.request.port=8080\r\n```\r\n\r\n*Please refer to the module documentation for the list of available properties.*\r\n\r\n* Write your feature file\r\n\r\n  ![Cucumber Plugin](doc/images/cucumber-plugin.gif)\r\n\r\n* Run the test\r\n\r\n```shell\r\nmvn clean verify\r\n```\r\n\r\n## Prerequisites\r\n\r\nTo build the framework the following tools are required:\r\n\r\n* Java Development Kit 1.8\r\n* Maven\r\n* Docker\r\n\r\n## Installing\r\n\r\nClone the repository and install the framework in your maven repository running the following command:\r\n\r\n```shell\r\nmvn clean install\r\n```\r\n\r\n## Running the tests\r\n\r\n```shell\r\nmvn clean test\r\n```\r\n\r\n## Deployment\r\n\r\nTo Deploy the framework in your remote maven repository:\r\n\r\n* configure the distribution management section in the parent pom\r\n\r\n* run the command:\r\n\r\n```shell\r\nmvn clean deploy\r\n```\r\n\r\n## Built With\r\n\r\n* [Maven](https://maven.apache.org/) - Dependency Management\r\n\r\n## Contributing\r\n\r\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.\r\n\r\n## Versioning\r\n\r\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/mariocairone/cucumbersome/tags).\r\n\r\n## Authors\r\n\r\n* **Mario Cairone** - *Initial work*\r\n\r\nSee also the list of [contributors](https://github.com/mariocairone/cucumbersome/contributors) who participated in this project.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\r\n\r\n\r\n[30bd4b1c]: https://github.com/badlogic/basis-template \"Basis Template\"\r\n[ed98778a]: https://www.testcontainers.org/ \"TestContainers\"\r\n[1790edb3]: https://marketplace.eclipse.org/content/cucumber-eclipse-plugin \"Cucumber Eclipse Plugin\"\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmariocairone%2Fcucumbersome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmariocairone%2Fcucumbersome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmariocairone%2Fcucumbersome/lists"}