def test_assertions(self): # assert_exception_test mock_session = Mock( ** {'execute.side_effect': AlreadyExists("Dummy exception message.")}) assert_exception(mock_session, "DUMMY QUERY", expected=AlreadyExists) # assert_unavailable_test mock_session = Mock(**{ 'execute.side_effect': Unavailable("Dummy Unavailabile message.") }) assert_unavailable(mock_session.execute) # assert_invalid_test mock_session = Mock(**{ 'execute.side_effect': InvalidRequest("Dummy InvalidRequest message.") }) assert_invalid(mock_session, "DUMMY QUERY") # assert_unauthorized_test mock_session = Mock(**{ 'execute.side_effect': Unauthorized("Dummy Unauthorized message.") }) assert_unauthorized(mock_session, "DUMMY QUERY", None) # assert_one_test mock_session = Mock() mock_session.execute = Mock(return_value=[[1, 1]]) assert_one(mock_session, "SELECT * FROM test", [1, 1]) # assert_none_test mock_session = Mock() mock_session.execute = Mock(return_value=[]) assert_none(mock_session, "SELECT * FROM test") # assert_all_test mock_session = Mock() mock_session.execute = Mock(return_value=[[i, i] for i in range(0, 10)]) assert_all(mock_session, "SELECT k, v FROM test", [[i, i] for i in range(0, 10)], ignore_order=True) # assert_almost_equal_test assert_almost_equal(1, 1.1, 1.2, 1.9, error=1.0) # assert_row_count_test mock_session = Mock() mock_session.execute = Mock(return_value=[[1]]) assert_row_count(mock_session, 'test', 1) # assert_length_equal_test check = [1, 2, 3, 4] assert_length_equal(check, 4)
def assertions_test(self): # assert_exception_test mock_session = Mock(**{'execute.side_effect': AlreadyExists("Dummy exception message.")}) assert_exception(mock_session, "DUMMY QUERY", expected=AlreadyExists) # assert_unavailable_test mock_session = Mock(**{'execute.side_effect': Unavailable("Dummy Unavailabile message.")}) assert_unavailable(mock_session.execute) # assert_invalid_test mock_session = Mock(**{'execute.side_effect': InvalidRequest("Dummy InvalidRequest message.")}) assert_invalid(mock_session, "DUMMY QUERY") # assert_unauthorized_test mock_session = Mock(**{'execute.side_effect': Unauthorized("Dummy Unauthorized message.")}) assert_unauthorized(mock_session, "DUMMY QUERY", None) # assert_one_test mock_session = Mock() mock_session.execute = Mock(return_value=[[1, 1]]) assert_one(mock_session, "SELECT * FROM test", [1, 1]) # assert_none_test mock_session = Mock() mock_session.execute = Mock(return_value=[]) assert_none(mock_session, "SELECT * FROM test") # assert_all_test mock_session = Mock() mock_session.execute = Mock(return_value=[[i, i] for i in range(0, 10)]) assert_all(mock_session, "SELECT k, v FROM test", [[i, i] for i in range(0, 10)], ignore_order=True) # assert_almost_equal_test assert_almost_equal(1, 1.1, 1.2, 1.9, error=1.0) # assert_row_count_test mock_session = Mock() mock_session.execute = Mock(return_value=[[1]]) assert_row_count(mock_session, 'test', 1) # assert_length_equal_test check = [1, 2, 3, 4] assert_length_equal(check, 4)
def test_local_system_keyspaces(self): cluster = self.cluster cluster.populate(1).start() node = cluster.nodelist()[0] session = self.patient_cql_connection(node) # ALTER KEYSPACE should fail for system and system_schema stmt = """ ALTER KEYSPACE system WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1' : '1'};""" assert_exception(session, stmt, expected=Unauthorized) stmt = """ ALTER KEYSPACE system_schema WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1' : '1'};""" assert_exception(session, stmt, expected=Unauthorized) # DROP KEYSPACE should fail for system and system_schema assert_exception(session, 'DROP KEYSPACE system;', expected=Unauthorized) assert_exception(session, 'DROP KEYSPACE system_schema;', expected=Unauthorized) # CREATE TABLE should fail in system and system_schema assert_exception(session, 'CREATE TABLE system.new_table (id int PRIMARY KEY);', expected=Unauthorized) assert_exception(session, 'CREATE TABLE system_schema.new_table (id int PRIMARY KEY);', expected=Unauthorized) # ALTER TABLE should fail in system and system_schema assert_exception(session, "ALTER TABLE system.local WITH comment = '';", expected=Unauthorized) assert_exception(session, "ALTER TABLE system_schema.tables WITH comment = '';", expected=Unauthorized) # DROP TABLE should fail in system and system_schema assert_exception(session, 'DROP TABLE system.local;', expected=Unauthorized) assert_exception(session, 'DROP TABLE system_schema.tables;', expected=Unauthorized)
def test_replicated_system_keyspaces(self): cluster = self.cluster cluster.populate(1).start() node = cluster.nodelist()[0] session = self.patient_cql_connection(node) # ALTER KEYSPACE should work for system_auth, system_distributed, and system_traces stmt = """ ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1' : '1'};""" assert_none(session, stmt) stmt = """ ALTER KEYSPACE system_distributed WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1' : '1'};""" assert_none(session, stmt) stmt = """ ALTER KEYSPACE system_traces WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1' : '1'};""" assert_none(session, stmt) stmt = """ SELECT replication FROM system_schema.keyspaces WHERE keyspace_name IN ('system_auth', 'system_distributed', 'system_traces');""" replication = {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'datacenter1': '1'} assert_all(session, stmt, [[replication], [replication], [replication]]) # DROP KEYSPACE should fail for system_auth, system_distributed, and system_traces assert_exception(session, 'DROP KEYSPACE system_auth;', expected=Unauthorized) assert_exception(session, 'DROP KEYSPACE system_distributed;', expected=Unauthorized) assert_exception(session, 'DROP KEYSPACE system_traces;', expected=Unauthorized) # CREATE TABLE should fail in system_auth, system_distributed, and system_traces assert_exception(session, 'CREATE TABLE system_auth.new_table (id int PRIMARY KEY);', expected=Unauthorized) assert_exception(session, 'CREATE TABLE system_distributed.new_table (id int PRIMARY KEY);', expected=Unauthorized) assert_exception(session, 'CREATE TABLE system_traces.new_table (id int PRIMARY KEY);', expected=Unauthorized) # ALTER TABLE should fail in system_auth, system_distributed, and system_traces assert_exception(session, "ALTER TABLE system_auth.roles WITH comment = '';", expected=Unauthorized) assert_exception(session, "ALTER TABLE system_distributed.repair_history WITH comment = '';", expected=Unauthorized) assert_exception(session, "ALTER TABLE system_traces.sessions WITH comment = '';", expected=Unauthorized) # DROP TABLE should fail in system_auth, system_distributed, and system_traces assert_exception(session, 'DROP TABLE system_auth.roles;', expected=Unauthorized) assert_exception(session, 'DROP TABLE system_distributed.repair_history;', expected=Unauthorized) assert_exception(session, 'DROP TABLE system_traces.sessions;', expected=Unauthorized)
def test_replicated_system_keyspaces(self): cluster = self.cluster cluster.populate(1).start() node = cluster.nodelist()[0] session = self.patient_cql_connection(node) # ALTER KEYSPACE should work for system_auth, system_distributed, and system_traces stmt = """ ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1' : '1'};""" assert_none(session, stmt) stmt = """ ALTER KEYSPACE system_distributed WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1' : '1'};""" assert_none(session, stmt) stmt = """ ALTER KEYSPACE system_traces WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1' : '1'};""" assert_none(session, stmt) stmt = """ SELECT replication FROM system_schema.keyspaces WHERE keyspace_name IN ('system_auth', 'system_distributed', 'system_traces');""" replication = { 'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'datacenter1': '1' } assert_all(session, stmt, [[replication], [replication], [replication]]) # DROP KEYSPACE should fail for system_auth, system_distributed, and system_traces assert_exception(session, 'DROP KEYSPACE system_auth;', expected=Unauthorized) assert_exception(session, 'DROP KEYSPACE system_distributed;', expected=Unauthorized) assert_exception(session, 'DROP KEYSPACE system_traces;', expected=Unauthorized) # CREATE TABLE should fail in system_auth, system_distributed, and system_traces assert_exception( session, 'CREATE TABLE system_auth.new_table (id int PRIMARY KEY);', expected=Unauthorized) assert_exception( session, 'CREATE TABLE system_distributed.new_table (id int PRIMARY KEY);', expected=Unauthorized) assert_exception( session, 'CREATE TABLE system_traces.new_table (id int PRIMARY KEY);', expected=Unauthorized) # ALTER TABLE should fail in system_auth, system_distributed, and system_traces assert_exception(session, "ALTER TABLE system_auth.roles WITH comment = '';", expected=Unauthorized) assert_exception( session, "ALTER TABLE system_distributed.repair_history WITH comment = '';", expected=Unauthorized) assert_exception( session, "ALTER TABLE system_traces.sessions WITH comment = '';", expected=Unauthorized) # DROP TABLE should fail in system_auth, system_distributed, and system_traces assert_exception(session, 'DROP TABLE system_auth.roles;', expected=Unauthorized) assert_exception(session, 'DROP TABLE system_distributed.repair_history;', expected=Unauthorized) assert_exception(session, 'DROP TABLE system_traces.sessions;', expected=Unauthorized)
def test_local_system_keyspaces(self): cluster = self.cluster cluster.populate(1).start() node = cluster.nodelist()[0] session = self.patient_cql_connection(node) # ALTER KEYSPACE should fail for system and system_schema stmt = """ ALTER KEYSPACE system WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1' : '1'};""" assert_exception(session, stmt, expected=Unauthorized) stmt = """ ALTER KEYSPACE system_schema WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1' : '1'};""" assert_exception(session, stmt, expected=Unauthorized) # DROP KEYSPACE should fail for system and system_schema assert_exception(session, 'DROP KEYSPACE system;', expected=Unauthorized) assert_exception(session, 'DROP KEYSPACE system_schema;', expected=Unauthorized) # CREATE TABLE should fail in system and system_schema assert_exception(session, 'CREATE TABLE system.new_table (id int PRIMARY KEY);', expected=Unauthorized) assert_exception( session, 'CREATE TABLE system_schema.new_table (id int PRIMARY KEY);', expected=Unauthorized) # ALTER TABLE should fail in system and system_schema assert_exception(session, "ALTER TABLE system.local WITH comment = '';", expected=Unauthorized) assert_exception(session, "ALTER TABLE system_schema.tables WITH comment = '';", expected=Unauthorized) # DROP TABLE should fail in system and system_schema assert_exception(session, 'DROP TABLE system.local;', expected=Unauthorized) assert_exception(session, 'DROP TABLE system_schema.tables;', expected=Unauthorized)