chore: JUnit test cases added for rate limit functions (#28399)
## Description This PR adds JUnit test cases for rate limit functionality implemented for datasource test and datasource connections. #### PR fixes following issue(s) Fixes ##27742 #### Media > A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video > > #### Type of change - Chore (housekeeping or task changes that don't impact user perception) > > > ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [x] JUnit - [ ] Jest - [ ] Cypress > > #### Test Plan > Add Testsmith test cases links that relate to this PR > > #### Issues raised during DP testing > Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR) > > > ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag #### QA activity: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed Co-authored-by: “sneha122” <“sneha@appsmith.com”>
This commit is contained in:
parent
c2f3069fdc
commit
f91dc4889e
|
|
@ -33,6 +33,7 @@ import reactor.test.StepVerifier;
|
|||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -352,4 +353,70 @@ public class ArangoDBPluginTest {
|
|||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_endpointNotPresent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
// setting endpoints to empty list
|
||||
dsConfig.setEndpoints(new ArrayList());
|
||||
|
||||
final Mono<String> rateLimitIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(rateLimitIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAbsent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("");
|
||||
dsConfig.getEndpoints().get(0).setPort(8529L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAndPortPresent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(590L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_590", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostPresentPortAbsent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(null);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_8529", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -115,6 +115,16 @@ public class ElasticSearchPluginTest {
|
|||
.flatMap(conn -> pluginExecutor.execute(conn, dsConfig, actionConfiguration));
|
||||
}
|
||||
|
||||
private DatasourceConfiguration createDatasourceConfiguration() {
|
||||
DatasourceConfiguration datasourceConfiguration = new DatasourceConfiguration();
|
||||
datasourceConfiguration.setAuthentication(elasticInstanceCredentials);
|
||||
Endpoint endpoint = new Endpoint();
|
||||
endpoint.setHost("localhost");
|
||||
endpoint.setPort(Long.valueOf(port));
|
||||
datasourceConfiguration.setEndpoints(Collections.singletonList(endpoint));
|
||||
return datasourceConfiguration;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultPort() {
|
||||
|
||||
|
|
@ -600,4 +610,70 @@ public class ElasticSearchPluginTest {
|
|||
.size()
|
||||
== 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_endpointNotPresent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
// setting endpoints to empty list
|
||||
dsConfig.setEndpoints(new ArrayList());
|
||||
|
||||
final Mono<String> rateLimitIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(rateLimitIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAbsent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("");
|
||||
dsConfig.getEndpoints().get(0).setPort(9200L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAndPortPresent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(590L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_590", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostPresentPortAbsent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(null);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_9200", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -707,4 +707,70 @@ public class MssqlPluginTest {
|
|||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_endpointNotPresent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration(container);
|
||||
// setting endpoints to empty list
|
||||
dsConfig.setEndpoints(new ArrayList());
|
||||
|
||||
final Mono<String> rateLimitIdentifierMono = mssqlPluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(rateLimitIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAbsent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration(container);
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("");
|
||||
dsConfig.getEndpoints().get(0).setPort(1433L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = mssqlPluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAndPortPresent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration(container);
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(34L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = mssqlPluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_34", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostPresentPortAbsent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration(container);
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(null);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = mssqlPluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_1433", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ import com.appsmith.external.models.Param;
|
|||
import com.appsmith.external.models.Property;
|
||||
import com.appsmith.external.models.PsParameterDTO;
|
||||
import com.appsmith.external.models.RequestParamDTO;
|
||||
import com.appsmith.external.models.SSHConnection;
|
||||
import com.appsmith.external.models.SSLDetails;
|
||||
import com.external.plugins.exceptions.MySQLErrorMessages;
|
||||
import com.external.plugins.exceptions.MySQLPluginError;
|
||||
|
|
@ -1455,4 +1456,177 @@ public class MySqlPluginTest {
|
|||
.size()
|
||||
== 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_endpointNotPresent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
// setting endpoints to empty list
|
||||
dsConfig.setEndpoints(new ArrayList());
|
||||
|
||||
final Mono<String> rateLimitIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(rateLimitIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAbsent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("");
|
||||
dsConfig.getEndpoints().get(0).setPort(3306L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAndPortPresent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(33L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_33", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostPresentPortAbsent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(null);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_3306", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostPresentPortAbsentSshEnabled_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(null);
|
||||
|
||||
// Set ssh enabled
|
||||
List<Property> properties = new ArrayList();
|
||||
properties.add(null);
|
||||
properties.add(new Property("Connection Method", "SSH"));
|
||||
dsConfig.setProperties(properties);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_3306", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void
|
||||
testGetEndpointIdentifierForRateLimit_HostPresentPortAbsentSshEnabledwithHostAndPort_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(null);
|
||||
|
||||
// Set ssh enabled
|
||||
List<Property> properties = new ArrayList();
|
||||
properties.add(null);
|
||||
properties.add(new Property("Connection Method", "SSH"));
|
||||
dsConfig.setProperties(properties);
|
||||
|
||||
SSHConnection sshProxy = new SSHConnection();
|
||||
sshProxy.setHost("sshHost");
|
||||
sshProxy.setPort(223L);
|
||||
dsConfig.setSshProxy(sshProxy);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_3306_sshHost_223", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void
|
||||
testGetEndpointIdentifierForRateLimit_HostPresentPortAbsentSshEnabledwithHostAndNullPort_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(null);
|
||||
|
||||
// Set ssh enabled
|
||||
List<Property> properties = new ArrayList();
|
||||
properties.add(null);
|
||||
properties.add(new Property("Connection Method", "SSH"));
|
||||
dsConfig.setProperties(properties);
|
||||
|
||||
SSHConnection sshProxy = new SSHConnection();
|
||||
sshProxy.setHost("sshHost");
|
||||
dsConfig.setSshProxy(sshProxy);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_3306_sshHost_22", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void
|
||||
testGetEndpointIdentifierForRateLimit_EndpointAbsentSshEnabledwithHostAndNullPort_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.setEndpoints(new ArrayList());
|
||||
|
||||
// Set ssh enabled
|
||||
List<Property> properties = new ArrayList();
|
||||
properties.add(null);
|
||||
properties.add(new Property("Connection Method", "SSH"));
|
||||
dsConfig.setProperties(properties);
|
||||
|
||||
SSHConnection sshProxy = new SSHConnection();
|
||||
sshProxy.setHost("sshHost");
|
||||
dsConfig.setSshProxy(sshProxy);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("_sshHost_22", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,90 @@
|
|||
package com.external.plugins;
|
||||
|
||||
import com.appsmith.external.models.DatasourceConfiguration;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.testcontainers.containers.OracleContainer;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.test.StepVerifier;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import static com.external.plugins.OracleTestDBContainerManager.getDefaultDatasourceConfig;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
@Testcontainers
|
||||
public class OracleConnectionRateLimitTest {
|
||||
|
||||
OraclePlugin.OraclePluginExecutor oraclePluginExecutor = new OraclePlugin.OraclePluginExecutor();
|
||||
|
||||
@SuppressWarnings("rawtypes") // The type parameter for the container type is just itself and is pseudo-optional.
|
||||
@Container
|
||||
private static final OracleContainer oracleDB = OracleTestDBContainerManager.getOracleDBForTest();
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_endpointNotPresent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = getDefaultDatasourceConfig(oracleDB);
|
||||
// setting endpoints to empty list
|
||||
dsConfig.setEndpoints(new ArrayList());
|
||||
|
||||
final Mono<String> rateLimitIdentifierMono = oraclePluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(rateLimitIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAbsent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = getDefaultDatasourceConfig(oracleDB);
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("");
|
||||
dsConfig.getEndpoints().get(0).setPort(1521L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = oraclePluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAndPortPresent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = getDefaultDatasourceConfig(oracleDB);
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(152L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = oraclePluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_152", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostPresentPortAbsent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = getDefaultDatasourceConfig(oracleDB);
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(null);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = oraclePluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_1521", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
|
@ -1634,4 +1634,70 @@ public class PostgresPluginTest {
|
|||
.size()
|
||||
== 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_endpointNotPresent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
// setting endpoints to empty list
|
||||
dsConfig.setEndpoints(new ArrayList());
|
||||
|
||||
final Mono<String> rateLimitIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(rateLimitIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAbsent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("");
|
||||
dsConfig.getEndpoints().get(0).setPort(5432L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAndPortPresent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(5431L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_5431", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostPresentPortAbsent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(null);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_5432", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -371,4 +371,70 @@ public class RedisPluginTest {
|
|||
.size()
|
||||
== 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_endpointNotPresent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
// setting endpoints to empty list
|
||||
dsConfig.setEndpoints(new ArrayList());
|
||||
|
||||
final Mono<String> rateLimitIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(rateLimitIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAbsent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("");
|
||||
dsConfig.getEndpoints().get(0).setPort(6379L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAndPortPresent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(590L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_590", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostPresentPortAbsent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(null);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_6379", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -632,4 +632,70 @@ public class RedshiftPluginTest {
|
|||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_endpointNotPresent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
// setting endpoints to empty list
|
||||
dsConfig.setEndpoints(new ArrayList());
|
||||
|
||||
final Mono<String> rateLimitIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(rateLimitIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAbsent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("");
|
||||
dsConfig.getEndpoints().get(0).setPort(5439L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAndPortPresent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(590L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_590", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostPresentPortAbsent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(null);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_5439", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import org.testcontainers.utility.DockerImageName;
|
|||
import reactor.core.publisher.Mono;
|
||||
import reactor.test.StepVerifier;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
|
@ -460,4 +461,70 @@ public class SmtpPluginTest {
|
|||
.size()
|
||||
== 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_endpointNotPresent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
// setting endpoints to empty list
|
||||
dsConfig.setEndpoints(new ArrayList());
|
||||
|
||||
final Mono<String> rateLimitIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(rateLimitIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAbsent_ReturnsEmptyString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("");
|
||||
dsConfig.getEndpoints().get(0).setPort(25L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostAndPortPresent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(2525L);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_2525", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointIdentifierForRateLimit_HostPresentPortAbsent_ReturnsCorrectString() {
|
||||
DatasourceConfiguration dsConfig = createDatasourceConfiguration();
|
||||
|
||||
// Setting hostname and port
|
||||
dsConfig.getEndpoints().get(0).setHost("localhost");
|
||||
dsConfig.getEndpoints().get(0).setPort(null);
|
||||
|
||||
final Mono<String> endPointIdentifierMono = pluginExecutor.getEndpointIdentifierForRateLimit(dsConfig);
|
||||
|
||||
StepVerifier.create(endPointIdentifierMono)
|
||||
.assertNext(endpointIdentifier -> {
|
||||
assertEquals("localhost_25", endpointIdentifier);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user