def test_drop_database_raises_operational_error(): client = mock.Mock() client.rmdir.side_effect = EtcdKeyNotFound tree = SQLTree() tree.db = 'foo' with pytest.raises(OperationalError): drop_database(client, tree)
def test_show_tables(content, rows): response = mock.Mock() response.content = content etcd_response = EtcdResult(response) etcd_client = mock.Mock() etcd_client.read.return_value = etcd_response cols = ColumnSet() cols.add(Column('Tables_in_foo')) # print(cols) rs = ResultSet(cols, rows) tree = SQLTree() tree.db = 'foo' tree.options['full'] = False # noinspection PyTypeChecker result = show_tables(etcd_client, tree, tree.db) print("Expected: \n%s" % rs) print("Actual: \n%s" % result) # noinspection PyTypeChecker assert result == rs
def test_show_tables(mock_client, db, payload, result, cursor): response = mock.MagicMock() response.content = payload etcd_result = EtcdResult(response) tree = SQLTree() tree.db = db tree.options['full'] = False mock_client.return_value = etcd_result assert cursor._execute_show_tables(tree) == result mock_client.assert_called_once_with('/%s' % db)
def test_drop_table_calls_rmdir(db_sql_tree, db_arg): tree = SQLTree() tree.db = db_sql_tree tree.table = 'bar' etcd_client = mock.Mock() drop_table(etcd_client, tree, db=db_arg) etcd_client.rmdir.assert_called_once_with('/foo/bar', recursive=True)
def test_drop_table_raises_on_unknown_db(): tree = SQLTree() tree.db = 'foo' tree.table = 'bar' etcd_client = mock.Mock() etcd_client.read.side_effect = EtcdKeyNotFound # unknown database with pytest.raises(OperationalError): drop_table(etcd_client, tree)
def test_show_full_tables(mock_client, payload, result, etcdb_connection): cursor = etcdb_connection.cursor() assert cursor._db == 'foo' response = mock.MagicMock() response.content = payload etcd_result = EtcdResult(response) tree = SQLTree() tree.db = cursor._db tree.options['full'] = True mock_client.return_value = etcd_result assert cursor._execute_show_tables(tree) == result mock_client.assert_called_once_with('/foo')
def test_drop_table_if_exists(): tree = SQLTree() tree.db = 'foo' tree.table = 'bar' tree.options['if_exists'] = True etcd_client = mock.Mock() etcd_client.rmdir.side_effect = EtcdKeyNotFound drop_table(etcd_client, tree, db='foo') etcd_client.rmdir.assert_called_once_with('/foo/bar', recursive=True)
def test_create_table(mock_mkdir, mock_write, cursor): tree = SQLTree() tree.db = 'foo' tree.table = 'bar' tree.fields = { 'id': { 'type': 'INT', 'options': { 'nullable': False, 'primary': True } } } cursor._execute_create_table(tree) mock_mkdir.assert_called_once_with('/foo/bar') mock_write.assert_called_once_with('/foo/bar/_fields', json.dumps(tree.fields))
def test_drop_database(): client = mock.Mock() tree = SQLTree() tree.db = 'foo' drop_database(client, tree) client.rmdir.assert_called_once_with('/foo', recursive=True)