diff --git a/dbt/adapters/databricks/__version__.py b/dbt/adapters/databricks/__version__.py index c91f06f44..18ce0d094 100644 --- a/dbt/adapters/databricks/__version__.py +++ b/dbt/adapters/databricks/__version__.py @@ -1 +1 @@ -version: str = "1.4.1" +version: str = "v1.5.0b1" diff --git a/dev-requirements.txt b/dev-requirements.txt index 6567167a0..594cdbc20 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -22,6 +22,6 @@ pytz tox>=3.2.0 types-requests -dbt-spark==1.4.* -dbt-core==1.4.* -dbt-tests-adapter==1.4.* \ No newline at end of file +dbt-spark==1.5.0b4 +# dbt-core==1.4.* +dbt-tests-adapter==1.5.0rc1 diff --git a/requirements.txt b/requirements.txt index 726694017..5c71c9e5f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ databricks-sql-connector>=2.5.0 -dbt-spark==1.4.* + +dbt-spark==1.5.0b4 diff --git a/setup.py b/setup.py index e7288e9aa..700d310d1 100644 --- a/setup.py +++ b/setup.py @@ -40,7 +40,7 @@ def _get_plugin_version(): package_name = "dbt-databricks" package_version = _get_plugin_version() -dbt_spark_version = "1.4.1" +dbt_spark_version = "1.5.0b4" description = """The Databricks adapter plugin for dbt""" setup( diff --git a/tests/integration/base.py b/tests/integration/base.py index 12ac70c92..fb9e68613 100644 --- a/tests/integration/base.py +++ b/tests/integration/base.py @@ -13,8 +13,9 @@ import yaml from unittest.mock import patch -import dbt.main as dbt -from dbt import flags +from argparse import Namespace +from dbt.cli.main import dbtRunner +import dbt.flags as flags from dbt.deprecations import reset_deprecations from dbt.adapters.factory import get_adapter, reset_adapters, register_adapter from dbt.clients.jinja import template_cache @@ -87,6 +88,7 @@ def __init__(self, kwargs): self.profiles_dir = None self.project_dir = None self.__dict__.update(kwargs) + self.threads = None def _profile_from_test_name(test_name): @@ -218,14 +220,21 @@ def _generate_test_root_dir(self): return normalize(tempfile.mkdtemp(prefix="dbt-int-test-")) def setUp(self): - self.dbt_core_install_root = os.path.dirname(dbt.__file__) log_manager.reset_handlers() self.initial_dir = INITIAL_ROOT os.chdir(self.initial_dir) # before we go anywhere, collect the initial path info self._logs_dir = os.path.join(self.initial_dir, "logs", self.prefix) - setup_event_logger(self._logs_dir) - _really_makedirs(self._logs_dir) + args = Namespace( + profiles_dir=".", + project_dir=".", + target=None, + profile=None, + threads=None, + ) + flags.set_from_args(args, {}) + flags.LOG_PATH = self._logs_dir + setup_event_logger(flags.get_flags()) self.test_original_source_path = _pytest_get_test_root() self.test_root_dir = self._generate_test_root_dir() @@ -427,10 +436,10 @@ def run_dbt_and_check(self, args=None, profiles_dir=True): if profiles_dir: final_args.extend(["--profiles-dir", self.test_root_dir]) - final_args.append("--log-cache-events") logger.info("Invoking dbt with {}".format(final_args)) - return dbt.handle_and_check(final_args) + res = dbtRunner().invoke(args, log_cache_events=True, log_path=self._logs_dir) + return res.result, res.success def run_sql_file(self, path, kwargs=None): with open(path, "r") as f: diff --git a/tox.ini b/tox.ini index 17e8d083d..b3ac71857 100644 --- a/tox.ini +++ b/tox.ini @@ -37,8 +37,8 @@ deps = [testenv:integration-databricks-cluster] basepython = python3 commands = - /bin/bash -c '{envpython} -m pytest -v --profile databricks_cluster -n4 tests/functional/adapter/* {posargs}; ret=$?; [ $ret = 5 ] && exit 0 || exit $ret' /bin/bash -c '{envpython} -m pytest -v -m profile_databricks_cluster -n4 tests/integration/* {posargs}; ret=$?; [ $ret = 5 ] && exit 0 || exit $ret' + /bin/bash -c '{envpython} -m pytest -v --profile databricks_cluster -n4 tests/functional/adapter/* {posargs}; ret=$?; [ $ret = 5 ] && exit 0 || exit $ret' passenv = DBT_* PYTEST_ADDOPTS @@ -50,8 +50,8 @@ allowlist_externals = /bin/bash [testenv:integration-databricks-uc-cluster] basepython = python3 commands = - /bin/bash -c '{envpython} -m pytest -v --profile databricks_uc_cluster -n4 tests/functional/adapter/* {posargs}; ret=$?; [ $ret = 5 ] && exit 0 || exit $ret' /bin/bash -c '{envpython} -m pytest -v -m profile_databricks_uc_cluster -n4 tests/integration/* {posargs}; ret=$?; [ $ret = 5 ] && exit 0 || exit $ret' + /bin/bash -c '{envpython} -m pytest -v --profile databricks_uc_cluster -n4 tests/functional/adapter/* {posargs}; ret=$?; [ $ret = 5 ] && exit 0 || exit $ret' passenv = DBT_* PYTEST_ADDOPTS @@ -63,8 +63,8 @@ allowlist_externals = /bin/bash [testenv:integration-databricks-sql-endpoint] basepython = python3 commands = - /bin/bash -c '{envpython} -m pytest -v --profile databricks_sql_endpoint -n4 tests/functional/adapter/* {posargs}; ret=$?; [ $ret = 5 ] && exit 0 || exit $ret' /bin/bash -c '{envpython} -m pytest -v -m profile_databricks_sql_endpoint -n4 tests/integration/* {posargs}; ret=$?; [ $ret = 5 ] && exit 0 || exit $ret' + /bin/bash -c '{envpython} -m pytest -v --profile databricks_sql_endpoint -n4 tests/functional/adapter/* {posargs}; ret=$?; [ $ret = 5 ] && exit 0 || exit $ret' passenv = DBT_* PYTEST_ADDOPTS @@ -76,8 +76,8 @@ allowlist_externals = /bin/bash [testenv:integration-databricks-uc-sql-endpoint] basepython = python3 commands = - /bin/bash -c '{envpython} -m pytest -v --profile databricks_uc_sql_endpoint -n4 tests/functional/adapter/* {posargs}; ret=$?; [ $ret = 5 ] && exit 0 || exit $ret' /bin/bash -c '{envpython} -m pytest -v -m profile_databricks_uc_sql_endpoint -n4 tests/integration/* {posargs}; ret=$?; [ $ret = 5 ] && exit 0 || exit $ret' + /bin/bash -c '{envpython} -m pytest -v --profile databricks_uc_sql_endpoint -n4 tests/functional/adapter/* {posargs}; ret=$?; [ $ret = 5 ] && exit 0 || exit $ret' passenv = DBT_* PYTEST_ADDOPTS