Skip to content

Version 8.0 #606

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 12 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
removed VST tests
  • Loading branch information
rashtao committed Jun 6, 2025
commit 9956cd1e73436131bc3d33fed0bbdb4be0f97496
8 changes: 5 additions & 3 deletions core/src/main/java/com/arangodb/ArangoDB.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,7 @@ public interface ArangoDB extends ArangoSerdeAccessor {
void shutdown();

/**
* Updates the JWT used for requests authorization. It does not change already existing VST connections, since VST
* connections are authenticated during the initialization phase.
* Updates the JWT used for requests authorization.
*
* @param jwt token to use
*/
Expand Down Expand Up @@ -511,7 +510,9 @@ public Builder verifyHost(final Boolean verifyHost) {
*
* @param chunkSize size of a chunk in bytes
* @return {@link ArangoDB.Builder}
* @deprecated for removal, no longer supported since ArangoDB 3.12
*/
@Deprecated
public Builder chunkSize(final Integer chunkSize) {
config.setChunkSize(chunkSize);
return this;
Expand All @@ -536,7 +537,6 @@ public Builder pipelining(final Boolean pipelining) {
* </p>
*
* <pre>
* {@link Protocol#VST} == 1
* {@link Protocol#HTTP_JSON} == 20
* {@link Protocol#HTTP_VPACK} == 20
* {@link Protocol#HTTP2_JSON} == 1
Expand Down Expand Up @@ -570,7 +570,9 @@ public Builder connectionTtl(final Long connectionTtl) {
*
* @param keepAliveInterval interval in seconds
* @return {@link ArangoDB.Builder}
* @deprecated for removal, no longer supported since ArangoDB 3.12
*/
@Deprecated
public Builder keepAliveInterval(final Integer keepAliveInterval) {
config.setKeepAliveInterval(keepAliveInterval);
return this;
Expand Down
3 changes: 1 addition & 2 deletions core/src/main/java/com/arangodb/ArangoDBAsync.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@ public interface ArangoDBAsync extends ArangoSerdeAccessor {
void shutdown();

/**
* Updates the JWT used for requests authorization. It does not change already existing VST connections, since VST
* connections are authenticated during the initialization phase.
* Updates the JWT used for requests authorization.
*
* @param jwt token to use
*/
Expand Down
2 changes: 2 additions & 0 deletions core/src/main/java/com/arangodb/Protocol.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@ public enum Protocol {
* VelocyStream
*
* @see <a href="https://github.com/arangodb/velocystream">VelocyStream specification</a>
* @deprecated for removal, no longer supported since ArangoDB 3.12
*/
@Deprecated
VST,

/**
Expand Down
4 changes: 0 additions & 4 deletions core/src/main/java/com/arangodb/internal/ArangoDefaults.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,6 @@
*/
public final class ArangoDefaults {

public static final int INTEGER_BYTES = Integer.SIZE / Byte.SIZE;
public static final int LONG_BYTES = Long.SIZE / Byte.SIZE;
public static final int CHUNK_MIN_HEADER_SIZE = INTEGER_BYTES + INTEGER_BYTES + LONG_BYTES;
public static final int CHUNK_MAX_HEADER_SIZE = CHUNK_MIN_HEADER_SIZE + LONG_BYTES;
public static final int MAX_CONNECTIONS_VST_DEFAULT = 1;
public static final int MAX_CONNECTIONS_HTTP_DEFAULT = 20;
public static final int MAX_CONNECTIONS_HTTP2_DEFAULT = 1;
Expand Down
6 changes: 1 addition & 5 deletions core/src/main/java/com/arangodb/internal/RequestType.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,7 @@ public enum RequestType {
PUT(3),
HEAD(4),
PATCH(5),
OPTIONS(6),
VSTREAM_CRED(7),
VSTREAM_REGISTER(8),
VSTREAM_STATUS(9),
ILLEGAL(10);
OPTIONS(6);

private final int type;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,7 @@ public void loadProperties(final ArangoConfigProperties properties) {
pipelining = properties.getPipelining().orElse(ArangoDefaults.DEFAULT_PIPELINING);
// FIXME: make maxConnections field Optional
maxConnections = properties.getMaxConnections().orElse(null);
// FIXME: make connectionTtl field Optional
connectionTtl = properties.getConnectionTtl().orElse(null);
connectionTtl = properties.getConnectionTtl().orElse(ArangoDefaults.DEFAULT_CONNECTION_TTL_HTTP);
// FIXME: make keepAliveInterval field Optional
keepAliveInterval = properties.getKeepAliveInterval().orElse(null);
acquireHostList = properties.getAcquireHostList().orElse(ArangoDefaults.DEFAULT_ACQUIRE_HOST_LIST);
Expand Down Expand Up @@ -215,9 +214,6 @@ public void setMaxConnections(Integer maxConnections) {
}

public Long getConnectionTtl() {
if (connectionTtl == null && getProtocol() != Protocol.VST) {
connectionTtl = ArangoDefaults.DEFAULT_CONNECTION_TTL_HTTP;
}
return connectionTtl;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
com.arangodb.http.HttpProtocolProvider
com.arangodb.vst.VstProtocolProvider
4 changes: 0 additions & 4 deletions spotbugs/spotbugs-exclude.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@
<Package name="~.*velocystream.*"/>
</Match>

<Match>
<Package name="~.*vst.*"/>
</Match>

<Match>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,13 @@

import com.arangodb.entity.ArangoDBVersion;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;

import javax.net.ssl.SSLHandshakeException;
import java.util.List;
import utils.ProtocolSource;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowable;
import static org.junit.jupiter.api.Assumptions.assumeTrue;


/**
Expand All @@ -39,10 +38,8 @@
class ArangoSslTest extends BaseTest {

@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void connect(Protocol protocol) {
assumeTrue(protocol != Protocol.VST);

final ArangoDB arangoDB = new ArangoDB.Builder()
.protocol(protocol)
.host("172.28.0.1", 8529)
Expand All @@ -56,10 +53,8 @@ void connect(Protocol protocol) {
}

@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void connectWithoutValidSslContext(Protocol protocol) {
assumeTrue(protocol != Protocol.VST);

final ArangoDB arangoDB = new ArangoDB.Builder()
.protocol(protocol)
.host("172.28.0.1", 8529)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,12 @@
import io.vertx.core.net.ProxyOptions;
import io.vertx.core.net.ProxyType;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
import utils.ProtocolSource;

import java.util.List;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowable;
import static org.junit.jupiter.api.Assumptions.assumeTrue;


/**
Expand All @@ -41,10 +40,8 @@
class HttpProxyTest extends BaseTest {

@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void httpProxy(Protocol protocol) {
assumeTrue(protocol != Protocol.VST);

final ArangoDB arangoDB = new ArangoDB.Builder()
.protocol(protocol)
.host("172.28.0.1", 8529)
Expand All @@ -67,10 +64,8 @@ void httpProxy(Protocol protocol) {


@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void httpProxyWrongPassword(Protocol protocol) {
assumeTrue(protocol != Protocol.VST);

final ArangoDB arangoDB = new ArangoDB.Builder()
.protocol(protocol)
.host("172.28.0.1", 8529)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,13 @@
import com.arangodb.entity.ArangoDBVersion;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
import utils.TestUtils;
import utils.ProtocolSource;

import javax.net.ssl.SSLHandshakeException;
import java.util.List;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowable;
import static org.junit.jupiter.api.Assumptions.assumeTrue;

/**
* @author Mark Vollmary
Expand All @@ -41,9 +39,8 @@ class SslExampleTest extends BaseTest {

@Disabled("Only local execution, in CircleCI port 8529 exposed to localhost")
@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void connect(Protocol protocol) {
assumeTrue(!protocol.equals(Protocol.VST) || TestUtils.isLessThanVersion(version.getVersion(), 3, 12, 0));
final ArangoDB arangoDB = new ArangoDB.Builder()
.host("localhost", 8529)
.password("test")
Expand All @@ -56,9 +53,8 @@ void connect(Protocol protocol) {
}

@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void noopHostnameVerifier(Protocol protocol) {
assumeTrue(!protocol.equals(Protocol.VST) || TestUtils.isLessThanVersion(version.getVersion(), 3, 12, 0));
final ArangoDB arangoDB = new ArangoDB.Builder()
.host("172.28.0.1", 8529)
.password("test")
Expand All @@ -72,9 +68,8 @@ void noopHostnameVerifier(Protocol protocol) {
}

@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void hostnameVerifierFailure(Protocol protocol) {
assumeTrue(protocol != Protocol.VST, "VST does not support hostname verification");
final ArangoDB arangoDB = new ArangoDB.Builder()
.host("172.28.0.1", 8529)
.password("test")
Expand Down
19 changes: 19 additions & 0 deletions test-functional/src/test-ssl/java/utils/ProtocolSource.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package utils;

import com.arangodb.Protocol;
import org.junit.jupiter.params.provider.EnumSource;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@EnumSource(
value = Protocol.class,
mode = EnumSource.Mode.EXCLUDE,
names = "VST"
)
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ProtocolSource {
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import com.arangodb.internal.serde.SerdeUtils;
import com.arangodb.model.*;
import com.arangodb.model.LogOptions.SortOrder;
import com.arangodb.util.ProtocolSource;
import com.arangodb.util.RawJson;
import com.arangodb.util.SlowTest;
import com.arangodb.util.UnicodeUtils;
Expand All @@ -34,7 +35,6 @@
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
import org.junit.jupiter.params.provider.MethodSource;

import java.util.*;
Expand Down Expand Up @@ -358,10 +358,8 @@ void updateUserDefaultCollectionAccess(ArangoDBAsync arangoDB) {
}

@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void authenticationFailPassword(Protocol protocol) {
assumeTrue(!protocol.equals(Protocol.VST) || BaseJunit5.isLessThanVersion(3, 12));

final ArangoDBAsync arangoDB = new ArangoDB.Builder()
.loadProperties(config)
.protocol(protocol)
Expand All @@ -375,10 +373,8 @@ void authenticationFailPassword(Protocol protocol) {
}

@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void authenticationFailUser(Protocol protocol) {
assumeTrue(!protocol.equals(Protocol.VST) || BaseJunit5.isLessThanVersion(3, 12));

final ArangoDBAsync arangoDB = new ArangoDB.Builder()
.loadProperties(config)
.protocol(protocol)
Expand Down
10 changes: 3 additions & 7 deletions test-functional/src/test/java/com/arangodb/ArangoDBTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import com.arangodb.internal.serde.SerdeUtils;
import com.arangodb.model.*;
import com.arangodb.model.LogOptions.SortOrder;
import com.arangodb.util.ProtocolSource;
import com.arangodb.util.RawJson;
import com.arangodb.util.SlowTest;
import com.arangodb.util.UnicodeUtils;
Expand All @@ -36,7 +37,6 @@
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
import org.junit.jupiter.params.provider.MethodSource;

import java.util.*;
Expand Down Expand Up @@ -360,10 +360,8 @@ void updateUserDefaultCollectionAccess(ArangoDB arangoDB) {
}

@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void authenticationFailPassword(Protocol protocol) {
assumeTrue(!protocol.equals(Protocol.VST) || BaseJunit5.isLessThanVersion(3, 12));

final ArangoDB arangoDB = new ArangoDB.Builder()
.loadProperties(config)
.protocol(protocol)
Expand All @@ -375,10 +373,8 @@ void authenticationFailPassword(Protocol protocol) {
}

@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void authenticationFailUser(Protocol protocol) {
assumeTrue(!protocol.equals(Protocol.VST) || BaseJunit5.isLessThanVersion(3, 12));

final ArangoDB arangoDB = new ArangoDB.Builder()
.loadProperties(config)
.protocol(protocol)
Expand Down
2 changes: 1 addition & 1 deletion test-functional/src/test/java/com/arangodb/BaseJunit5.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class BaseJunit5 {
private static final ServerRole role = adb.getRole();

private static final List<Named<ArangoDB>> adbs = Arrays.stream(Protocol.values())
.filter(p -> !p.equals(Protocol.VST) || isLessThanVersion(3, 12))
.filter(p -> !p.equals(Protocol.VST))
.map(p -> Named.of(p.toString(), new ArangoDB.Builder()
.loadProperties(config)
.protocol(p)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.arangodb;

import com.arangodb.config.ArangoConfigProperties;
import com.arangodb.util.ProtocolSource;
import com.fasterxml.jackson.databind.JsonNode;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;

import java.util.Locale;
import java.util.UUID;
Expand All @@ -20,20 +20,19 @@
class CompressionTest extends BaseJunit5 {

@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void gzip(Protocol protocol) {
doTest(protocol, Compression.GZIP);
}

@ParameterizedTest
@EnumSource(Protocol.class)
@ProtocolSource
void deflate(Protocol protocol) {
doTest(protocol, Compression.DEFLATE);
}

void doTest(Protocol protocol, Compression compression) {
assumeTrue(isAtLeastVersion(3, 12));
assumeTrue(protocol != Protocol.VST);

ArangoDB adb = new ArangoDB.Builder()
.loadProperties(ArangoConfigProperties.fromFile())
Expand Down
Loading