示例#1
0
    def test_sub_commands(self, mock_subproc_popen):
        mock_subproc_popen.return_value \
            .communicate.return_value = ('output', 'error')
        mock_subproc_popen.return_value.returncode = 0
        mock_subproc_popen.return_value \
            .stdout.readline.side_effect = [b"placeholder"]

        hook = DbtCliHook()
        hook.run_cli('docs', 'generate')

        mock_subproc_popen.assert_called_once_with(['dbt', 'docs', 'generate'],
                                                   close_fds=True,
                                                   cwd='.',
                                                   stdout=subprocess.PIPE,
                                                   stderr=subprocess.STDOUT)
示例#2
0
    def test_vars(self, mock_subproc_popen):
        mock_subproc_popen.return_value \
            .communicate.return_value = ('output', 'error')
        mock_subproc_popen.return_value.returncode = 0
        mock_subproc_popen.return_value \
            .stdout.readline.side_effect = [b"placeholder"]

        hook = DbtCliHook(vars={"foo": "bar", "baz": "true"})
        hook.run_cli('run')

        mock_subproc_popen.assert_called_once_with(
            ['dbt', 'run', '--vars', '{"foo": "bar", "baz": "true"}'],
            close_fds=True,
            cwd='.',
            stdout=subprocess.PIPE,
            stderr=subprocess.STDOUT)
示例#3
0
    def create_hook(self):
        self.hook = DbtCliHook(profiles_dir=self.profiles_dir,
                               target=self.target,
                               dir=self.dir,
                               vars=self.vars,
                               full_refresh=self.full_refresh,
                               models=self.models,
                               exclude=self.exclude,
                               dbt_bin=self.dbt_bin,
                               verbose=self.verbose)

        return self.hook
示例#4
0
    def create_hook(self):
        self.hook = DbtCliHook(profiles_dir=self.profiles_dir,
                               target=self.target,
                               dir=self.dir,
                               vars=self.vars,
                               full_refresh=self.full_refresh,
                               data=self.data,
                               schema=self.schema,
                               models=self.models,
                               exclude=self.exclude,
                               select=self.select,
                               dbt_bin=self.dbt_bin,
                               verbose=self.verbose,
                               warn_error=self.warn_error)

        return self.hook
示例#5
0
 def __init__(self,
              profiles_dir=None,
              target=None,
              dir='.',
              vars=None,
              models=None,
              exclude=None,
              dbt_bin='dbt',
              verbose=True,
              *args,
              **kwargs):
     super(DbtBaseOperator, self).__init__(*args, **kwargs)
     self.hook = DbtCliHook(profiles_dir=profiles_dir,
                            target=target,
                            dir=dir,
                            vars=vars,
                            models=models,
                            exclude=exclude,
                            dbt_bin=dbt_bin,
                            verbose=verbose)