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)