Skip to content

Commit 9d225ed

Browse files
committed
test: add VCR cassettes for some more annoying online tests
Known merge conflict with current master in the `search` plugin (applied a fix here that's already applied there). Can merge manually to resolve.
1 parent ff2d6e4 commit 9d225ed

File tree

14 files changed

+736
-11
lines changed

14 files changed

+736
-11
lines changed

sopel/modules/currency.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,10 +192,10 @@ def exchange(bot, match):
192192
@commands('cur', 'currency', 'exchange')
193193
@example('.cur 100 usd in btc cad eur',
194194
r'100\.0 USD is [\d\.]+ BTC, [\d\.]+ CAD, [\d\.]+ EUR',
195-
re=True)
195+
re=True, online=True)
196196
@example('.cur 100 usd in btc cad eur can aux',
197197
r'100\.0 USD is [\d\.]+ BTC, [\d\.]+ CAD, [\d\.]+ EUR, \(unsupported: CAN, AUX\)',
198-
re=True)
198+
re=True, online=True)
199199
def exchange_cmd(bot, trigger):
200200
if not trigger.group(2):
201201
return bot.reply("No search term. Usage: {}cur 100 usd in btc cad eur"

sopel/modules/isup.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ def isup_insecure(bot, trigger):
7777

7878

7979
@module.commands('isup')
80+
@module.example('.isup google.com',
81+
'http://google.com looks fine to me.',
82+
online=True, vcr=True)
8083
def isup(bot, trigger):
8184
"""Check if a website is up or not."""
8285
handle_isup(bot, trigger, secure=True)

sopel/modules/py.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def setup(bot):
4949

5050
@module.commands('py')
5151
@module.output_prefix('[py] ')
52-
@module.example('.py len([1,2,3])', '3', online=True)
52+
@module.example('.py len([1,2,3])', '3', online=True, vcr=True)
5353
def py(bot, trigger):
5454
"""Evaluate a Python expression."""
5555
if not trigger.group(2):

sopel/modules/search.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,18 @@ def duck_api(query):
9292
@commands('duck', 'ddg', 'g')
9393
# test for bad Unicode handling in py2
9494
@example(
95-
'.duck grandorder.wiki chulainn alter',
96-
r'https://grandorder.wiki/C%C3%BA_Chulainn_(Alter)',
97-
online=True)
95+
'.duck site:grandorder.wiki chulainn alter',
96+
r'https?:\/\/grandorder\.wiki\/C%C3%BA_Chulainn.*',
97+
re=True,
98+
online=True,
99+
vcr=True)
98100
# the last example (in source line order) is what .help displays
99101
@example(
100102
'.duck sopel.chat irc bot',
101103
r'https?:\/\/(sopel\.chat\/?|github\.com\/sopel-irc\/sopel)',
102104
re=True,
103-
online=True)
105+
online=True,
106+
vcr=True)
104107
def duck(bot, trigger):
105108
"""Queries DuckDuckGo for the specified input."""
106109
query = trigger.group(2)

sopel/modules/translate.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,13 @@ def tr(bot, trigger):
115115
@commands('translate', 'tr')
116116
@example('.tr :en :fr my dog',
117117
'"mon chien" (en to fr, translate.google.com)',
118-
online=True)
119-
@example('.tr מחשב', '"computer" (iw to en, translate.google.com)', online=True)
118+
online=True, vcr=True)
119+
@example('.tr מחשב',
120+
'"computer" (iw to en, translate.google.com)',
121+
online=True, vcr=True)
120122
@example('.tr mon chien',
121123
'"my dog" (fr to en, translate.google.com)',
122-
online=True)
124+
online=True, vcr=True)
123125
def tr2(bot, trigger):
124126
"""Translates a phrase, with an optional language hint."""
125127
command = trigger.group(2)

