This is an automated email from the ASF dual-hosted git repository.
shenlin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/rocketmq-eventbridge.git
The following commit(s) were added to refs/heads/main by this push:
new 89144ed Add oauth http check (#81)
89144ed is described below
commit 89144ed23290922c36c61b8a284736159eeeb426
Author: zhaohai <[email protected]>
AuthorDate: Wed Apr 12 18:58:07 2023 +0800
Add oauth http check (#81)
add oauth http check
---
.../CreateApiDestinationRequest.java | 4 +-
.../UpdateApiDestinationRequest.java | 4 +-
.../dto/connection/CreateConnectionRequest.java | 2 +-
.../dto/connection/UpdateConnectionRequest.java | 2 +-
.../mybatis/mapper/EventApiDestinationMapper.java | 2 +
.../MybatisApiDestinationRepository.java | 5 ++
.../mybatis/mapper/EventConnectionMapper.java | 2 +
.../repository/MybatisConnectRepository.java | 5 ++
.../mybatis/EventApiDestinationMapper.xml | 10 ++++
.../resources/mybatis/EventConnectionMapper.xml | 9 +++
.../apidestination/ApiDestinationService.java | 9 ++-
.../domain/model/connection/ConnectionService.java | 70 +++++++---------------
.../repository/ApiDestinationRepository.java | 2 +
.../domain/repository/ConnectionRepository.java | 2 +
.../domain/service/ApiDestinationServiceTest.java | 9 +++
.../domain/service/ConnectionServiceTest.java | 2 +-
16 files changed, 83 insertions(+), 56 deletions(-)
diff --git
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/CreateApiDestinationRequest.java
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/CreateApiDestinationRequest.java
index 10f5c63..a0689e0 100644
---
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/CreateApiDestinationRequest.java
+++
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/CreateApiDestinationRequest.java
@@ -33,14 +33,14 @@ import org.hibernate.validator.constraints.Length;
public class CreateApiDestinationRequest extends BaseResponse {
@Pattern(regexp = "^[A-Za-z|0-9][A-Za-z|0-9|_|-]+$", message = "The
ApiDestination name is invalid! Only letters a~z or A~Z, numbers 0~9,
underscore (_) and dash (-) are supported.")
- @Length(min = 1, max = 127, message = "The ApiDestination name length
cannot exceed 127.")
+ @Length(min = 2, max = 127, message = "The ApiDestination name length
cannot exceed 127.")
@NotBlank(message = "ApiDestinationName is blank")
@SerializedName("ApiDestinationName")
private String apiDestinationName;
@SerializedName("ConnectionName")
@Pattern(regexp = "^[A-Za-z|0-9][A-Za-z|0-9|_|-]+$", message = "The
Connection name is invalid! Only letters a~z or A~Z, numbers 0~9, underscore
(_) and dash (-) are supported.")
- @Length(min = 1, max = 127, message = "The connection name length cannot
exceed 127.")
+ @Length(min = 2, max = 127, message = "The connection name length cannot
exceed 127.")
@NotBlank(message = "ConnectionName is blank.")
private String connectionName;
diff --git
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/UpdateApiDestinationRequest.java
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/UpdateApiDestinationRequest.java
index a065853..d730daf 100644
---
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/UpdateApiDestinationRequest.java
+++
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/UpdateApiDestinationRequest.java
@@ -34,14 +34,14 @@ import org.hibernate.validator.constraints.Length;
public class UpdateApiDestinationRequest extends BaseResponse {
@Pattern(regexp = "^[A-Za-z|0-9][A-Za-z|0-9|_|-]+$", message = "The
ApiDestination name is invalid! Only letters a~z or A~Z, numbers 0~9,
underscore (_) and dash (-) are supported.")
- @Length(min = 1, max = 127, message = "The ApiDestination name length
cannot exceed 127.")
+ @Length(min = 2, max = 127, message = "The ApiDestination name length
cannot exceed 127.")
@NotBlank(message = "ApiDestinationName is blank")
@SerializedName("ApiDestinationName")
private String apiDestinationName;
@SerializedName("ConnectionName")
@Pattern(regexp = "^[A-Za-z|0-9][A-Za-z|0-9|_|-]+$", message = "The
Connection name is invalid! Only letters a~z or A~Z, numbers 0~9, underscore
(_) and dash (-) are supported.")
- @Length(min = 1, max = 127, message = "The connection name length cannot
exceed 127.")
+ @Length(min = 2, max = 127, message = "The connection name length cannot
exceed 127.")
@NotBlank(message = "ConnectionName is blank.")
private String connectionName;
diff --git
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/CreateConnectionRequest.java
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/CreateConnectionRequest.java
index 9e9de83..fe6b325 100644
---
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/CreateConnectionRequest.java
+++
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/CreateConnectionRequest.java
@@ -34,7 +34,7 @@ import org.hibernate.validator.constraints.Length;
public class CreateConnectionRequest extends BaseRequest {
@Pattern(regexp = "^[A-Za-z|0-9][A-Za-z|0-9|_|-]+$", message = "The
Connection name is invalid! Only letters a~z or A~Z, numbers 0~9, underscore
(_) and dash (-) are supported.")
- @Length(min = 1, max = 127, message = "The connection name length cannot
exceed 127.")
+ @Length(min = 2, max = 127, message = "The connection name length cannot
exceed 127.")
@NotBlank(message = "ConnectionName is blank.")
@SerializedName("ConnectionName")
private String connectionName;
diff --git
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/UpdateConnectionRequest.java
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/UpdateConnectionRequest.java
index 22d7024..2173dc4 100644
---
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/UpdateConnectionRequest.java
+++
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/UpdateConnectionRequest.java
@@ -35,7 +35,7 @@ import org.hibernate.validator.constraints.Length;
public class UpdateConnectionRequest extends BaseRequest {
@Pattern(regexp = "^[A-Za-z|0-9][A-Za-z|0-9|_|-]+$", message = "The
Connection name is invalid! Only letters a~z or A~Z, numbers 0~9, underscore
(_) and dash (-) are supported.")
- @Length(min = 1, max = 127, message = "The connection name length cannot
exceed 127.")
+ @Length(min = 2, max = 127, message = "The connection name length cannot
exceed 127.")
@NotBlank(message = "ConnectionName is blank")
@SerializedName("ConnectionName")
private String connectionName;
diff --git
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/mapper/EventApiDestinationMapper.java
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/mapper/EventApiDestinationMapper.java
index 7dff8e9..12bc74b 100644
---
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/mapper/EventApiDestinationMapper.java
+++
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/mapper/EventApiDestinationMapper.java
@@ -120,6 +120,8 @@ public interface EventApiDestinationMapper {
*/
int getApiDestinationCount(@Param("accountId") String accountId);
+ int getApiDestinationByAccountIdAndNameCount(@Param("accountId") String
accountId, @Param("name") String name, @Param("connectionName") String
connectionName);
+
List<ApiDestinationDO>
queryApiDestinationByConnectionName(@Param("accountId") String accountId,
@Param("connectionName") String connectionName);
}
\ No newline at end of file
diff --git
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/repository/MybatisApiDestinationRepository.java
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/repository/MybatisApiDestinationRepository.java
index 129d754..b6fdb98 100644
---
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/repository/MybatisApiDestinationRepository.java
+++
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/repository/MybatisApiDestinationRepository.java
@@ -72,6 +72,11 @@ public class MybatisApiDestinationRepository implements
ApiDestinationRepository
return eventApiDestinationMapper.getApiDestinationCount(accountId);
}
+ @Override
+ public int getApiDestinationCount(String accountId, String
apiDestinationName, String connectionName) {
+ return
eventApiDestinationMapper.getApiDestinationByAccountIdAndNameCount(accountId,
apiDestinationName, connectionName);
+ }
+
@Override
public List<ApiDestinationDTO> queryApiDestinationByConnectionName(String
accountId, String connectionName) {
return
ApiDestinationConverter.doListCoverterDtoList(eventApiDestinationMapper.queryApiDestinationByConnectionName(accountId,
connectionName));
diff --git
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/mapper/EventConnectionMapper.java
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/mapper/EventConnectionMapper.java
index 19a2064..2e63e34 100644
---
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/mapper/EventConnectionMapper.java
+++
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/mapper/EventConnectionMapper.java
@@ -115,4 +115,6 @@ public interface EventConnectionMapper {
* @return
*/
int getConnectionCount(@Param("accountId") String accountId);
+
+ int getConnectionByAccountIdAndNameCount(@Param("accountId") String
accountId,@Param("name") String name);
}
\ No newline at end of file
diff --git
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/repository/MybatisConnectRepository.java
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/repository/MybatisConnectRepository.java
index 1a8e12b..1fef74c 100644
---
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/repository/MybatisConnectRepository.java
+++
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/repository/MybatisConnectRepository.java
@@ -75,6 +75,11 @@ public class MybatisConnectRepository implements
ConnectionRepository {
return eventConnectionMapper.getConnectionCount(accountId);
}
+ @Override
+ public int getConnectionCount(String accountId, String connectionName) {
+ return
eventConnectionMapper.getConnectionByAccountIdAndNameCount(accountId,
connectionName);
+ }
+
@Override
public ConnectionDTO getConnectionById(Integer id) {
ConnectionDO connectionDO =
eventConnectionMapper.selectByPrimaryKey(id);
diff --git
a/adapter/persistence/src/main/resources/mybatis/EventApiDestinationMapper.xml
b/adapter/persistence/src/main/resources/mybatis/EventApiDestinationMapper.xml
index fab1e9f..72f2d31 100644
---
a/adapter/persistence/src/main/resources/mybatis/EventApiDestinationMapper.xml
+++
b/adapter/persistence/src/main/resources/mybatis/EventApiDestinationMapper.xml
@@ -300,6 +300,16 @@
<if test="accountId != null and accountId != ''">account_id =
#{accountId}</if>
</where>
</select>
+ <select id="getApiDestinationByAccountIdAndNameCount"
parameterType="java.util.Map" resultType="java.lang.Integer">
+ select
+ count(1)
+ from event_api_destination
+ <where>
+ <if test="accountId != null and accountId != ''">account_id =
#{accountId}</if>
+ <if test="name != null and name != ''">and name like
concat('%',#{name},'%')</if>
+ <if test="connectionName != null and connectionName != ''">and
connection_name = #{connectionName}</if>
+ </where>
+ </select>
<select id="queryApiDestinationByConnectionName"
resultMap="ResultMapWithBLOBs" parameterType="java.util.Map">
select
<include refid="Base_Column_List"/>
diff --git
a/adapter/persistence/src/main/resources/mybatis/EventConnectionMapper.xml
b/adapter/persistence/src/main/resources/mybatis/EventConnectionMapper.xml
index cfac191..12e5fa5 100644
--- a/adapter/persistence/src/main/resources/mybatis/EventConnectionMapper.xml
+++ b/adapter/persistence/src/main/resources/mybatis/EventConnectionMapper.xml
@@ -270,6 +270,15 @@
<if test="accountId != null and accountId != ''">account_id =
#{accountId}</if>
</where>
</select>
+ <select id="getConnectionByAccountIdAndNameCount"
parameterType="java.util.Map" resultType="java.lang.Integer">
+ select
+ count(1)
+ from event_connection
+ <where>
+ <if test="accountId != null and accountId != ''">account_id =
#{accountId}</if>
+ <if test="name != null and name != ''">and name like
concat('%',#{name},'%')</if>
+ </where>
+ </select>
<update id="updateByPrimaryKeyWithBLOBs"
parameterType="org.apache.rocketmq.eventbridge.adapter.persistence.connect.mybatis.dataobject.ConnectionDO">
<!--
diff --git
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
index 94f2931..19968fd 100644
---
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
+++
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
@@ -123,13 +123,18 @@ public class ApiDestinationService extends
AbstractResourceService {
Integer maxResults) {
final List<ApiDestinationDTO> apiDestinationDTOS =
apiDestinationRepository.listApiDestinations(accountId, apiDestinationName,
connectionName, nextToken, maxResults);
PaginationResult<List<ApiDestinationDTO>> result = new
PaginationResult();
+ int apiDestinationCount = this.getApiDestinationCount(accountId,
apiDestinationName, connectionName);
result.setData(apiDestinationDTOS);
- result.setTotal(this.getApiDestinationCount(accountId));
-
result.setNextToken(NextTokenUtil.findNextToken(this.getApiDestinationCount(accountId),
Integer.parseInt(nextToken), maxResults));
+ result.setTotal(apiDestinationCount);
+ result.setNextToken(NextTokenUtil.findNextToken(apiDestinationCount,
Integer.parseInt(nextToken), maxResults));
return result;
}
private int getApiDestinationCount(String accountId) {
return apiDestinationRepository.getApiDestinationCount(accountId);
}
+
+ private int getApiDestinationCount(String accountId, String
apiDestinationName, String connectionName) {
+ return apiDestinationRepository.getApiDestinationCount(accountId,
apiDestinationName, connectionName);
+ }
}
diff --git
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
index 86d317b..cd44e0a 100644
---
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
+++
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
@@ -33,9 +33,12 @@ import
org.apache.rocketmq.eventbridge.domain.model.PaginationResult;
import
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.ApiKeyAuthParameters;
import
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.AuthParameters;
import
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.BasicAuthParameters;
+import
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.BodyParameter;
+import
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.HeaderParameter;
import
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.NetworkParameters;
import
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.OAuthHttpParameters;
import
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.OAuthParameters;
+import
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.QueryStringParameter;
import org.apache.rocketmq.eventbridge.domain.model.quota.QuotaService;
import
org.apache.rocketmq.eventbridge.domain.repository.ApiDestinationRepository;
import org.apache.rocketmq.eventbridge.domain.repository.ConnectionRepository;
@@ -104,14 +107,6 @@ public class ConnectionService extends
AbstractResourceService {
}
}
- private void updateCheckAuthParameters(AuthParameters authParameters) {
- if (authParameters != null) {
- updateCheckBasicAuthParameters(authParameters);
- updateCheckApiKeyAuthParameters(authParameters);
- checkOAuthParameters(authParameters);
- }
- }
-
private void checkOAuthParameters(AuthParameters authParameters) {
OAuthParameters oauthParameters = authParameters.getOauthParameters();
if
(AuthorizationTypeEnum.OAUTH_AUTH.getType().equals(authParameters.getAuthorizationType())
&& oauthParameters == null) {
@@ -137,6 +132,18 @@ public class ConnectionService extends
AbstractResourceService {
throw new
EventBridgeException(EventBridgeErrorCode.ClientSecretLengthExceed);
}
}
+ OAuthHttpParameters oauthHttpParameters =
oauthParameters.getOauthHttpParameters();
+ if (oauthHttpParameters == null) {
+ throw new
EventBridgeException(EventBridgeErrorCode.OauthHttpParametersEmpty);
+ }
+ List<BodyParameter> bodyParameters =
oauthHttpParameters.getBodyParameters();
+ List<QueryStringParameter> queryStringParameters =
oauthHttpParameters.getQueryStringParameters();
+ List<HeaderParameter> headerParameters =
oauthHttpParameters.getHeaderParameters();
+ if (CollectionUtils.isEmpty(bodyParameters)
+ && CollectionUtils.isEmpty(queryStringParameters)
+ && CollectionUtils.isEmpty(headerParameters)) {
+ throw new
EventBridgeException(EventBridgeErrorCode.OauthHttpParametersEmpty);
+ }
}
}
@@ -160,24 +167,6 @@ public class ConnectionService extends
AbstractResourceService {
}
}
- private void updateCheckApiKeyAuthParameters(AuthParameters
authParameters) {
- ApiKeyAuthParameters apiKeyAuthParameters =
authParameters.getApiKeyAuthParameters();
- if (apiKeyAuthParameters != null &&
AuthorizationTypeEnum.API_KEY_AUTH.getType().equals(authParameters.getAuthorizationType()))
{
- String apiKeyName = apiKeyAuthParameters.getApiKeyName();
- String apiKeyValue = apiKeyAuthParameters.getApiKeyValue();
- if (StringUtils.isNotBlank(apiKeyName)
- && (apiKeyName.length() >
EventBridgeConstants.MAX_LENGTH_CONSTANT
- || apiKeyName.length() <
EventBridgeConstants.MIN_LENGTH_CONSTANT)) {
- throw new
EventBridgeException(EventBridgeErrorCode.ApiKeyNameLengthExceed);
- }
- if (StringUtils.isNotBlank(apiKeyValue)
- && (apiKeyValue.length() >
EventBridgeConstants.MAX_LENGTH_CONSTANT
- || apiKeyValue.length() <
EventBridgeConstants.MIN_LENGTH_CONSTANT)) {
- throw new
EventBridgeException(EventBridgeErrorCode.ApiKeyValueLengthExceed);
- }
- }
- }
-
private void checkBasicAuthParameters(AuthParameters authParameters) {
BasicAuthParameters basicAuthParameters =
authParameters.getBasicAuthParameters();
if
(AuthorizationTypeEnum.BASIC_AUTH.getType().equals(authParameters.getAuthorizationType())
&& basicAuthParameters == null) {
@@ -198,24 +187,6 @@ public class ConnectionService extends
AbstractResourceService {
}
}
- private void updateCheckBasicAuthParameters(AuthParameters authParameters)
{
- BasicAuthParameters basicAuthParameters =
authParameters.getBasicAuthParameters();
- if
(AuthorizationTypeEnum.BASIC_AUTH.getType().equals(authParameters.getAuthorizationType())
&& basicAuthParameters != null) {
- String username = basicAuthParameters.getUsername();
- String password = basicAuthParameters.getPassword();
- if (StringUtils.isNotBlank(username) &&
- (username.length() >
EventBridgeConstants.MAX_LENGTH_CONSTANT
- || username.length() <
EventBridgeConstants.MIN_LENGTH_CONSTANT)) {
- throw new
EventBridgeException(EventBridgeErrorCode.BasicUserNameLengthExceed);
- }
- if (StringUtils.isNotBlank(password)
- && (password.length() >
EventBridgeConstants.MAX_LENGTH_CONSTANT
- || password.length() <
EventBridgeConstants.MIN_LENGTH_CONSTANT)) {
- throw new
EventBridgeException(EventBridgeErrorCode.BasicPassWordLengthExceed);
- }
- }
- }
-
@Transactional(rollbackFor = Exception.class, propagation =
Propagation.REQUIRED)
public void deleteConnection(String accountId, String connectionName) {
if (CollectionUtils.isEmpty(checkConnection(accountId,
connectionName))) {
@@ -248,7 +219,7 @@ public class ConnectionService extends
AbstractResourceService {
secretManagerAPI.deleteSecretName(secretManagerAPI.getSecretName(accountId,
oldConnection.getConnectionName()));
}
if (connectionDTO.getAuthParameters() != null) {
- updateCheckAuthParameters(connectionDTO.getAuthParameters());
+ checkAuthParameters(connectionDTO.getAuthParameters());
connectionDTO.setAuthParameters(updateSecretData(connectionDTO.getAuthParameters(),
accountId, connectionDTO.getConnectionName(), oldConnection));
}
@@ -278,9 +249,10 @@ public class ConnectionService extends
AbstractResourceService {
public PaginationResult<List<ConnectionDTO>> listConnections(String
accountId, String connectionName, String nextToken, Integer maxResults) {
List<ConnectionDTO> connectionDTOS =
connectionRepository.listConnections(accountId, connectionName, nextToken,
maxResults);
PaginationResult<List<ConnectionDTO>> result = new PaginationResult();
+ int connectionCount = this.getConnectionCount(accountId,
connectionName);
result.setData(connectionDTOS);
- result.setTotal(this.getConnectionCount(accountId));
-
result.setNextToken(NextTokenUtil.findNextToken(this.getConnectionCount(accountId),
Integer.parseInt(nextToken), maxResults));
+ result.setTotal(connectionCount);
+ result.setNextToken(NextTokenUtil.findNextToken(connectionCount,
Integer.parseInt(nextToken), maxResults));
return result;
}
@@ -288,6 +260,10 @@ public class ConnectionService extends
AbstractResourceService {
return connectionRepository.getConnectionCount(accountId);
}
+ public int getConnectionCount(String accountId, String connectionName) {
+ return connectionRepository.getConnectionCount(accountId,
connectionName);
+ }
+
private AuthParameters setSecretData(AuthParameters authParameters, String
accountId, String connectionName) {
final BasicAuthParameters basicAuthParameters =
authParameters.getBasicAuthParameters();
final ApiKeyAuthParameters apiKeyAuthParameters =
authParameters.getApiKeyAuthParameters();
diff --git
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/repository/ApiDestinationRepository.java
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/repository/ApiDestinationRepository.java
index ee52622..af177dc 100644
---
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/repository/ApiDestinationRepository.java
+++
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/repository/ApiDestinationRepository.java
@@ -35,5 +35,7 @@ public interface ApiDestinationRepository {
int getApiDestinationCount(String accountId);
+ int getApiDestinationCount(String accountId, String apiDestinationName,
String connectionName);
+
List<ApiDestinationDTO> queryApiDestinationByConnectionName(String
accountId, String connectionName);
}
diff --git
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/repository/ConnectionRepository.java
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/repository/ConnectionRepository.java
index 575199b..711818b 100644
---
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/repository/ConnectionRepository.java
+++
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/repository/ConnectionRepository.java
@@ -35,6 +35,8 @@ public interface ConnectionRepository {
int getConnectionCount(String accountId);
+ int getConnectionCount(String accountId, String connectionName);
+
ConnectionDTO getConnectionById(Integer id);
ConnectionDTO getConnectionByNameAccountId(String name, String accountId);
diff --git
a/domain/src/test/java/org/apache/rocketmq/eventbridge/domain/service/ApiDestinationServiceTest.java
b/domain/src/test/java/org/apache/rocketmq/eventbridge/domain/service/ApiDestinationServiceTest.java
index e1fd234..eb4c9ca 100644
---
a/domain/src/test/java/org/apache/rocketmq/eventbridge/domain/service/ApiDestinationServiceTest.java
+++
b/domain/src/test/java/org/apache/rocketmq/eventbridge/domain/service/ApiDestinationServiceTest.java
@@ -20,10 +20,14 @@ package org.apache.rocketmq.eventbridge.domain.service;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
+
+import com.google.common.collect.Lists;
import org.apache.rocketmq.eventbridge.domain.model.PaginationResult;
import
org.apache.rocketmq.eventbridge.domain.model.apidestination.ApiDestinationDTO;
import
org.apache.rocketmq.eventbridge.domain.model.apidestination.ApiDestinationService;
import
org.apache.rocketmq.eventbridge.domain.model.apidestination.parameter.HttpApiParameters;
+import org.apache.rocketmq.eventbridge.domain.model.connection.ConnectionDTO;
+import
org.apache.rocketmq.eventbridge.domain.model.connection.ConnectionService;
import org.apache.rocketmq.eventbridge.domain.model.quota.QuotaService;
import
org.apache.rocketmq.eventbridge.domain.repository.ApiDestinationRepository;
import org.junit.Assert;
@@ -47,6 +51,8 @@ public class ApiDestinationServiceTest {
private ApiDestinationRepository apiDestinationRepository;
@Mock
private QuotaService quotaService;
+ @Mock
+ private ConnectionService connectionService;
@Before
public void testBefore() {
@@ -58,6 +64,9 @@ public class ApiDestinationServiceTest {
Mockito.when(apiDestinationRepository.getApiDestinationCount(any())).thenReturn(8);
Mockito.when(apiDestinationRepository.listApiDestinations(any(),
any(), any(), any(), anyInt())).thenReturn(new ArrayList<>());
Mockito.when(quotaService.getTotalQuota(any(), any())).thenReturn(10);
+ List<ConnectionDTO> connectionDTOS = Lists.newArrayList();
+ connectionDTOS.add(new ConnectionDTO());
+ Mockito.when(connectionService.getConnection(any(),
any())).thenReturn(connectionDTOS);
}
@Test
diff --git
a/domain/src/test/java/org/apache/rocketmq/eventbridge/domain/service/ConnectionServiceTest.java
b/domain/src/test/java/org/apache/rocketmq/eventbridge/domain/service/ConnectionServiceTest.java
index f28017f..214376d 100644
---
a/domain/src/test/java/org/apache/rocketmq/eventbridge/domain/service/ConnectionServiceTest.java
+++
b/domain/src/test/java/org/apache/rocketmq/eventbridge/domain/service/ConnectionServiceTest.java
@@ -67,7 +67,7 @@ public class ConnectionServiceTest {
public void testBefore() throws Exception {
Mockito.when(connectionRepository.createConnection(any())).thenReturn(Boolean.TRUE);
Mockito.when(connectionRepository.listConnections(anyString(),
anyString(), anyString(), anyInt())).thenReturn(new ArrayList<>());
-
Mockito.when(connectionRepository.getConnectionCount(any())).thenReturn(8);
+ Mockito.when(connectionRepository.getConnectionCount(any(),
any())).thenReturn(8);
ConnectionDTO connectionDTO = new ConnectionDTO();
connectionDTO.setConnectionName(UUID.randomUUID().toString());
NetworkParameters networkParameters = new NetworkParameters();