/
test_resources.py
47 lines (41 loc) · 1.33 KB
/
test_resources.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import responses
from dagster import execute_pipeline, solid, PipelineContextDefinition, PipelineDefinition
from dagster_slack import slack_resource
@responses.activate
def test_slack_resource():
@solid
def slack_solid(context):
assert context.resources.slack
with responses.RequestsMock() as rsps:
rsps.add(
rsps.POST,
'https://slack.com/api/chat.postMessage',
status=200,
json={
'ok': True,
'channel': 'SOME_CHANNEL',
'ts': '1555993892.000300',
'headers': {'Content-Type': 'application/json; charset=utf-8'},
},
)
context.resources.slack.chat.post_message()
pipeline = PipelineDefinition(
name='test_slack_resource',
solids=[slack_solid],
context_definitions={
'default': PipelineContextDefinition(resources={'slack': slack_resource})
},
)
result = execute_pipeline(
pipeline,
{
'context': {
'default': {
'resources': {
'slack': {'config': {'token': 'xoxp-1234123412341234-12341234-1234'}}
}
}
}
},
)
assert result.success