-
-
Notifications
You must be signed in to change notification settings - Fork 61
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
reproduced error; group reference returns http code 424
- Loading branch information
Showing
1 changed file
with
95 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,6 +31,7 @@ | |
import re | ||
import apprise | ||
import requests | ||
import inspect | ||
|
||
|
||
class StatefulNotifyTests(SimpleTestCase): | ||
|
@@ -301,3 +302,97 @@ def test_stateful_configuration_io(self, mock_post): | |
|
||
# Reset our count | ||
mock_post.reset_mock() | ||
|
||
@patch('requests.post') | ||
def test_stateful_group_notify(self, mock_post): | ||
""" | ||
Test the writing, removal, writing of a group based configuration | ||
""" | ||
|
||
# our key to use | ||
key = 'test_stateful_group_notify' | ||
|
||
request = Mock() | ||
request.content = b'ok' | ||
request.status_code = requests.codes.ok | ||
mock_post.return_value = request | ||
|
||
# Monkey Patch | ||
apprise.plugins.NotifyEmail.NotifyEmail.enabled = True | ||
|
||
config = inspect.cleandoc(""" | ||
version: 1 | ||
groups: | ||
mygroup: user1, user2 | ||
urls: | ||
- json:///user:pass@localhost: | ||
- to: [email protected] | ||
tag: user1 | ||
- to: [email protected] | ||
tag: user2 | ||
""") | ||
|
||
# Monkey Patch | ||
apprise.plugins.NotifyJSON.NotifyJSON.enabled = True | ||
|
||
# Add our content | ||
response = self.client.post( | ||
'/add/{}'.format(key), | ||
{'config': config}) | ||
assert response.status_code == 200 | ||
|
||
# Now we should be able to see our content | ||
response = self.client.post('/get/{}'.format(key)) | ||
assert response.status_code == 200 | ||
|
||
for tag in ('user1', 'user2'): | ||
form_data = { | ||
'body': '## test notifiction', | ||
'format': apprise.NotifyFormat.MARKDOWN, | ||
'tag': tag, | ||
} | ||
form = NotifyForm(data=form_data) | ||
assert form.is_valid() | ||
|
||
# Required to prevent None from being passed into | ||
# self.client.post() | ||
del form.cleaned_data['attachment'] | ||
|
||
# We sent the notification successfully | ||
response = self.client.post( | ||
'/notify/{}'.format(key), form.cleaned_data) | ||
assert response.status_code == 200 | ||
assert mock_post.call_count == 1 | ||
|
||
mock_post.reset_mock() | ||
|
||
|
||
# Now let's notify by our group | ||
form_data = { | ||
'body': '## test notifiction', | ||
'format': apprise.NotifyFormat.MARKDOWN, | ||
'tag': 'mygroup', | ||
} | ||
|
||
form = NotifyForm(data=form_data) | ||
assert form.is_valid() | ||
|
||
# Required to prevent None from being passed into | ||
# self.client.post() | ||
del form.cleaned_data['attachment'] | ||
|
||
# We sent the notification successfully | ||
response = self.client.post( | ||
'/notify/{}'.format(key), form.cleaned_data) | ||
assert response.status_code == 200 | ||
assert mock_post.call_count == 1 | ||
|
||
mock_post.reset_mock() | ||
|
||
# Now empty our data | ||
response = self.client.post('/del/{}'.format(key)) | ||
assert response.status_code == 200 | ||
|
||
# Reset our count | ||
mock_post.reset_mock() |