Skip to content

Commit

Permalink
reproduced error; group reference returns http code 424
Browse files Browse the repository at this point in the history
  • Loading branch information
caronc committed Dec 28, 2023
1 parent cbcdab3 commit 5cdab3c
Showing 1 changed file with 95 additions and 0 deletions.
95 changes: 95 additions & 0 deletions apprise_api/api/tests/test_stateful_notify.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import re
import apprise
import requests
import inspect


class StatefulNotifyTests(SimpleTestCase):
Expand Down Expand Up @@ -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()

0 comments on commit 5cdab3c

Please sign in to comment.