Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
5d2fb8e47b | |||
9d4c8b5cbf | |||
2fa329bff9 | |||
d04af2252e | |||
a0ea90cc0a | |||
b72f890acc | |||
a48c8818cd | |||
e5cb8e7517 | |||
e6de135012 | |||
94f3de6386 | |||
41f74eddc9 | |||
a258ccf045 | |||
a3ab8a5c08 | |||
5399a77993 | |||
78f006849f | |||
3d0cb56680 | |||
d34d95ae42 | |||
e791bdb1fa |
42
pom.xml
42
pom.xml
@@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.inteligr8.alfresco</groupId>
|
||||
<artifactId>aps-public-rest-api</artifactId>
|
||||
<version>1.0.2-v1</version>
|
||||
<version>1.1.2</version>
|
||||
<name>Alfresco Process Services ReST API Client for Java</name>
|
||||
|
||||
<properties>
|
||||
@@ -26,7 +26,7 @@
|
||||
<dependency>
|
||||
<groupId>com.inteligr8</groupId>
|
||||
<artifactId>common-rest-api</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<version>1.1.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.glassfish.jersey.ext</groupId>
|
||||
@@ -103,16 +103,17 @@
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>io.repaint.maven</groupId>
|
||||
<artifactId>tiles-maven-plugin</artifactId>
|
||||
<version>2.21</version>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<filtering>true</filtering>
|
||||
<tiles>
|
||||
<tile>com.inteligr8:maven-public-deploy-tile:[1.0.0,2.0.0)</tile>
|
||||
</tiles>
|
||||
</configuration>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>javadoc</id>
|
||||
<phase>package</phase>
|
||||
<goals><goal>jar</goal></goals>
|
||||
<configuration>
|
||||
<show>public</show>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
@@ -271,8 +272,19 @@
|
||||
<url>https://repository.mulesoft.org/releases</url>
|
||||
</pluginRepository>
|
||||
<pluginRepository>
|
||||
<id>inteligr8-releases</id>
|
||||
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
|
||||
<id>inteligr8-public</id>
|
||||
<url>https://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
</project>
|
||||
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>inteligr8-releases</id>
|
||||
<url>https://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
|
||||
</repository>
|
||||
<snapshotRepository>
|
||||
<id>inteligr8-snapshots</id>
|
||||
<url>https://repos.inteligr8.com/nexus/repository/inteligr8-snapshots</url>
|
||||
</snapshotRepository>
|
||||
</distributionManagement>
|
||||
</project>
|
||||
|
@@ -4,11 +4,20 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import com.inteligr8.rs.ClientConfiguration;
|
||||
import com.inteligr8.rs.ClientCxfConfiguration;
|
||||
import com.inteligr8.rs.ClientJerseyConfiguration;
|
||||
|
||||
/**
|
||||
* This class provides a POJO & Spring-based implementation of the
|
||||
* ClientConfiguration interface. You can use it outside of the Spring
|
||||
* context, but you will need the spring-context and spring-beans libraries in
|
||||
* your non-Spring application.
|
||||
*
|
||||
* @author brian@inteligr8.com
|
||||
*/
|
||||
@Configuration
|
||||
@ComponentScan
|
||||
public class ApsClientConfiguration extends ClientConfiguration {
|
||||
public class ApsClientConfiguration implements ClientCxfConfiguration, ClientJerseyConfiguration {
|
||||
|
||||
@Value("${process.service.baseUrl:http://localhost:8080/activiti-app}")
|
||||
private String baseUrl;
|
||||
@@ -19,8 +28,8 @@ public class ApsClientConfiguration extends ClientConfiguration {
|
||||
@Value("${process.service.security.basicAuth.password:admin}")
|
||||
private String basicAuthPassword;
|
||||
|
||||
@Value("${process.service.security.accessToken:#{null}}")
|
||||
private String accessToken;
|
||||
@Value("${process.service.security.bearerToken:#{null}}")
|
||||
private String bearerToken;
|
||||
|
||||
@Value("${process.service.security.oauth.tokenUrl:#{null}}")
|
||||
private String oAuthTokenUrl;
|
||||
@@ -42,49 +51,115 @@ public class ApsClientConfiguration extends ClientConfiguration {
|
||||
|
||||
@Value("${process.service.security.oauth.grantPassword:#{null}}")
|
||||
private String oAuthPassword;
|
||||
|
||||
@Value("${process.service.cxf.defaultBusEnabled:true}")
|
||||
private boolean defaultBusEnabled;
|
||||
|
||||
@Value("${process.service.jersey.putBodyRequired:true}")
|
||||
private boolean putBodyRequired;
|
||||
|
||||
public String getBaseUrl() {
|
||||
return this.baseUrl;
|
||||
}
|
||||
|
||||
public void setBaseUrl(String baseUrl) {
|
||||
this.baseUrl = baseUrl;
|
||||
}
|
||||
|
||||
public String getBasicAuthUsername() {
|
||||
return this.basicAuthUsername;
|
||||
}
|
||||
|
||||
public void setBasicAuthUsername(String basicAuthUsername) {
|
||||
this.basicAuthUsername = basicAuthUsername;
|
||||
}
|
||||
|
||||
public String getBasicAuthPassword() {
|
||||
return this.basicAuthPassword;
|
||||
}
|
||||
|
||||
public void setBasicAuthPassword(String basicAuthPassword) {
|
||||
this.basicAuthPassword = basicAuthPassword;
|
||||
}
|
||||
|
||||
public String getAccessToken() {
|
||||
return this.accessToken;
|
||||
public String getBearerToken() {
|
||||
return this.bearerToken;
|
||||
}
|
||||
|
||||
public void setBearerToken(String bearerToken) {
|
||||
this.bearerToken = bearerToken;
|
||||
}
|
||||
|
||||
public String getOAuthTokenUrl() {
|
||||
return this.oAuthTokenUrl;
|
||||
}
|
||||
|
||||
public void setOAuthTokenUrl(String oAuthTokenUrl) {
|
||||
this.oAuthTokenUrl = oAuthTokenUrl;
|
||||
}
|
||||
|
||||
public String getOAuthClientId() {
|
||||
return this.oAuthClientId;
|
||||
}
|
||||
|
||||
public void setOAuthClientId(String oAuthClientId) {
|
||||
this.oAuthClientId = oAuthClientId;
|
||||
}
|
||||
|
||||
public String getOAuthClientSecret() {
|
||||
return this.oAuthClientSecret;
|
||||
}
|
||||
|
||||
public void setOAuthClientSecret(String oAuthClientSecret) {
|
||||
this.oAuthClientSecret = oAuthClientSecret;
|
||||
}
|
||||
|
||||
public String getOAuthAuthCode() {
|
||||
return this.oAuthAuthCode;
|
||||
}
|
||||
|
||||
public void setOAuthAuthCode(String oAuthAuthCode) {
|
||||
this.oAuthAuthCode = oAuthAuthCode;
|
||||
}
|
||||
|
||||
public String getOAuthAuthRedirectUri() {
|
||||
return this.oAuthAuthRedirectUri;
|
||||
}
|
||||
|
||||
public void setOAuthAuthRedirectUri(String oAuthAuthRedirectUri) {
|
||||
this.oAuthAuthRedirectUri = oAuthAuthRedirectUri;
|
||||
}
|
||||
|
||||
public String getOAuthUsername() {
|
||||
return this.oAuthUsername;
|
||||
}
|
||||
|
||||
public void setOAuthUsername(String oAuthUsername) {
|
||||
this.oAuthUsername = oAuthUsername;
|
||||
}
|
||||
|
||||
public String getOAuthPassword() {
|
||||
return this.oAuthPassword;
|
||||
}
|
||||
|
||||
public void setOAuthPassword(String oAuthPassword) {
|
||||
this.oAuthPassword = oAuthPassword;
|
||||
}
|
||||
|
||||
public boolean isDefaultBusEnabled() {
|
||||
return this.defaultBusEnabled;
|
||||
}
|
||||
|
||||
public void setDefaultBusEnabled(boolean defaultBusEnabled) {
|
||||
this.defaultBusEnabled = defaultBusEnabled;
|
||||
}
|
||||
|
||||
public boolean isPutBodyRequired() {
|
||||
return this.putBodyRequired;
|
||||
}
|
||||
|
||||
public void setPutBodyRequired(boolean putBodyRequired) {
|
||||
this.putBodyRequired = putBodyRequired;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -4,11 +4,16 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.inteligr8.rs.ClientConfiguration;
|
||||
import com.inteligr8.rs.ClientCxfConfiguration;
|
||||
import com.inteligr8.rs.ClientCxfImpl;
|
||||
|
||||
/**
|
||||
* Configured JAX-RS Client & WebTarget for APS & CXF
|
||||
* This class provides a POJO & Spring-based implementation of the Apache
|
||||
* CXF client. You can use it outside of the Spring context, but you will need
|
||||
* the spring-context and spring-beans libraries in your non-Spring
|
||||
* application.
|
||||
*
|
||||
* @author brian@inteligr8.com
|
||||
*/
|
||||
@Component("aps.client.cxf")
|
||||
@Lazy
|
||||
@@ -17,8 +22,21 @@ public class ApsClientCxfImpl extends ClientCxfImpl {
|
||||
@Autowired
|
||||
private ApsClientConfiguration config;
|
||||
|
||||
/**
|
||||
* This constructor is for Spring use
|
||||
*/
|
||||
ApsClientCxfImpl() {
|
||||
}
|
||||
|
||||
/**
|
||||
* This constructor is for POJO use
|
||||
*/
|
||||
public ApsClientCxfImpl(ApsClientConfiguration config) {
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ClientConfiguration getConfig() {
|
||||
protected ClientCxfConfiguration getConfig() {
|
||||
return this.config;
|
||||
}
|
||||
|
||||
|
@@ -4,11 +4,16 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.inteligr8.rs.ClientConfiguration;
|
||||
import com.inteligr8.rs.ClientJerseyConfiguration;
|
||||
import com.inteligr8.rs.ClientJerseyImpl;
|
||||
|
||||
/**
|
||||
* Configured JAX-RS Client & WebTarget for APS & Jersey
|
||||
* This class provides a POJO & Spring-based implementation of the Apache
|
||||
* CXF client. You can use it outside of the Spring context, but you will need
|
||||
* the spring-context and spring-beans libraries in your non-Spring
|
||||
* application.
|
||||
*
|
||||
* @author brian@inteligr8.com
|
||||
*/
|
||||
@Component("aps.client.jersey")
|
||||
@Lazy
|
||||
@@ -17,8 +22,21 @@ public class ApsClientJerseyImpl extends ClientJerseyImpl {
|
||||
@Autowired
|
||||
private ApsClientConfiguration config;
|
||||
|
||||
/**
|
||||
* This constructor is for Spring use
|
||||
*/
|
||||
ApsClientJerseyImpl() {
|
||||
}
|
||||
|
||||
/**
|
||||
* This constructor is for POJO use
|
||||
*/
|
||||
public ApsClientJerseyImpl(ApsClientConfiguration config) {
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ClientConfiguration getConfig() {
|
||||
protected ClientJerseyConfiguration getConfig() {
|
||||
return this.config;
|
||||
}
|
||||
|
||||
|
@@ -5,35 +5,68 @@ import com.inteligr8.alfresco.activiti.api.AppVersionApi;
|
||||
import com.inteligr8.alfresco.activiti.api.ProcessInstancesApi;
|
||||
import com.inteligr8.alfresco.activiti.api.ProfileApi;
|
||||
import com.inteligr8.alfresco.activiti.api.TasksApi;
|
||||
import com.inteligr8.rs.AuthorizationFilter;
|
||||
import com.inteligr8.rs.Client;
|
||||
import com.inteligr8.rs.ClientConfiguration;
|
||||
|
||||
/**
|
||||
* Alfresco Process Services Spring-ready API
|
||||
* This class serves as the base implementation for the JAX-RS API for the APS
|
||||
* Public ReST API.
|
||||
*
|
||||
* @author brian@inteligr8.com
|
||||
*/
|
||||
public abstract class ApsPublicRestApi {
|
||||
|
||||
protected abstract ClientConfiguration getConfig();
|
||||
abstract ClientConfiguration getConfig();
|
||||
|
||||
protected abstract <T> T getApi(Class<T> apiClass);
|
||||
abstract Client getClient();
|
||||
|
||||
protected final <T> T getApi(Class<T> apiClass) {
|
||||
return this.getApi(null, apiClass);
|
||||
}
|
||||
|
||||
protected <T> T getApi(AuthorizationFilter authFilter, Class<T> apiClass) {
|
||||
return this.getClient().getApi(authFilter, apiClass);
|
||||
}
|
||||
|
||||
public AdminApi getAdminApi() {
|
||||
return this.getApi(AdminApi.class);
|
||||
}
|
||||
|
||||
public AdminApi getAdminApi(AuthorizationFilter authFilter) {
|
||||
return this.getApi(authFilter, AdminApi.class);
|
||||
}
|
||||
|
||||
public AppVersionApi getAppVersionApi() {
|
||||
return this.getApi(AppVersionApi.class);
|
||||
}
|
||||
|
||||
public AppVersionApi getAppVersionApi(AuthorizationFilter authFilter) {
|
||||
return this.getApi(authFilter, AppVersionApi.class);
|
||||
}
|
||||
|
||||
public ProcessInstancesApi getProcessInstancesApi() {
|
||||
return this.getApi(ProcessInstancesApi.class);
|
||||
}
|
||||
|
||||
public ProcessInstancesApi getProcessInstancesApi(AuthorizationFilter authFilter) {
|
||||
return this.getApi(authFilter, ProcessInstancesApi.class);
|
||||
}
|
||||
|
||||
public ProfileApi getProfileApi() {
|
||||
return this.getApi(ProfileApi.class);
|
||||
}
|
||||
|
||||
public ProfileApi getProfileApi(AuthorizationFilter authFilter) {
|
||||
return this.getApi(authFilter, ProfileApi.class);
|
||||
}
|
||||
|
||||
public TasksApi getTasksApi() {
|
||||
return this.getApi(TasksApi.class);
|
||||
}
|
||||
|
||||
public TasksApi getTasksApi(AuthorizationFilter authFilter) {
|
||||
return this.getApi(authFilter, TasksApi.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -4,10 +4,14 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.inteligr8.rs.Client;
|
||||
import com.inteligr8.rs.ClientConfiguration;
|
||||
|
||||
/**
|
||||
* Alfresco Process Services Spring-ready API for CXF
|
||||
* This class provides the Apache CXF client to the JAX-RS API for the APS
|
||||
* Public ReST API.
|
||||
*
|
||||
* @author brian@inteligr8.com
|
||||
*/
|
||||
@Component("aps.api.cxf")
|
||||
@Lazy
|
||||
@@ -16,14 +20,27 @@ public class ApsPublicRestApiCxfImpl extends ApsPublicRestApi {
|
||||
@Autowired
|
||||
private ApsClientCxfImpl client;
|
||||
|
||||
@Override
|
||||
protected ClientConfiguration getConfig() {
|
||||
return this.client.getConfig();
|
||||
/**
|
||||
* This constructor is for Spring use
|
||||
*/
|
||||
ApsPublicRestApiCxfImpl() {
|
||||
}
|
||||
|
||||
/**
|
||||
* This constructor is for POJO use
|
||||
*/
|
||||
public ApsPublicRestApiCxfImpl(ApsClientCxfImpl client) {
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected <T> T getApi(Class<T> apiClass) {
|
||||
return this.client.getApi(apiClass);
|
||||
ClientConfiguration getConfig() {
|
||||
return this.client.getConfig();
|
||||
}
|
||||
|
||||
@Override
|
||||
Client getClient() {
|
||||
return this.client;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -4,10 +4,14 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.inteligr8.rs.Client;
|
||||
import com.inteligr8.rs.ClientConfiguration;
|
||||
|
||||
/**
|
||||
* Alfresco Process Services Spring-ready API for Jersey
|
||||
* This class provides the Jersey client to the JAX-RS API for the APS Public
|
||||
* ReST API.
|
||||
*
|
||||
* @author brian@inteligr8.com
|
||||
*/
|
||||
@Component("aps.api.jersey")
|
||||
@Lazy
|
||||
@@ -16,14 +20,27 @@ public class ApsPublicRestApiJerseyImpl extends ApsPublicRestApi {
|
||||
@Autowired
|
||||
private ApsClientJerseyImpl client;
|
||||
|
||||
/**
|
||||
* This constructor is for Spring use
|
||||
*/
|
||||
ApsPublicRestApiJerseyImpl() {
|
||||
}
|
||||
|
||||
/**
|
||||
* This constructor is for POJO use
|
||||
*/
|
||||
public ApsPublicRestApiJerseyImpl(ApsClientJerseyImpl client) {
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ClientConfiguration getConfig() {
|
||||
ClientConfiguration getConfig() {
|
||||
return this.client.getConfig();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected <T> T getApi(Class<T> apiClass) {
|
||||
return this.client.getApi(apiClass);
|
||||
Client getClient() {
|
||||
return this.client;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,54 @@
|
||||
package com.inteligr8.alfresco.activiti;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.condition.EnabledIf;
|
||||
|
||||
import com.inteligr8.alfresco.activiti.model.AppVersion;
|
||||
import com.inteligr8.alfresco.activiti.model.CreateProcessInstance;
|
||||
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
|
||||
import com.inteligr8.alfresco.activiti.model.User;
|
||||
import com.inteligr8.alfresco.activiti.model.Variable;
|
||||
|
||||
public abstract class ConnectionClientIT extends ConditionalIT {
|
||||
|
||||
public abstract ApsPublicRestApi getClient();
|
||||
|
||||
@Test
|
||||
@EnabledIf("hostExists")
|
||||
public void testAppVersion() {
|
||||
AppVersion obj = this.getClient().getAppVersionApi().get();
|
||||
|
||||
Assertions.assertNotNull(obj);
|
||||
Assertions.assertEquals("1", obj.getMajorVersion());
|
||||
Assertions.assertEquals("bpmSuite", obj.getType());
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnabledIf("hostExists")
|
||||
public void testProfile() {
|
||||
User obj = this.getClient().getProfileApi().get();
|
||||
|
||||
Assertions.assertNotNull(obj);
|
||||
Assertions.assertEquals("admin@app.activiti.com", obj.getEmail());
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnabledIf("hostExists")
|
||||
public void testStartProcess() {
|
||||
CreateProcessInstance request = new CreateProcessInstance();
|
||||
request.setProcessDefinitionKey("qcDocument");
|
||||
request.setVariables(Arrays.asList(new Variable("acsNodeId", null, null, UUID.randomUUID().toString())));
|
||||
|
||||
ProcessInstance response = this.getClient().getProcessInstancesApi().create(request);
|
||||
|
||||
Assertions.assertNotNull(response);
|
||||
Assertions.assertNotNull(response.getId());
|
||||
Assertions.assertNotNull(response.getId().length() > 0);
|
||||
Assertions.assertEquals("qcDocument", response.getProcessDefinitionKey());
|
||||
}
|
||||
|
||||
}
|
@@ -1,47 +1,28 @@
|
||||
package com.inteligr8.alfresco.activiti;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.condition.EnabledIf;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
|
||||
|
||||
import com.inteligr8.alfresco.activiti.model.AppVersion;
|
||||
import com.inteligr8.alfresco.activiti.model.User;
|
||||
import com.inteligr8.rs.ClientConfiguration;
|
||||
|
||||
@TestPropertySource(locations = {"/local.properties"})
|
||||
@SpringJUnitConfig(classes = {ApsClientConfiguration.class, ApsPublicRestApiCxfImpl.class, ApsClientCxfImpl.class})
|
||||
public class ConnectionCxfClientIT extends ConditionalIT {
|
||||
public class ConnectionCxfClientIT extends ConnectionClientIT {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("aps.api.cxf")
|
||||
private ApsPublicRestApi client;
|
||||
|
||||
@Override
|
||||
public ApsPublicRestApi getClient() {
|
||||
return this.client;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClientConfiguration getConfiguration() {
|
||||
return this.client.getConfig();
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnabledIf("hostExists")
|
||||
public void testAppVersion() {
|
||||
AppVersion obj = this.client.getAppVersionApi().get();
|
||||
|
||||
Assertions.assertNotNull(obj);
|
||||
Assertions.assertEquals("1", obj.getMajorVersion());
|
||||
Assertions.assertEquals("bpmSuite", obj.getType());
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnabledIf("hostExists")
|
||||
public void testProfile() {
|
||||
User obj = this.client.getProfileApi().get();
|
||||
|
||||
Assertions.assertNotNull(obj);
|
||||
Assertions.assertEquals("admin@app.activiti.com", obj.getEmail());
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,47 +1,27 @@
|
||||
package com.inteligr8.alfresco.activiti;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.condition.EnabledIf;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
|
||||
|
||||
import com.inteligr8.alfresco.activiti.model.AppVersion;
|
||||
import com.inteligr8.alfresco.activiti.model.User;
|
||||
import com.inteligr8.rs.ClientConfiguration;
|
||||
|
||||
@TestPropertySource(locations = {"/local.properties"})
|
||||
@SpringJUnitConfig(classes = {ApsClientConfiguration.class, ApsPublicRestApiCxfImpl.class, ApsClientJerseyImpl.class})
|
||||
public class ConnectionJerseyClientIT extends ConditionalIT {
|
||||
public class ConnectionJerseyClientIT extends ConnectionClientIT {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("aps.api.jersey")
|
||||
private ApsPublicRestApi client;
|
||||
|
||||
public ApsPublicRestApi getClient() {
|
||||
return this.client;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClientConfiguration getConfiguration() {
|
||||
return this.client.getConfig();
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnabledIf("hostExists")
|
||||
public void testAppVersion() {
|
||||
AppVersion obj = this.client.getAppVersionApi().get();
|
||||
|
||||
Assertions.assertNotNull(obj);
|
||||
Assertions.assertEquals("1", obj.getMajorVersion());
|
||||
Assertions.assertEquals("bpmSuite", obj.getType());
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnabledIf("hostExists")
|
||||
public void testProfile() {
|
||||
User obj = this.client.getProfileApi().get();
|
||||
|
||||
Assertions.assertNotNull(obj);
|
||||
Assertions.assertEquals("admin@app.activiti.com", obj.getEmail());
|
||||
}
|
||||
|
||||
}
|
||||
|
5
src/test/resources/local-oauth.properties
Normal file
5
src/test/resources/local-oauth.properties
Normal file
@@ -0,0 +1,5 @@
|
||||
process.service.baseUrl=http://localhost:8080/activiti-app
|
||||
process.service.security.oauth.tokenUrl=http://auth.example.org:8080/auth/realms/alfresco/protocol/openid-connect/token
|
||||
process.service.security.oauth.clientId=alfresco
|
||||
process.service.security.oauth.grantUsername=admin
|
||||
process.service.security.oauth.grantPassword=admin
|
Reference in New Issue
Block a user