diff --git a/djangoldp_webpushnotification/urls.py b/djangoldp_webpushnotification/djangoldp_urls.py similarity index 100% rename from djangoldp_webpushnotification/urls.py rename to djangoldp_webpushnotification/djangoldp_urls.py diff --git a/djangoldp_webpushnotification/tests/runner.py b/djangoldp_webpushnotification/tests/runner.py index 8e2d619..ac48945 100644 --- a/djangoldp_webpushnotification/tests/runner.py +++ b/djangoldp_webpushnotification/tests/runner.py @@ -17,6 +17,7 @@ test_runner = DiscoverRunner(verbosity=1) failures = test_runner.run_tests([ 'djangoldp_webpushnotification.tests.tests_vapidkeyset', + 'djangoldp_webpushnotification.tests.tests_accept_subscription', ]) if failures: sys.exit(failures) diff --git a/djangoldp_webpushnotification/tests/settings_default.py b/djangoldp_webpushnotification/tests/settings_default.py index 8d81b9e..42b6af6 100644 --- a/djangoldp_webpushnotification/tests/settings_default.py +++ b/djangoldp_webpushnotification/tests/settings_default.py @@ -4,9 +4,7 @@ yaml_config = """ dependencies: ldppackages: + - djangoldp_account - djangoldp_webpushnotification - djangoldp_webpushnotification.tests - -server: - INSTALLED_APPS: [] """ diff --git a/djangoldp_webpushnotification/tests/tests_accept_subscription.py b/djangoldp_webpushnotification/tests/tests_accept_subscription.py new file mode 100644 index 0000000..b9bc5c7 --- /dev/null +++ b/djangoldp_webpushnotification/tests/tests_accept_subscription.py @@ -0,0 +1,35 @@ +import json + +from django.contrib.auth import get_user_model +from django.test import TestCase +from django.urls import reverse +from rest_framework.test import APIClient, APIRequestFactory, APITestCase + + +class TestAcceptSubscription(TestCase): + def setUp(self): + self.factory = APIRequestFactory() + self.client = APIClient() + self.user = get_user_model().objects.create_user(username='john', email='jlennon@beatles.com', password='glass onion') + self.client.force_authenticate(self.user) + + def tearDown(self): + self.user.delete() + + def test_accept_sub(self): + payload = { + "status_type": "subscribe", + "subscription": { + "endpoint": "example.com", + "keys": { + "auth": "barfoo", + "p256dh": "foobar" + } + }, + "browser": "firefox" + } + + url = reverse("save_webpush_info") + response = self.client.post(url, data=json.dumps(payload), content_type='application/json') + + self.assertEqual(response.status_code, 201)