sopel/modules/url.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def shutdown(bot):
138138
@module.example(
139139
'.title https://www.google.com',
140140
'[ Google ] - www.google.com',
141-
online=True)
141+
online=True, vcr=True)
142142
def title_command(bot, trigger):
143143
"""
144144
Show the title or URL information for the given URL, or the last URL seen
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
interactions:
2+
- request:
3+
body: null
4+
headers:
5+
Accept: ['*/*']
6+
Accept-Encoding: ['gzip, deflate']
7+
Connection: [keep-alive]
8+
User-Agent: [python-requests/2.23.0]
9+
method: HEAD
10+
uri: http://google.com/
11+
response:
12+
body: {string: ''}
13+
headers:
14+
Cache-Control: ['public, max-age=2592000']
15+
Content-Length: ['219']
16+
Content-Type: [text/html; charset=UTF-8]
17+
Date: ['Tue, 19 May 2020 22:12:25 GMT']
18+
Expires: ['Thu, 18 Jun 2020 22:12:25 GMT']
19+
Location: ['http://www.google.com/']
20+
Server: [gws]
21+
X-Frame-Options: [SAMEORIGIN]
22+
X-XSS-Protection: ['0']
23+
status: {code: 301, message: Moved Permanently}
24+
version: 1
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
interactions:
2+
- request:
3+
body: null
4+
headers:
5+
Accept: ['*/*']
6+
Accept-Encoding: ['gzip, deflate']
7+
Connection: [keep-alive]
8+
User-Agent: [python-requests/2.23.0]
9+
method: GET
10+
uri: https://oblique.sopel.chat/py/len%28%5B1%2C2%2C3%5D%29
11+
response:
12+
body: {string: '3
13+
14+
'}
15+
headers:
16+
Cache-Control: [no-cache]
17+
Content-Length: ['2']
18+
Content-Type: [text/plain]
19+
Date: ['Tue, 19 May 2020 22:12:26 GMT']
20+
Server: [Google Frontend]
21+
X-Cloud-Trace-Context: [ed0f69d3ecb92a108aa223368b6282b1;o=1]
22+
status: {code: 200, message: OK}
23+
version: 1

test/vcr/modules/search/test_example_duck_0.yaml

Lines changed: 239 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
interactions:
2+
- request:
3+
body: null
4+
headers:
5+
Accept: ['*/*']
6+
Accept-Encoding: ['gzip, deflate']
7+
Connection: [keep-alive]
8+
User-Agent: [python-requests/2.23.0]
9+
method: GET
10+
uri: https://api.duckduckgo.com/?format=json&no_html=1&no_redirect=1&q=site%3Agrandorder.wiki+chulainn+alter
11+
response:
12+
body:
13+
string: !!binary |
14+
H4sIAAAAAAAAA1WPwQqDMBBE/2XPfoE3oQUFT9bSQ+khJmtciIkkK1VK/72gsepxZ2fezn6g6IVG
15+
SAESyJrAXkiuceJVWZYPUtydHTc3ehlTF2zJEpOz96o82/7CwsmRdBfBPbKA1I7GJHC1TDyvyQoV
16+
eZTH80UonXYRbMMbfexmW9e46XxxnfZKG9UIRlW7gWSA9PlKoJ6H2D9HocjqzRlGw9GzY47/ZkuH
17+
Lf/9AW7ExRVCAQAA
18+
headers:
19+
Access-Control-Allow-Origin: ['*']
20+
Cache-Control: [max-age=1]
21+
Connection: [keep-alive]
22+
Content-Encoding: [gzip]
23+
Content-Security-Policy: ['default-src https: blob: data: ''unsafe-inline''
24+
''unsafe-eval''; frame-ancestors ''self''']
25+
Content-Type: [application/x-javascript]
26+
Date: ['Tue, 19 May 2020 22:14:39 GMT']
27+
Expect-CT: [max-age=0]
28+
Expires: ['Tue, 19 May 2020 22:14:40 GMT']
29+
Referrer-Policy: [origin]
30+
Server: [nginx]
31+
Server-Timing: [total;dur=12;desc="Backend Total"]
32+
Strict-Transport-Security: [max-age=31536000]
33+
Transfer-Encoding: [chunked]
34+
Vary: [Accept-Encoding]
35+
X-Content-Type-Options: [nosniff]
36+
X-DuckDuckGo-Locale: [en_US]
37+
X-DuckDuckGo-Results: ['1']
38+
X-Frame-Options: [SAMEORIGIN]
39+
X-XSS-Protection: [1;mode=block]
40+
status: {code: 200, message: OK}
41+
- request:
42+
body: null
43+
headers:
44+
Accept: ['*/*']
45+
Accept-Encoding: ['gzip, deflate']
46+
Connection: [keep-alive]
47+
User-Agent: ['Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
48+
like Gecko) Chrome/55.0.2883.87 Safari/537.36']
49+
method: GET
50+
uri: https://duckduckgo.com/html/?kl=us-en&q=site%3Agrandorder.wiki+chulainn+alter
51+
response:
52+
body:
53+
string: !!binary |
54+
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
159+
headers:
160+
Cache-Control: [max-age=1]
161+
Connection: [keep-alive]
162+
Content-Encoding: [gzip]
163+
Content-Security-Policy: ['default-src https: blob: data: ''unsafe-inline''
164+
''unsafe-eval''; frame-ancestors ''self''']
165+
Content-Type: [text/html; charset=UTF-8]
166+
Date: ['Tue, 19 May 2020 22:14:40 GMT']
167+
Expect-CT: [max-age=0]
168+
Expires: ['Tue, 19 May 2020 22:14:41 GMT']
169+
Referrer-Policy: [origin]
170+
Server: [nginx]
171+
Server-Timing: [total;dur=623;desc="Backend Total"]
172+
Set-Cookie: ['kl=us-en; Secure; HttpOnly; SameSite=Strict;Expires=Wed, 19 May
173+
2021 22:14:39 GMT;']
174+
Strict-Transport-Security: [max-age=31536000]
175+
Transfer-Encoding: [chunked]
176+
Vary: [Accept-Encoding]
177+
X-Content-Type-Options: [nosniff]
178+
X-DuckDuckGo-Locale: [en_US]
179+
X-Frame-Options: [SAMEORIGIN]
180+
X-XSS-Protection: [1;mode=block]
181+
status: {code: 200, message: OK}
182+
version: 1

0 commit comments

Comments
 (0)