[pre-commit.ci] pre-commit autoupdate#471
236 tests run, 190 passed, 36 skipped, 10 failed.
Annotations
Check failure on line 1 in TestPopcornNotify
github-actions / JUnit Test Report
TestPopcornNotify.test_popcornnotify_error
assert 'Please provide a valid API key' in ['<!DOCTYPE html>\n<html>\n <head>\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <me... <body>\n <iframe src="https://www.herokucdn.com/error-pages/application-error.html"></iframe>\n </body>\n</html>']
+ where ['<!DOCTYPE html>\n<html>\n <head>\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <me... <body>\n <iframe src="https://www.herokucdn.com/error-pages/application-error.html"></iframe>\n </body>\n</html>'] = <Response,provider=Popcornnotify,status=Failure, errors=['<!DOCTYPE html>\n<html>\n <head>\n <meta name="viewport"...<body>\n <iframe src="https://www.herokucdn.com/error-pages/application-error.html"></iframe>\n </body>\n</html>']>.errors
Raw output
self = <test_popcornnotify.TestPopcornNotify object at 0x7f82eac3e9d0>
provider = <Provider:[Popcornnotify]>
def test_popcornnotify_error(self, provider):
data = {"message": "foo", "api_key": "foo", "recipients": "foo@foo.com"}
rsp = provider.notify(**data)
assert rsp.status == FAILURE_STATUS
error = "Please provide a valid API key"
> assert error in rsp.errors
E assert 'Please provide a valid API key' in ['<!DOCTYPE html>\n<html>\n <head>\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <me... <body>\n <iframe src="https://www.herokucdn.com/error-pages/application-error.html"></iframe>\n </body>\n</html>']
E + where ['<!DOCTYPE html>\n<html>\n <head>\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <me... <body>\n <iframe src="https://www.herokucdn.com/error-pages/application-error.html"></iframe>\n </body>\n</html>'] = <Response,provider=Popcornnotify,status=Failure, errors=['<!DOCTYPE html>\n<html>\n <head>\n <meta name="viewport"...<body>\n <iframe src="https://www.herokucdn.com/error-pages/application-error.html"></iframe>\n </body>\n</html>']>.errors
tests/providers/test_popcornnotify.py:42: AssertionError
Check failure on line 1 in TestPushover
github-actions / JUnit Test Report
TestPushover.test_pushover_priority_2_restrictions[data0-expire]
AssertionError: assert 'expire' in 'Notification errors: application token is invalid, see https://pushover.net/api'
+ where 'Notification errors: application token is invalid, see https://pushover.net/api' = <NotificationError: Notification errors: application token is invalid, see https://pushover.net/api>.message
+ where <NotificationError: Notification errors: application token is invalid, see https://pushover.net/api> = <ExceptionInfo <NotificationError: Notification errors: application token is invalid, see https://pushover.net/api> tblen=2>.value
Raw output
self = <test_pushover.TestPushover object at 0x7f82ea1e5af0>, data = {}
message = 'expire', provider = <Provider:[Pushover]>
test_message = 'Local test-test_pushover_priority_2_restrictions[data0-expire]-2026-06-15T17:36:06.344761'
@pytest.mark.parametrize(("data", "message"), [({}, "expire"), ({"expire": 30}, "retry")])
@pytest.mark.online
def test_pushover_priority_2_restrictions(self, data, message, provider, test_message):
"""Pushover specific API restrictions when using priority 2"""
base_data = {"message": test_message, "priority": 2}
final_data = {**base_data, **data}
rsp = provider.notify(**final_data)
with pytest.raises(NotificationError) as e:
rsp.raise_on_errors()
> assert message in e.value.message
E AssertionError: assert 'expire' in 'Notification errors: application token is invalid, see https://pushover.net/api'
E + where 'Notification errors: application token is invalid, see https://pushover.net/api' = <NotificationError: Notification errors: application token is invalid, see https://pushover.net/api>.message
E + where <NotificationError: Notification errors: application token is invalid, see https://pushover.net/api> = <ExceptionInfo <NotificationError: Notification errors: application token is invalid, see https://pushover.net/api> tblen=2>.value
tests/providers/test_pushover.py:45: AssertionError
Check failure on line 1 in TestPushover
github-actions / JUnit Test Report
TestPushover.test_pushover_priority_2_restrictions[data1-retry]
AssertionError: assert 'retry' in 'Notification errors: application token is invalid, see https://pushover.net/api'
+ where 'Notification errors: application token is invalid, see https://pushover.net/api' = <NotificationError: Notification errors: application token is invalid, see https://pushover.net/api>.message
+ where <NotificationError: Notification errors: application token is invalid, see https://pushover.net/api> = <ExceptionInfo <NotificationError: Notification errors: application token is invalid, see https://pushover.net/api> tblen=2>.value
Raw output
self = <test_pushover.TestPushover object at 0x7f82ea1e5820>
data = {'expire': 30}, message = 'retry', provider = <Provider:[Pushover]>
test_message = 'Local test-test_pushover_priority_2_restrictions[data1-retry]-2026-06-15T17:36:06.627621'
@pytest.mark.parametrize(("data", "message"), [({}, "expire"), ({"expire": 30}, "retry")])
@pytest.mark.online
def test_pushover_priority_2_restrictions(self, data, message, provider, test_message):
"""Pushover specific API restrictions when using priority 2"""
base_data = {"message": test_message, "priority": 2}
final_data = {**base_data, **data}
rsp = provider.notify(**final_data)
with pytest.raises(NotificationError) as e:
rsp.raise_on_errors()
> assert message in e.value.message
E AssertionError: assert 'retry' in 'Notification errors: application token is invalid, see https://pushover.net/api'
E + where 'Notification errors: application token is invalid, see https://pushover.net/api' = <NotificationError: Notification errors: application token is invalid, see https://pushover.net/api>.message
E + where <NotificationError: Notification errors: application token is invalid, see https://pushover.net/api> = <ExceptionInfo <NotificationError: Notification errors: application token is invalid, see https://pushover.net/api> tblen=2>.value
tests/providers/test_pushover.py:45: AssertionError
Check failure on line 1 in TestPushover
github-actions / JUnit Test Report
TestPushover.test_sanity
notifiers.exceptions.NotificationError: Notification errors: application token is invalid, see https://pushover.net/api
Raw output
self = <test_pushover.TestPushover object at 0x7f82ea1e55e0>
provider = <Provider:[Pushover]>
@pytest.mark.online
def test_sanity(self, provider):
"""Successful pushover notification"""
data = {"message": "foo"}
rsp = provider.notify(**data)
> rsp.raise_on_errors()
tests/providers/test_pushover.py:52:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Response,provider=Pushover,status=Failure, errors=['application token is invalid, see https://pushover.net/api']>
def raise_on_errors(self):
"""
Raises a :class:`~notifiers.exceptions.NotificationError` if response hold errors
:raises: :class:`~notifiers.exceptions.NotificationError`: If response has errors
"""
if self.errors:
> raise NotificationError(
provider=self.provider,
data=self.data,
errors=self.errors,
response=self.response,
)
E notifiers.exceptions.NotificationError: Notification errors: application token is invalid, see https://pushover.net/api
notifiers/core.py:60: NotificationError
Check failure on line 1 in TestPushover
github-actions / JUnit Test Report
TestPushover.test_all_options
notifiers.exceptions.NotificationError: Notification errors: application token is invalid, see https://pushover.net/api
Raw output
self = <test_pushover.TestPushover object at 0x7f82eaa8b5e0>
provider = <Provider:[Pushover]>
test_message = 'Local test-test_all_options-2026-06-15T17:36:06.880612'
@pytest.mark.online
def test_all_options(self, provider, test_message):
"""Use all available pushover options"""
data = {
"message": test_message,
"title": "title",
"priority": 2,
"url": "http://foo.com",
"url_title": "url title",
"sound": "bike",
"timestamp": "0",
"retry": 30,
"expire": 30,
"callback": "http://callback.com",
"html": True,
}
rsp = provider.notify(**data)
> rsp.raise_on_errors()
tests/providers/test_pushover.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Response,provider=Pushover,status=Failure, errors=['application token is invalid, see https://pushover.net/api']>
def raise_on_errors(self):
"""
Raises a :class:`~notifiers.exceptions.NotificationError` if response hold errors
:raises: :class:`~notifiers.exceptions.NotificationError`: If response has errors
"""
if self.errors:
> raise NotificationError(
provider=self.provider,
data=self.data,
errors=self.errors,
response=self.response,
)
E notifiers.exceptions.NotificationError: Notification errors: application token is invalid, see https://pushover.net/api
notifiers/core.py:60: NotificationError
Check failure on line 1 in TestPushover
github-actions / JUnit Test Report
TestPushover.test_attachment_positive
notifiers.exceptions.NotificationError: Notification errors: application token is invalid, see https://pushover.net/api
Raw output
self = <test_pushover.TestPushover object at 0x7f82eac78100>
provider = <Provider:[Pushover]>
tmpdir = local('/tmp/pytest-of-runner/pytest-0/test_attachment_positive0')
@pytest.mark.online
def test_attachment_positive(self, provider, tmpdir):
p = tmpdir.mkdir("test").join("image.jpg")
p.write("im binary")
data = {"attachment": p.strpath, "message": "foo"}
rsp = provider.notify(**data)
> rsp.raise_on_errors()
tests/providers/test_pushover.py:89:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Response,provider=Pushover,status=Failure, errors=['application token is invalid, see https://pushover.net/api']>
def raise_on_errors(self):
"""
Raises a :class:`~notifiers.exceptions.NotificationError` if response hold errors
:raises: :class:`~notifiers.exceptions.NotificationError`: If response has errors
"""
if self.errors:
> raise NotificationError(
provider=self.provider,
data=self.data,
errors=self.errors,
response=self.response,
)
E notifiers.exceptions.NotificationError: Notification errors: application token is invalid, see https://pushover.net/api
notifiers/core.py:60: NotificationError
Check failure on line 1 in TestPushoverSoundsResource
github-actions / JUnit Test Report
TestPushoverSoundsResource.test_pushover_sounds_positive
notifiers.exceptions.ResourceError: Notifier resource errors: application token is invalid
Raw output
self = <test_pushover.TestPushoverSoundsResource object at 0x7f82ea1df280>
resource = <ProviderResource,provider=pushover,resource=sounds>
@pytest.mark.online
def test_pushover_sounds_positive(self, resource):
> assert isinstance(resource(), list)
tests/providers/test_pushover.py:110:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
notifiers/core.py:314: in __call__
return self._get_resource(data)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <ProviderResource,provider=pushover,resource=sounds>
data = {'token': 'aduzgcfpgg6i2kvpqy4puk7chfszb1'}
def _get_resource(self, data: dict):
url = self.base_url + self.sounds_url
params = {"token": data["token"]}
response, errors = requests.get(url, params=params, path_to_errors=self.path_to_errors)
if errors:
> raise ResourceError(
errors=errors,
resource=self.resource_name,
provider=self.name,
data=data,
response=response,
)
E notifiers.exceptions.ResourceError: Notifier resource errors: application token is invalid
notifiers/providers/pushover.py:31: ResourceError
Check failure on line 1 in TestPushoverLimitsResource
github-actions / JUnit Test Report
TestPushoverLimitsResource.test_pushover_limits_positive
notifiers.exceptions.ResourceError: Notifier resource errors: application token is invalid
Raw output
self = <test_pushover.TestPushoverLimitsResource object at 0x7f82ea231e50>
resource = <ProviderResource,provider=pushover,resource=limits>
@pytest.mark.online
def test_pushover_limits_positive(self, resource):
> assert isinstance(resource(), dict)
tests/providers/test_pushover.py:131:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
notifiers/core.py:314: in __call__
return self._get_resource(data)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <ProviderResource,provider=pushover,resource=limits>
data = {'token': 'aduzgcfpgg6i2kvpqy4puk7chfszb1'}
def _get_resource(self, data: dict):
url = self.base_url + self.limits_url
params = {"token": data["token"]}
response, errors = requests.get(url, params=params, path_to_errors=self.path_to_errors)
if errors:
> raise ResourceError(
errors=errors,
resource=self.resource_name,
provider=self.name,
data=data,
response=response,
)
E notifiers.exceptions.ResourceError: Notifier resource errors: application token is invalid
notifiers/providers/pushover.py:50: ResourceError
Check failure on line 1 in TestPushoverCLI
github-actions / JUnit Test Report
TestPushoverCLI.test_pushover_sounds_positive
assert not 1
+ where 1 = <Result <ResourceError: Notifier resource errors: application token is invalid>>.exit_code
Raw output
self = <test_pushover.TestPushoverCLI object at 0x7f82ea231430>
cli_runner = functools.partial(<bound method CliRunner.invoke of <click.testing.CliRunner object at 0x7f82e9d1cc40>>, <Group notifiers-cli>, obj={'env_prefix': None})
@pytest.mark.online
def test_pushover_sounds_positive(self, cli_runner):
cmd = ["pushover", "sounds"]
result = cli_runner(cmd)
> assert not result.exit_code
E assert not 1
E + where 1 = <Result <ResourceError: Notifier resource errors: application token is invalid>>.exit_code
tests/providers/test_pushover.py:146: AssertionError
Check failure on line 1 in TestPushoverCLI
github-actions / JUnit Test Report
TestPushoverCLI.test_pushover_limits_positive
assert not 1
+ where 1 = <Result <ResourceError: Notifier resource errors: application token is invalid>>.exit_code
Raw output
self = <test_pushover.TestPushoverCLI object at 0x7f82ea1e5eb0>
cli_runner = functools.partial(<bound method CliRunner.invoke of <click.testing.CliRunner object at 0x7f82ea1df130>>, <Group notifiers-cli>, obj={'env_prefix': None})
@pytest.mark.online
def test_pushover_limits_positive(self, cli_runner):
cmd = ["pushover", "limits"]
result = cli_runner(cmd)
> assert not result.exit_code
E assert not 1
E + where 1 = <Result <ResourceError: Notifier resource errors: application token is invalid>>.exit_code
tests/providers/test_pushover.py:159: AssertionError