Beispiel #1
0
class PushSubscriptionFactory(DjangoModelFactory):
    class Meta:
        model = PushSubscription

    user = SubFactory(UserFactory)
    token = LazyAttribute(lambda x: faker.uuid4())
    platform = LazyAttribute(
        lambda x: random.choice(list(PushSubscriptionPlatform)).value)
Beispiel #2
0
    def test_create_push_subscription(self):
        user = UserFactory()
        self.client.force_login(user=user)

        data = {'token': faker.uuid4(), 'platform': 'android'}
        response = self.client.post('/api/subscriptions/push/',
                                    data,
                                    format='json')
        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
        self.assertEqual(response.data['token'], data['token'])
        self.assertEqual(response.data['platform'], data['platform'])
 def test_can_delete_subscriptions(self):
     user = UserFactory()
     token = faker.uuid4()
     subscription = PushSubscription.objects.create(
         user=user, token=token, platform=PushSubscriptionPlatform.ANDROID)
     self.client.force_login(user=user)
     response = self.client.delete('/api/subscriptions/push/{}/'.format(
         subscription.id))
     self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
     self.assertEqual(
         PushSubscription.objects.filter(pk=subscription.id).count(), 0)
 def test_retrieve_subscriptions(self):
     user = UserFactory()
     token = faker.uuid4()
     subscription = PushSubscription.objects.create(
         user=user, token=token, platform=PushSubscriptionPlatform.ANDROID)
     self.client.force_login(user=user)
     response = self.client.get('/api/subscriptions/push/{}/'.format(
         subscription.id))
     self.assertEqual(response.status_code, status.HTTP_200_OK)
     self.assertEqual(response.data['id'], subscription.id)
     self.assertEqual(response.data['token'], subscription.token)
     self.assertFalse(hasattr(response.data, 'user'))
Beispiel #5
0
    def test_cannot_create_duplicate_tokens(self):
        user = UserFactory()
        self.client.force_login(user=user)

        data = {'token': faker.uuid4(), 'platform': 'android'}
        response = self.client.post('/api/subscriptions/push/',
                                    data,
                                    format='json')
        self.assertEqual(response.status_code, status.HTTP_201_CREATED)

        response = self.client.post('/api/subscriptions/push/',
                                    data,
                                    format='json')
        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
    def setUp(self):
        self.group = GroupFactory()
        self.user = UserFactory()
        self.author = UserFactory()
        self.group.add_member(self.user)
        self.group.add_member(self.author)

        self.token = faker.uuid4()
        self.content = faker.text()

        self.conversation = self.group.conversation

        # add a push subscriber
        PushSubscription.objects.create(user=self.user, token=self.token, platform=PushSubscriptionPlatform.ANDROID)
    def setUp(self):
        self.user = UserFactory()
        self.author = UserFactory()

        self.token = faker.uuid4()
        self.content = faker.text()

        # join a conversation
        self.conversation = ConversationFactory()
        self.conversation.join(self.user)
        self.conversation.join(self.author)

        # add a push subscriber
        PushSubscription.objects.create(user=self.user, token=self.token, platform=PushSubscriptionPlatform.ANDROID)
Beispiel #8
0
    def test_can_list_subscriptions(self):
        user = UserFactory()
        self.client.force_login(user=user)

        data = {'token': faker.uuid4(), 'platform': 'android'}
        response = self.client.post('/api/subscriptions/push/',
                                    data,
                                    format='json')
        self.assertEqual(response.status_code, status.HTTP_201_CREATED)

        response = self.client.get('/api/subscriptions/push/')
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(len(response.data), 1)
        self.assertEqual(response.data[0]['token'], data['token'])
        self.assertFalse(hasattr(response.data[0], 'user'))
    def setUp(self):
        self.user = UserFactory()
        self.author = UserFactory()

        self.token = faker.uuid4()
        self.content = faker.text()

        # join a conversation
        self.conversation = ConversationFactory(participants=[self.user, self.author])

        # add a push subscriber
        self.subscription = PushSubscription.objects.create(
            user=self.user,
            token=self.token,
            platform=PushSubscriptionPlatform.ANDROID.value,
        )