Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -396,9 +396,6 @@
<include>**/integration/**/*Crud*Test.java</include>
<include>**/crud/**/*Test.java</include>
</includes>
<excludes>
<exclude>**/io/tarantool/spring/data*/integration/**/*Test.java</exclude>
</excludes>
<argLine>@{argLine} -Xmx1024m</argLine>
</configuration>
</plugin>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

package io.tarantool.client.integration;

import java.io.Serializable;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Arrays;
Expand Down Expand Up @@ -35,7 +34,6 @@
import com.fasterxml.jackson.core.type.TypeReference;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;
import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
Expand All @@ -46,8 +44,8 @@
import org.junit.jupiter.params.provider.MethodSource;
import org.msgpack.value.ValueFactory;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.TarantoolCartridgeContainer;
import org.testcontainers.containers.TarantoolContainerOperations;
import org.testcontainers.containers.CartridgeClusterContainer;
import org.testcontainers.containers.ClusterContainer;
import org.testcontainers.containers.VshardClusterContainer;
import org.testcontainers.containers.output.Slf4jLogConsumer;
import org.testcontainers.junit.jupiter.Testcontainers;
Expand Down Expand Up @@ -88,7 +86,6 @@
import io.tarantool.pool.IProtoClientPool;
import io.tarantool.pool.InstanceConnectionGroup;

