https://github.com/openpj/fluent-aps
Fluent API for Alfresco Process Services platform available as a JAR library and Maven project. Interact, write tests and migrate your Activiti projects using a Fluent API
https://github.com/openpj/fluent-aps
alfresco alfresco-activiti-enterprise alfresco-process-services api bpm fluent fluent-api integration-testing java maven ziaconsulting
Last synced: 6 months ago
JSON representation
Fluent API for Alfresco Process Services platform available as a JAR library and Maven project. Interact, write tests and migrate your Activiti projects using a Fluent API
- Host: GitHub
- URL: https://github.com/openpj/fluent-aps
- Owner: OpenPj
- License: other
- Created: 2022-10-19T16:16:06.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-17T17:18:38.000Z (about 3 years ago)
- Last Synced: 2025-06-11T11:24:20.439Z (8 months ago)
- Topics: alfresco, alfresco-activiti-enterprise, alfresco-process-services, api, bpm, fluent, fluent-api, integration-testing, java, maven, ziaconsulting
- Language: Java
- Homepage:
- Size: 33.2 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[](https://jitpack.io/#OpenPj/fluent-aps)
# Fluent APS 0.0.1-SNAPSHOT
Fluent APS is a Fluent API for Alfresco Process Services.
This project consists of the following Maven modules:
* APS Fluent API JAR (`api`): this is the client API implementation based on the [`aps-2x-client`](https://github.com/OpenPj/aps-2x-client)
* Docker Runner (`docker`): this starts your APS platform container with Postgres database and ElasticSearch server
* Integration Tests (`integration-tests`): this is the integration tests module
## Capabilities
This API allows you to interact and write your tests using a Fluent API against your APS instance.
The main goal is to have a strong way to demonstrate or improve the overall project quality using this API for implementing tests.
You can implement tests for your workflows following the `integration-tests` module, below the example taken from the test class `FourEyesAppAPSTesterIT.java`:
```java
public class FourEyesAppAPSTesterIT {
protected FluentAps fluentAps;
@BeforeEach
public void initApiClient() {
fluentAps = new FluentApsBuilder("admin@app.activiti.com", "admin").build();
}
@Test
@Order(1)
public void testFourEyesApp() {
System.out.println("--- /Start - Four Eyes App - Integration Test ---");
// Importing the Four Eyes App in APS
// NOTE: test flows, but that methods available in each instance
// make sense
fluentAps
.afterLoadingAppArchive("../target/apps/Four-Eyes-App.zip")
.startProcessForApp("4 Eyes Principle")
.withFormValue("reviewtitle", "Review from APS SDK")
.withFormValue("description", "Description from APS SDK")
.thenSubmitTask("First approval", "submit")
.withFormValue("reviewtitle", "Review from APS SDK")
.withFormValue("description", "Description from APS SDK")
.thenSubmitTask("Second approval", "submit")
.withFormValue("reviewtitle", "Review from APS SDK")
.withFormValue("description", "Description from APS SDK")
.thenCheckThatTheProcessIsFinished();
System.out.println("--- /End - Four Eyes App - Integration Test ---");
}
}
```
## Quickstart for using APS Fluent API in your Maven project
To use it in any Maven project add the following snippet in your `pom.xml`:
```xml
jitpack.io
https://jitpack.io
```
Then add the following dependency:
```xml
com.github.OpenPj.fluent-aps
aps-fluent-api
0.0.1-SNAPSHOT
```
A full example is provided in the `integration-tests` module of this project.
## Quickstart for using this Maven project
### Prerequisites
* OpenJDK 11
* Apache Maven 3.8.6
* Docker
* Put valid _activiti.lic_ and _transform.lic_ (or _Aspose.Total.Java.lic_ ) in the `/license` folder for running unit / integration tests
* Set the `docker.aps.image` property in order to run the project on your own APS Docker image built with [APS SDK 2.x](https://github.com/OpenPj/alfresco-process-services-project-sdk/tree/2.x)
Full Maven lifecycle command:
* `mvn clean install docker:build docker:start`
Stop all the Docker containers with:
* `mvn docker:stop`
# Enterprise support
Official maintenance and support of this project is delivered by Zia Consulting