mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-12 19:02:12 +00:00
test/boost/schema_loader_test.cc: Explicitly enable rf_rack_valid_keyspaces
The test cases in the file aren't run via an existing interface like `do_with_cql_env`, but they rely on a more direct approach -- calling one of the schema loader tools. Because of that, they manage the `db::config` object on their own and don't enable the configuration option `rf_rack_valid_keyspaces`. That hasn't been a problem so far since the test doesn't attempt to create RF-rack-invalid keyspaces anyway. However, in an upcoming commit, we're going to further restrict views with tablets and require that the option is enabled. To prepare for that, we enable the option in all test cases. It's only necessary in a small subset of them, but it won't hurt the enforce it everywhere, so let's do that. Refs scylladb/scylladb#23958
This commit is contained in:
@@ -25,17 +25,23 @@
|
||||
|
||||
SEASTAR_THREAD_TEST_CASE(test_empty) {
|
||||
db::config dbcfg;
|
||||
dbcfg.rf_rack_valid_keyspaces(true);
|
||||
|
||||
BOOST_REQUIRE_THROW(tools::load_schemas(dbcfg, "").get(), std::exception);
|
||||
BOOST_REQUIRE_THROW(tools::load_schemas(dbcfg, ";").get(), std::exception);
|
||||
}
|
||||
|
||||
SEASTAR_THREAD_TEST_CASE(test_keyspace_only) {
|
||||
db::config dbcfg;
|
||||
dbcfg.rf_rack_valid_keyspaces(true);
|
||||
|
||||
BOOST_REQUIRE_EQUAL(tools::load_schemas(dbcfg, "CREATE KEYSPACE ks WITH replication = {'class': 'NetworkTopologyStrategy', 'replication_factor': 1};").get().size(), 0);
|
||||
}
|
||||
|
||||
SEASTAR_THREAD_TEST_CASE(test_single_table) {
|
||||
db::config dbcfg;
|
||||
dbcfg.rf_rack_valid_keyspaces(true);
|
||||
|
||||
BOOST_REQUIRE_EQUAL(tools::load_schemas(dbcfg, "CREATE TABLE ks.cf (pk int PRIMARY KEY, v int)").get().size(), 1);
|
||||
BOOST_REQUIRE_EQUAL(tools::load_schemas(dbcfg, "CREATE TABLE ks.cf (pk int PRIMARY KEY, v map<int, int>)").get().size(), 1);
|
||||
BOOST_REQUIRE_EQUAL(tools::load_schemas(dbcfg, "CREATE KEYSPACE ks WITH replication = {'class': 'NetworkTopologyStrategy', 'replication_factor': 1}; CREATE TABLE ks.cf (pk int PRIMARY KEY, v int);").get().size(), 1);
|
||||
@@ -43,6 +49,8 @@ SEASTAR_THREAD_TEST_CASE(test_single_table) {
|
||||
|
||||
SEASTAR_THREAD_TEST_CASE(test_keyspace_replication_strategy) {
|
||||
db::config dbcfg;
|
||||
dbcfg.rf_rack_valid_keyspaces(true);
|
||||
|
||||
BOOST_REQUIRE_EQUAL(tools::load_schemas(dbcfg, "CREATE KEYSPACE ks WITH replication = {'class': 'NetworkTopologyStrategy', 'replication_factor': 1}; CREATE TABLE ks.cf (pk int PRIMARY KEY, v int);").get().size(), 1);
|
||||
BOOST_REQUIRE_EQUAL(tools::load_schemas(dbcfg, "CREATE KEYSPACE ks WITH replication = {'class': 'NetworkTopologyStrategy', 'replication_factor': 3}; CREATE TABLE ks.cf (pk int PRIMARY KEY, v int);").get().size(), 1);
|
||||
BOOST_REQUIRE_EQUAL(tools::load_schemas(dbcfg, "CREATE KEYSPACE ks WITH replication = {'class': 'NetworkTopologyStrategy', 'mydc1': 1, 'mydc2': 4}; CREATE TABLE ks.cf (pk int PRIMARY KEY, v int);").get().size(), 1);
|
||||
@@ -50,6 +58,8 @@ SEASTAR_THREAD_TEST_CASE(test_keyspace_replication_strategy) {
|
||||
|
||||
SEASTAR_THREAD_TEST_CASE(test_multiple_tables) {
|
||||
db::config dbcfg;
|
||||
dbcfg.rf_rack_valid_keyspaces(true);
|
||||
|
||||
BOOST_REQUIRE_EQUAL(tools::load_schemas(dbcfg, "CREATE TABLE ks.cf1 (pk int PRIMARY KEY, v int); CREATE TABLE ks.cf2 (pk int PRIMARY KEY, v int)").get().size(), 2);
|
||||
BOOST_REQUIRE_EQUAL(tools::load_schemas(dbcfg, "CREATE TABLE ks.cf1 (pk int PRIMARY KEY, v int); CREATE TABLE ks.cf2 (pk int PRIMARY KEY, v int);").get().size(), 2);
|
||||
BOOST_REQUIRE_EQUAL(tools::load_schemas(
|
||||
@@ -70,6 +80,8 @@ SEASTAR_THREAD_TEST_CASE(test_multiple_tables) {
|
||||
|
||||
SEASTAR_THREAD_TEST_CASE(test_udts) {
|
||||
db::config dbcfg;
|
||||
dbcfg.rf_rack_valid_keyspaces(true);
|
||||
|
||||
BOOST_REQUIRE_EQUAL(tools::load_schemas(
|
||||
dbcfg,
|
||||
"CREATE KEYSPACE ks WITH replication = {'class': 'NetworkTopologyStrategy', 'replication_factor': 1}; "
|
||||
@@ -107,6 +119,8 @@ SEASTAR_THREAD_TEST_CASE(test_udts) {
|
||||
|
||||
SEASTAR_THREAD_TEST_CASE(test_dropped_columns) {
|
||||
db::config dbcfg;
|
||||
dbcfg.rf_rack_valid_keyspaces(true);
|
||||
|
||||
BOOST_REQUIRE_EQUAL(tools::load_schemas(
|
||||
dbcfg,
|
||||
"CREATE TABLE ks.cf (pk int PRIMARY KEY, v1 int); "
|
||||
@@ -177,6 +191,7 @@ void check_views(std::vector<schema_ptr> schemas, std::vector<view_type> views_t
|
||||
|
||||
SEASTAR_THREAD_TEST_CASE(test_materialized_view) {
|
||||
db::config dbcfg;
|
||||
dbcfg.rf_rack_valid_keyspaces(true);
|
||||
|
||||
check_views(
|
||||
tools::load_schemas(
|
||||
@@ -219,6 +234,7 @@ SEASTAR_THREAD_TEST_CASE(test_materialized_view) {
|
||||
|
||||
SEASTAR_THREAD_TEST_CASE(test_index) {
|
||||
db::config dbcfg;
|
||||
dbcfg.rf_rack_valid_keyspaces(true);
|
||||
|
||||
check_views(
|
||||
tools::load_schemas(
|
||||
@@ -269,6 +285,7 @@ SEASTAR_THREAD_TEST_CASE(test_index) {
|
||||
|
||||
SEASTAR_THREAD_TEST_CASE(test_mv_index) {
|
||||
db::config dbcfg;
|
||||
dbcfg.rf_rack_valid_keyspaces(true);
|
||||
|
||||
check_views(
|
||||
tools::load_schemas(
|
||||
@@ -308,6 +325,7 @@ void check_schema_columns(const schema& a, const schema& b, bool check_key_colum
|
||||
|
||||
void check_sstable_schema(sstables::test_env& env, std::filesystem::path sst_path, const utils::chunked_vector<mutation>& mutations, bool has_scylla_metadata) {
|
||||
db::config dbcfg;
|
||||
dbcfg.rf_rack_valid_keyspaces(true);
|
||||
|
||||
auto schema = tools::load_schema_from_sstable(dbcfg, sst_path).get();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user