Beispiel #1
0
    def test_delete_uaid(self):
        notif = make_webpush_notification(dummy_uaid.hex, str(dummy_chid))
        notif2 = make_webpush_notification(dummy_uaid.hex, str(dummy_chid))
        messages = self.db.message
        messages.store_message(notif)
        messages.store_message(notif2)
        self.db.router.drop_user.return_value = True

        yield self.client.delete(
            self.url(router_type="simplepush",
                     router_token="test",
                     uaid=dummy_uaid.hex),
            headers={"Authorization": self.auth},
        )
        # Note: Router is mocked, so the UAID is never actually
        # dropped.
        ok_(self.db.router.drop_user.called)
        eq_(self.db.router.drop_user.call_args_list[0][0], (dummy_uaid.hex,))
Beispiel #2
0
    def test_delete_uaid(self):
        notif = make_webpush_notification(dummy_uaid.hex, str(dummy_chid))
        notif2 = make_webpush_notification(dummy_uaid.hex, str(dummy_chid))
        messages = self.reg.ap_settings.message
        chid2 = str(uuid.uuid4())
        messages.store_message(notif)
        messages.store_message(notif2)
        self.reg.ap_settings.router.drop_user = Mock()
        self.reg.ap_settings.router.drop_user.return_value = True

        def handle_finish(value, chid2):
            # Note: Router is mocked, so the UAID is never actually
            # dropped.
            ok_(self.reg.ap_settings.router.drop_user.called)
            eq_(self.reg.ap_settings.router.drop_user.call_args_list[0][0],
                (dummy_uaid.hex,))

        self.finish_deferred.addCallback(handle_finish, chid2)
        self.reg.request.headers["Authorization"] = self.auth
        self.reg.delete(self._make_req("simplepush", "test", dummy_uaid.hex))
        return self.finish_deferred
    def test_delete_success(self):
        notif = make_webpush_notification(dummy_uaid.hex, str(dummy_chid))
        messages = self.db.message
        messages.register_channel(dummy_uaid.hex, str(dummy_chid))
        messages.store_message(notif)

        yield self.client.delete(
            self.url(router_type="test",
                     router_token="test",
                     uaid=dummy_uaid.hex,
                     chid=str(dummy_chid)),
            headers={"Authorization": self.auth},
        )
Beispiel #4
0
    def test_delete_bad_chid_value(self):
        notif = make_webpush_notification(dummy_uaid.hex, str(dummy_chid))
        messages = self.reg.ap_settings.message
        messages.register_channel(dummy_uaid.hex, str(dummy_chid))
        messages.store_message(notif)
        self.reg.request.headers["Authorization"] = self.auth

        def handle_finish(value):
            self._check_error(410, 106, "")

        self.finish_deferred.addCallback(handle_finish)
        self.reg.delete(self._make_req("test", "test", dummy_uaid.hex,
                                       "invalid"))
        return self.finish_deferred
    def test_delete_bad_chid_value(self):
        notif = make_webpush_notification(dummy_uaid.hex, str(dummy_chid))
        messages = self.db.message
        messages.register_channel(dummy_uaid.hex, str(dummy_chid))
        messages.store_message(notif)

        resp = yield self.client.delete(
            self.url(router_type="test",
                     router_token="test",
                     uaid=dummy_uaid.hex,
                     chid=uuid.uuid4().hex),
            headers={"Authorization": self.auth},
        )
        self._check_error(resp, 410, 106, "")
Beispiel #6
0
    def test_delete_no_such_chid(self):
        notif = make_webpush_notification(dummy_uaid.hex, str(dummy_chid))
        messages = self.db.message
        messages.register_channel(dummy_uaid.hex, str(dummy_chid))
        messages.store_message(notif)

        # Moto can't handle set operations of this nature so we have
        # to mock the reply
        self.patch('autopush.db.Message.unregister_channel',
                   return_value=False)

        resp = yield self.client.delete(self.url(router_type="test",
                                                 router_token="test",
                                                 uaid=dummy_uaid.hex,
                                                 chid=str(uuid.uuid4())),
                                        headers={"Authorization": self.auth})
        self._check_error(resp, 410, 106, "")
Beispiel #7
0
    def test_delete_no_such_chid(self):
        notif = make_webpush_notification(dummy_uaid.hex, str(dummy_chid))
        messages = self.reg.ap_settings.message
        messages.register_channel(dummy_uaid.hex, str(dummy_chid))
        messages.store_message(notif)

        # Moto can't handle set operations of this nature so we have
        # to mock the reply
        unreg = messages.unregister_channel
        messages.unregister_channel = Mock(return_value=False)
        self.reg.request.headers["Authorization"] = self.auth

        def handle_finish(value):
            self._check_error(410, 106, "")

        def fixup_messages(result):
            messages.unregister_channel = unreg

        self.finish_deferred.addCallback(handle_finish)
        self.finish_deferred.addBoth(fixup_messages)
        self.reg.delete(self._make_req("test", "test",
                                       dummy_uaid.hex, str(uuid.uuid4())))
        return self.finish_deferred