Skip to content

Commit

Permalink
Add defer to rpc test method
Browse files Browse the repository at this point in the history
  • Loading branch information
jtcohen6 committed Dec 16, 2020
1 parent 2b24a49 commit 274c301
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 0 deletions.
1 change: 1 addition & 0 deletions core/dbt/contracts/rpc.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ class RPCTestParameters(RPCCompileParameters):
data: bool = False
schema: bool = False
state: Optional[str] = None
defer: Optional[bool] = None


@dataclass
Expand Down
4 changes: 4 additions & 0 deletions core/dbt/task/rpc/project_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,10 @@ def set_args(self, params: RPCTestParameters) -> None:
self.args.schema = params.schema
if params.threads is not None:
self.args.threads = params.threads
if params.defer is None:
self.args.defer = flags.DEFER_MODE
else:
self.args.defer = params.defer

self.args.state = state_path(params.state)
self.set_previous_state()
Expand Down
6 changes: 6 additions & 0 deletions test/rpc/test_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,9 @@ def test_rpc_test_state(
querier.test(state='./state', models=['state:modified']),
)
assert len(results['results']) == 0

# a better test of defer would require multiple targets
results = querier.async_wait_for_result(
querier.run(state='./state', models=['state:modified'], defer=True)
)
assert len(results['results']) == 0
3 changes: 3 additions & 0 deletions test/rpc/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,7 @@ def test(
data: bool = None,
schema: bool = None,
request_id: int = 1,
defer: Optional[bool] = None,
state: Optional[bool] = None,
):
params = {}
Expand All @@ -348,6 +349,8 @@ def test(
params['schema'] = schema
if threads is not None:
params['threads'] = threads
if defer is not None:
params['defer'] = defer
if state is not None:
params['state'] = state
return self.request(
Expand Down

0 comments on commit 274c301

Please sign in to comment.