From af0b6bcc56efd9875d797666d7aa923d236ea4f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Jadwiszczak?= Date: Thu, 23 May 2024 08:23:26 +0200 Subject: [PATCH] test/auth_cluster/test_raft_service_levels: try to create sl in recovery --- test/auth_cluster/test_raft_service_levels.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/auth_cluster/test_raft_service_levels.py b/test/auth_cluster/test_raft_service_levels.py index 4e9ffdda9f..15a9476f9e 100644 --- a/test/auth_cluster/test_raft_service_levels.py +++ b/test/auth_cluster/test_raft_service_levels.py @@ -15,6 +15,7 @@ from test.topology.util import trigger_snapshot, wait_until_topology_upgrade_fin from test.topology.conftest import skip_mode from cassandra import ConsistencyLevel from cassandra.query import SimpleStatement +from cassandra.protocol import InvalidRequest logger = logging.getLogger(__name__) @@ -136,6 +137,14 @@ async def test_service_levels_work_during_recovery(manager: ManagerClient): assert sl_v1 not in [sl.service_level for sl in recovery_result] assert set([sl.service_level for sl in recovery_result]) == set(sls) + logging.info("Checking changes to service levels are forbidden during recovery") + with pytest.raises(InvalidRequest, match="The cluster is in recovery mode. Changes to service levels are not allowed."): + await cql.run_async(f"CREATE SERVICE LEVEL sl_{unique_name()}") + with pytest.raises(InvalidRequest, match="The cluster is in recovery mode. Changes to service levels are not allowed."): + await cql.run_async(f"ALTER SERVICE LEVEL {sls[0]} WITH timeout = 1h") + with pytest.raises(InvalidRequest, match="The cluster is in recovery mode. Changes to service levels are not allowed."): + await cql.run_async(f"DROP SERVICE LEVEL {sls[0]}") + logging.info("Restoring cluster to normal status") await asyncio.gather(*(delete_raft_topology_state(cql, h) for h in hosts)) await asyncio.gather(*(delete_raft_data_and_upgrade_state(cql, h) for h in hosts))