@Disabled("Refactor TarantoolCartridgeContainer and VshardClusterContainer")
@Timeout(value = 10)
@Testcontainers
public class TarantoolCrudClientTest extends BaseTest {
Expand All @@ -103,9 +100,9 @@ public class TarantoolCrudClientTest extends BaseTest {
}
};
public static final Person STUB_PERSON = new Person(0, true, String.valueOf(0));
private static TarantoolCartridgeContainer cartridgeContainer;
private static CartridgeClusterContainer cartridgeContainer;
private static VshardClusterContainer vshardClusterContainer;
private static TarantoolContainerOperations clusterContainer;
private static ClusterContainer<?> clusterContainer;
public static final String ROUTER_1 = "ROUTER_1";
public static final String ROUTER_2 = "ROUTER_2";
private static TarantoolCrudClient client;
Expand Down Expand Up @@ -150,7 +147,7 @@ public static void setUp() throws Exception {
clusterContainer = vshardClusterContainer;
} else {
cartridgeContainer =
new TarantoolCartridgeContainer(
new CartridgeClusterContainer(
"cartridge/Dockerfile",
dockerRegistry + "cartridge",
"cartridge/instances.yml",
Expand Down Expand Up @@ -325,7 +322,10 @@ public void testSelectAndInsertGeneral() {
assertEquals(expected.asList(), removeBucketId(insertResult));

List<Tuple<Person>> selectResult =
person.select(baseOptions, listPersonTypeRef, PkEquals(0)).join().get();
person
.select(Collections.singletonList(ConditionPkEquals(0)), listPersonTypeRef)
.join()
.get();
assertEquals(Collections.singletonList(expected), unpackT(selectResult));
}

Expand Down Expand Up @@ -356,17 +356,18 @@ public void testDMLTupleExtension() {

replaceResult =
personWithoutTupleExt.replace(baseOptions, listTypeRef, expected, OPTIONS).join();
assertTrue(replaceResult.getFormat().isEmpty());
assertEquals(expected.asList(), removeBucketId(replaceResult.get()));

// select
TarantoolResponse<List<Tuple<Person>>> selectResult =
person.select(baseOptions, listPersonTypeRef, PkEquals(0)).join();
person.select(Collections.singletonList(ConditionPkEquals(0)), listPersonTypeRef).join();
assertFalse(selectResult.getFormats().isEmpty());
assertEquals(Collections.singletonList(expected), unpackT(selectResult.get()));

selectResult = personWithoutTupleExt.select(baseOptions, listPersonTypeRef, PkEquals(0)).join();
assertTrue(selectResult.getFormats().isEmpty());
selectResult =
personWithoutTupleExt
.select(Collections.singletonList(ConditionPkEquals(0)), listPersonTypeRef)
.join();
assertEquals(Collections.singletonList(expected), unpackT(selectResult.get()));
}

Expand Down Expand Up @@ -415,10 +416,6 @@ public void testSelectAndInsertTypeReference() {
assertEquals(Collections.singletonList(expected), unpackT(selectResult));
}

private static List<List<? extends Serializable>> PkEquals(int id) {
return Collections.singletonList(Arrays.asList("==", "pk", id));
}

private static Condition ConditionPkEquals(int id) {
return Condition.create("==", "pk", id);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,11 @@
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;
import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.TarantoolCartridgeContainer;
import org.testcontainers.containers.CartridgeClusterContainer;
import org.testcontainers.containers.output.Slf4jLogConsumer;
import org.testcontainers.junit.jupiter.Testcontainers;

Expand All @@ -36,7 +35,6 @@
import io.tarantool.core.exceptions.BoxError;
import io.tarantool.mapping.Tuple;

@Disabled("Refactor TarantoolCartridgeContainer and VshardClusterContainer")
@Timeout(value = 5)
@Testcontainers
public class TarantoolCrudClientWithRetryTest {
Expand Down Expand Up @@ -84,8 +82,8 @@ private void execute() {
}
}

private static final TarantoolCartridgeContainer tt =
new TarantoolCartridgeContainer(
private static final CartridgeClusterContainer tt =
new CartridgeClusterContainer(
"cartridge/Dockerfile",
System.getenv().getOrDefault("TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX", "")
+ "cartridge",
Expand Down
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Кажется это не относится к этому МР

Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ public List<Field> getMetadata() throws CrudException {
if (error != null) {
throw new CrudException(error);
}
if (response == null) {
return null;
}
return response.getMetadata();
}

Expand Down
3 changes: 3 additions & 0 deletions tarantool-shared-resources/cartridge/app/api/crud_aux.lua
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,11 @@ local crud_methods_to_patch = {
'update',
'upsert',
'insert_many',
'insert_object_many',
'replace_many',
'replace_object_many',
'upsert_many',
'upsert_object_many',
'truncate',
'count',
'len',
Expand Down
15 changes: 12 additions & 3 deletions tarantool-shared-resources/vshard_cluster/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,18 +1,27 @@
ARG TARANTOOL_VERSION="3.5.0"
ARG IMAGE="tarantool/tarantool"
FROM --platform=linux/amd64 $IMAGE:$TARANTOOL_VERSION
HEALTHCHECK NONE

ARG TARANTOOL_WORKDIR="/app"
ENV TARANTOOL_WORKDIR=$TARANTOOL_WORKDIR
ARG APP_NAME="vshard-cluster"

WORKDIR $TARANTOOL_WORKDIR
COPY "cluster" "$TARANTOOL_WORKDIR"
COPY "cluster" "$TARANTOOL_WORKDIR/$APP_NAME"
WORKDIR "$TARANTOOL_WORKDIR/$APP_NAME"
RUN mkdir -p /etc/tarantool/instances.enabled && \
ln -s "$TARANTOOL_WORKDIR/$APP_NAME" /etc/tarantool/instances.enabled/app

RUN sed -i 's|http://archive.ubuntu.com/ubuntu/|http://mirror.yandex.ru/ubuntu/|g; s|http://security.ubuntu.com/ubuntu/|http://mirror.yandex.ru/ubuntu/|g' /etc/apt/sources.list

# install dependencies
RUN apt-get -y update && \
apt-get -y install build-essential cmake make gcc git unzip cartridge-cli && \
apt-get -y install build-essential cmake make gcc git unzip && \
apt-get -y clean

CMD tt init && tt build && tt start && sleep infinity
CMD rm -f tt.yaml && \
TT_CONFIG=./config.yaml env -u TT_APP_NAME -u TT_INSTANCE_NAME tt init && \
TT_CONFIG=./config.yaml env -u TT_APP_NAME -u TT_INSTANCE_NAME tt build && \
TT_CONFIG=./config.yaml env -u TT_APP_NAME -u TT_INSTANCE_NAME tt start vshard-cluster && \
sleep infinity
12 changes: 6 additions & 6 deletions tarantool-shared-resources/vshard_cluster/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,22 @@ groups:
storage-001-a:
iproto:
listen:
- uri: "3303"
- uri: "127.0.0.1:3303"
storage-001-b:
iproto:
listen:
- uri: "3304"
- uri: "127.0.0.1:3304"
storage-002:
leader: storage-002-a
instances:
storage-002-a:
iproto:
listen:
- uri: "3305"
- uri: "127.0.0.1:3305"
storage-002-b:
iproto:
listen:
- uri: "3306"
- uri: "127.0.0.1:3306"
routers:
app:
module: router
Expand All @@ -62,10 +62,10 @@ groups:
router-001-a:
iproto:
listen:
- uri: "3301"
- uri: "0.0.0.0:3301"
router-002:
instances:
router-002-a:
iproto:
listen:
- uri: "3302"
- uri: "0.0.0.0:3302"
3 changes: 3 additions & 0 deletions tarantool-shared-resources/vshard_cluster/crud_aux.lua
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,11 @@ local crud_methods_to_patch = {
'update',
'upsert',
'insert_many',
'insert_object_many',
'replace_many',
'replace_object_many',
'upsert_many',
'upsert_object_many',
'truncate',
'count',
'len',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@

import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Timeout;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.TarantoolCartridgeContainer;
import org.testcontainers.containers.TarantoolContainerOperations;
import org.testcontainers.containers.CartridgeClusterContainer;
import org.testcontainers.containers.ClusterContainer;
import org.testcontainers.containers.VshardClusterContainer;
import org.testcontainers.containers.output.Slf4jLogConsumer;

Expand All @@ -24,11 +23,10 @@
import static io.tarantool.spring.data27.utils.TarantoolTestSupport.writeTestPropertiesYaml;
import io.tarantool.spring.data27.config.properties.TarantoolProperties;

@Disabled("Refactor TarantoolCartridgeContainer and VshardClusterContainer")
@Timeout(60)
public abstract class BaseIntegrationTest {

protected static TarantoolContainerOperations<?> clusterContainer;
protected static ClusterContainer<?> clusterContainer;

private static final String dockerRegistry =
System.getenv().getOrDefault("TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX", "");
Expand All @@ -55,8 +53,8 @@ private static void configureContainer() {
}
clusterContainer = vshardClusterContainer;
} else {
TarantoolCartridgeContainer cartridgeContainer =
new TarantoolCartridgeContainer(
CartridgeClusterContainer cartridgeContainer =
new CartridgeClusterContainer(
"cartridge/Dockerfile",
dockerRegistry + "cartridge",
"cartridge/instances.yml",
Expand All @@ -77,6 +75,8 @@ private static void writeConfigurationFile() throws IOException {
final TarantoolProperties properties = new TarantoolProperties();
properties.setHost(clusterContainer.getHost());
properties.setPort(clusterContainer.getPort());
properties.setUserName(clusterContainer.getUsername());
properties.setPassword(clusterContainer.getPassword());

writeTestPropertiesYaml(DEFAULT_PROPERTY_FILE_NAME, properties);
}
Expand All @@ -94,6 +94,14 @@ protected static int getPort() {
return clusterContainer.getPort();
}

protected static String getUsername() {
return clusterContainer.getUsername();
}

protected static String getPassword() {
return clusterContainer.getPassword();
}

protected static boolean isCartridgeAvailable() {
return System.getenv().getOrDefault("TARANTOOL_VERSION", "").matches("2.*");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,13 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.context.TestPropertySource;

import static io.tarantool.client.TarantoolClient.DEFAULT_TAG;
import static io.tarantool.client.crud.TarantoolCrudClient.DEFAULT_CRUD_PASSWORD;
import static io.tarantool.client.crud.TarantoolCrudClient.DEFAULT_CRUD_USERNAME;
import static io.tarantool.spring.data.utils.Constants.DEFAULT_PROPERTY_FILE_LOCATION_CLASSPATH;
import static io.tarantool.spring.data27.utils.TarantoolTestSupport.COMPLEX_PERSON_SPACE;
import static io.tarantool.spring.data27.utils.TarantoolTestSupport.PERSON_SPACE;
Expand All @@ -34,7 +31,6 @@
import io.tarantool.spring.data27.integration.BaseIntegrationTest;
import io.tarantool.spring.data27.repository.config.EnableTarantoolRepositories;

@Disabled("Refactor TarantoolCartridgeContainer and VshardClusterContainer")
@TestPropertySource(properties = {DEFAULT_PROPERTY_FILE_LOCATION_CLASSPATH})
abstract class CrudConfigurations extends BaseIntegrationTest {

Expand All @@ -51,8 +47,8 @@ protected static void beforeAll() throws IOException {
InstanceConnectionGroup.builder()
.withHost(clusterContainer.getHost())
.withPort(clusterContainer.getPort())
.withUser(DEFAULT_CRUD_USERNAME)
.withPassword(DEFAULT_CRUD_PASSWORD)
.withUser(getUsername())
.withPassword(getPassword())
.withTag(DEFAULT_TAG)
.withSize(4)
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,11 @@ void testRegisterBeansForRootWithCustomClientConfigShouldThrows() {
}

private static TarantoolCrudClientBuilder getCrudClientSettings() {
return TarantoolFactory.crud().withHost(getHost()).withPort(getPort());
return TarantoolFactory.crud()
.withHost(getHost())
.withPort(getPort())
.withUser(getUsername())
.withPassword(getPassword());
}

private static TarantoolBoxClientBuilder getBoxClientSettings() {
Expand Down
Loading