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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
import wee_slack
import pytest
@pytest.mark.parametrize('case', (
{
'input_message': {'attachments': [{
'title': 'Title',
}]},
'input_text_before': "Text before",
'output': "\n".join([
"",
"Title",
]),
},
{
'input_message': {'attachments': [{
'title': 'Title',
'text': 'Attachment text',
'title_link': 'http://title.link',
'from_url': 'http://from.url',
'fallback': 'Fallback',
}]},
'input_text_before': "",
'output': "\n".join([
"Title (http://title.link)",
"http://from.url",
"Attachment text",
]),
},
{
'input_message': {'attachments': [{
'title': 'Title',
'text': 'Attachment text',
'title_link': 'http://link',
'from_url': 'http://link',
}]},
'input_text_before': "http://link",
'output': "\n".join([
"",
"Title",
"Attachment text",
]),
},
{
'input_message': {'attachments': [{
'title': 'Title',
'text': 'Attachment text\n\n\nWith multiple lines',
}]},
'input_text_before': "",
'output': "\n".join([
"Title",
"Attachment text\nWith multiple lines",
]),
},
{
'input_message': {'attachments': [{
'title': 'Title',
'author_name': 'Author',
'pretext': 'Pretext',
'text': 'Attachment text',
'title_link': 'http://title.link',
'from_url': 'http://from.url',
}]},
'input_text_before': "",
'output': "\n".join([
"Pretext",
"Author: Title (http://title.link)",
"http://from.url",
"Attachment text",
]),
},
{
'input_message': {'attachments': [{
'author_name': 'Author',
'text': 'Attachment text',
'title_link': 'http://title.link',
'from_url': 'http://from.url',
}]},
'input_text_before': "",
'output': "\n".join([
"http://from.url",
"Author: Attachment text",
]),
},
{
'input_message': {'attachments': [{
'fallback': 'Fallback',
}]},
'input_text_before': "",
'output': "Fallback",
},
{
'input_message': {'attachments': [{
'title': 'Title',
'fields': [{
'title': 'First field title',
'value': 'First field value',
}, {
'title': '',
'value': 'Second field value',
}],
}]},
'input_text_before': "",
'output': "\n".join([
"Title",
"First field title First field value",
"Second field value",
]),
},
))
def test_unwrap_attachments(case):
result = wee_slack.unwrap_attachments(
case['input_message'], case['input_text_before'])
assert result == case['output']
|