public class SessionUtils extends Object
Session instances manually.
Use this if you need to initialize a new session instance in each test method:
public static @ClassRule CcmRule server = CcmRule.getInstance();
// Or: public static @ClassRule SimulacronRule server =
// new SimulacronRule(ClusterSpec.builder().withNodes(3));
public void @Test should_do_something() {
try (Session session = TestUtils.newSession(server)) {
session.execute("some query");
}
}
The instances returned by newSession() methods are not managed automatically, you need to
close them yourself (this is done with a try-with-resources block in the example above).
If you can share the same Session instance between all test methods, SessionRule provides a simpler alternative.
| Modifier and Type | Field and Description |
|---|---|
static String |
SESSION_BUILDER_CLASS_PROPERTY |
| Constructor and Description |
|---|
SessionUtils() |
| Modifier and Type | Method and Description |
|---|---|
static <SessionT extends com.datastax.oss.driver.api.core.session.Session> |
baseBuilder() |
static com.datastax.oss.driver.api.core.config.ProgrammaticDriverConfigLoaderBuilder |
configLoaderBuilder() |
static void |
createKeyspace(com.datastax.oss.driver.api.core.session.Session session,
com.datastax.oss.driver.api.core.CqlIdentifier keyspace)
Calls
createKeyspace(Session, CqlIdentifier, DriverExecutionProfile) with slowProfile(Session) as the third argument. |
static void |
createKeyspace(com.datastax.oss.driver.api.core.session.Session session,
com.datastax.oss.driver.api.core.CqlIdentifier keyspace,
com.datastax.oss.driver.api.core.config.DriverExecutionProfile profile)
Creates a keyspace through the given session instance, with the given profile.
|
static void |
dropKeyspace(com.datastax.oss.driver.api.core.session.Session session,
com.datastax.oss.driver.api.core.CqlIdentifier keyspace)
Calls
dropKeyspace(Session, CqlIdentifier, DriverExecutionProfile) with slowProfile(Session) as the third argument. |
static void |
dropKeyspace(com.datastax.oss.driver.api.core.session.Session session,
com.datastax.oss.driver.api.core.CqlIdentifier keyspace,
com.datastax.oss.driver.api.core.config.DriverExecutionProfile profile)
Drops a keyspace through the given session instance, with the given profile.
|
static <SessionT extends com.datastax.oss.driver.api.core.session.Session> |
newSession(CassandraResourceRule cassandraResource)
Creates a new instance of the driver's default
Session implementation, using the nodes
in the 0th DC of the provided Cassandra resource as contact points, and the default
configuration augmented with the provided options. |
static <SessionT extends com.datastax.oss.driver.api.core.session.Session> |
newSession(CassandraResourceRule cassandraResource,
com.datastax.oss.driver.api.core.CqlIdentifier keyspace) |
static <SessionT extends com.datastax.oss.driver.api.core.session.Session> |
newSession(CassandraResourceRule cassandraResourceRule,
com.datastax.oss.driver.api.core.CqlIdentifier keyspace,
com.datastax.oss.driver.api.core.config.DriverConfigLoader loader) |
static <SessionT extends com.datastax.oss.driver.api.core.session.Session> |
newSession(CassandraResourceRule cassandraResource,
com.datastax.oss.driver.api.core.CqlIdentifier keyspace,
com.datastax.oss.driver.api.core.metadata.NodeStateListener nodeStateListener,
com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener schemaChangeListener,
Predicate<com.datastax.oss.driver.api.core.metadata.Node> nodeFilter) |
static <SessionT extends com.datastax.oss.driver.api.core.session.Session> |
newSession(CassandraResourceRule cassandraResource,
com.datastax.oss.driver.api.core.CqlIdentifier keyspace,
com.datastax.oss.driver.api.core.metadata.NodeStateListener nodeStateListener,
com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener schemaChangeListener,
Predicate<com.datastax.oss.driver.api.core.metadata.Node> nodeFilter,
com.datastax.oss.driver.api.core.config.DriverConfigLoader loader) |
static <SessionT extends com.datastax.oss.driver.api.core.session.Session> |
newSession(CassandraResourceRule cassandraResourceRule,
com.datastax.oss.driver.api.core.config.DriverConfigLoader loader) |
static com.datastax.oss.driver.api.core.config.DriverExecutionProfile |
slowProfile(com.datastax.oss.driver.api.core.session.Session session)
Builds a profile derived from the given cluster's default profile, with a higher request
timeout (30 seconds) that is appropriate for DML operations.
|
static com.datastax.oss.driver.api.core.CqlIdentifier |
uniqueKeyspaceId()
Generates a keyspace identifier that is guaranteed to be unique in the current classloader.
|
public static final String SESSION_BUILDER_CLASS_PROPERTY
public static <SessionT extends com.datastax.oss.driver.api.core.session.Session> com.datastax.oss.driver.api.core.session.SessionBuilder<?,SessionT> baseBuilder()
public static com.datastax.oss.driver.api.core.config.ProgrammaticDriverConfigLoaderBuilder configLoaderBuilder()
public static <SessionT extends com.datastax.oss.driver.api.core.session.Session> SessionT newSession(CassandraResourceRule cassandraResource)
Session implementation, using the nodes
in the 0th DC of the provided Cassandra resource as contact points, and the default
configuration augmented with the provided options.public static <SessionT extends com.datastax.oss.driver.api.core.session.Session> SessionT newSession(CassandraResourceRule cassandraResource, com.datastax.oss.driver.api.core.CqlIdentifier keyspace)
public static <SessionT extends com.datastax.oss.driver.api.core.session.Session> SessionT newSession(CassandraResourceRule cassandraResourceRule, com.datastax.oss.driver.api.core.config.DriverConfigLoader loader)
public static <SessionT extends com.datastax.oss.driver.api.core.session.Session> SessionT newSession(CassandraResourceRule cassandraResourceRule, com.datastax.oss.driver.api.core.CqlIdentifier keyspace, com.datastax.oss.driver.api.core.config.DriverConfigLoader loader)
public static <SessionT extends com.datastax.oss.driver.api.core.session.Session> SessionT newSession(CassandraResourceRule cassandraResource, com.datastax.oss.driver.api.core.CqlIdentifier keyspace, com.datastax.oss.driver.api.core.metadata.NodeStateListener nodeStateListener, com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener schemaChangeListener, Predicate<com.datastax.oss.driver.api.core.metadata.Node> nodeFilter)
public static <SessionT extends com.datastax.oss.driver.api.core.session.Session> SessionT newSession(CassandraResourceRule cassandraResource, com.datastax.oss.driver.api.core.CqlIdentifier keyspace, com.datastax.oss.driver.api.core.metadata.NodeStateListener nodeStateListener, com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener schemaChangeListener, Predicate<com.datastax.oss.driver.api.core.metadata.Node> nodeFilter, com.datastax.oss.driver.api.core.config.DriverConfigLoader loader)
public static com.datastax.oss.driver.api.core.CqlIdentifier uniqueKeyspaceId()
This is useful to isolate tests that share a common server resource.
public static void createKeyspace(com.datastax.oss.driver.api.core.session.Session session,
com.datastax.oss.driver.api.core.CqlIdentifier keyspace,
com.datastax.oss.driver.api.core.config.DriverExecutionProfile profile)
public static void createKeyspace(com.datastax.oss.driver.api.core.session.Session session,
com.datastax.oss.driver.api.core.CqlIdentifier keyspace)
createKeyspace(Session, CqlIdentifier, DriverExecutionProfile) with slowProfile(Session) as the third argument.
Note that this creates a derived profile for each invocation, which has a slight performance
overhead. Instead, consider building the profile manually with slowProfile(Session),
and storing it in a local variable so it can be reused.
public static void dropKeyspace(com.datastax.oss.driver.api.core.session.Session session,
com.datastax.oss.driver.api.core.CqlIdentifier keyspace,
com.datastax.oss.driver.api.core.config.DriverExecutionProfile profile)
public static void dropKeyspace(com.datastax.oss.driver.api.core.session.Session session,
com.datastax.oss.driver.api.core.CqlIdentifier keyspace)
dropKeyspace(Session, CqlIdentifier, DriverExecutionProfile) with slowProfile(Session) as the third argument.
Note that this creates a derived profile for each invocation, which has a slight performance
overhead. Instead, consider building the profile manually with slowProfile(Session),
and storing it in a local variable so it can be reused.
public static com.datastax.oss.driver.api.core.config.DriverExecutionProfile slowProfile(com.datastax.oss.driver.api.core.session.Session session)
Copyright © 2017–2023. All rights reserved.