Beispiel #1
0
    def test_verify_mailaddress_conf_invalid_token(self):
        """
        test the verify_mailaddress_conf view
        """
        from c3smembership.administration import verify_mailaddress_conf
        request = testing.DummyRequest()
        request.matchdict = {
            'email': u'*****@*****.**',
            'refcode': u'ABCDEFGRefCode',
            'token': u'veryloooongtoken',
        }
        request.cookies['on_page'] = 1
        request.cookies['order'] = 'asc'
        request.cookies['orderby'] = 'id'

        result = verify_mailaddress_conf(request)

        self.assertTrue(
            'bad URL / bad codes. '
            'please contact [email protected]!' in result['result_msg'])
        self.assertTrue(result['confirmed'] is False)
Beispiel #2
0
    def test_verify_mailaddress_conf_invalid_token(self):
        """
        test the verify_mailaddress_conf view
        """
        from c3smembership.administration import verify_mailaddress_conf
        request = testing.DummyRequest()
        request.matchdict = {
            'email': u'*****@*****.**',
            'refcode': u'ABCDEFGRefCode',
            'token': u'veryloooongtoken',
        }
        request.cookies['on_page'] = 1
        request.cookies['order'] = 'asc'
        request.cookies['orderby'] = 'id'

        result = verify_mailaddress_conf(request)

        self.assertTrue(
            'bad URL / bad codes. '
            'please contact [email protected]!' in result['result_msg'])
        self.assertTrue(result['confirmed'] is False)
Beispiel #3
0
    def test_verify_mailaddress_conf_valid_token(self):
        """
        test *both* the mail_mail_confirmation view
        *and* the verify_mailaddress_conf view
        """
        from c3smembership.administration import mail_mail_conf
        from c3smembership.administration import verify_mailaddress_conf
        from pyramid_mailer import get_mailer
        # prepare: send mail confirmatio email and thus have a token for her
        request1 = testing.DummyRequest()
        self.config.add_route('dashboard', '/')
        request1.matchdict = {'memberid': '1'}
        request1.cookies['on_page'] = 1
        request1.cookies['order'] = 'asc'
        request1.cookies['orderby'] = 'id'

        result1 = mail_mail_conf(request1)
        result1
        _member = C3sMember.get_by_id(1)
        _refcode = _member.email_confirm_code
        _token = _member.email_confirm_token
        _email = _member.email
        # check: try with good refcode and token, but wrong email
        request = testing.DummyRequest()
        request.matchdict = {
            'email': u'*****@*****.**',
            'refcode': _refcode,
            'token': _token,
        }

        mailer = get_mailer(request)
        result = verify_mailaddress_conf(request)
        self.assertEqual(len(mailer.outbox), 1)
        self.assertTrue(
            'bad token/email. '
            'please contact [email protected]!' in result['result_msg'])
        self.assertTrue(result['confirmed'] is False)

        # check: try with good refcode and token AND good email
        request = testing.DummyRequest()
        request.matchdict = {
            'email': _email,
            'refcode': _refcode,
            'token': _token,
        }

        result = verify_mailaddress_conf(request)
        self.assertEqual(len(mailer.outbox), 2)
        self.assertTrue(
            '[C3S Yes!] afm email confirmed' in mailer.outbox[1].subject)
        self.assertTrue('see http://foo.com/detail/1' in mailer.outbox[1].body)

        # another test: try again: token works only once!
        request = testing.DummyRequest()
        request.matchdict = {
            'email': _email,
            'refcode': _refcode,
            'token': _token,
        }

        result = verify_mailaddress_conf(request)
        self.assertEqual(len(mailer.outbox), 2)  # no change

        self.assertTrue(
            'your token is invalid. '
            'please contact [email protected]!' in result['result_msg'])
        self.assertTrue(result['confirmed'] is False)
Beispiel #4
0
    def test_verify_mailaddress_conf_valid_token(self):
        """
        test *both* the mail_mail_confirmation view
        *and* the verify_mailaddress_conf view
        """
        from c3smembership.administration import mail_mail_conf
        from c3smembership.administration import verify_mailaddress_conf
        from pyramid_mailer import get_mailer
        # prepare: send mail confirmatio email and thus have a token for her
        request1 = testing.DummyRequest()
        self.config.add_route('dashboard', '/')
        request1.matchdict = {'memberid': '1'}
        request1.cookies['on_page'] = 1
        request1.cookies['order'] = 'asc'
        request1.cookies['orderby'] = 'id'

        result1 = mail_mail_conf(request1)
        result1
        _member = C3sMember.get_by_id(1)
        _refcode = _member.email_confirm_code
        _token = _member.email_confirm_token
        _email = _member.email
        # check: try with good refcode and token, but wrong email
        request = testing.DummyRequest()
        request.matchdict = {
            'email': u'*****@*****.**',
            'refcode': _refcode,
            'token': _token,
        }

        mailer = get_mailer(request)
        result = verify_mailaddress_conf(request)
        self.assertEqual(len(mailer.outbox), 1)
        self.assertTrue(
            'bad token/email. '
            'please contact [email protected]!' in result['result_msg'])
        self.assertTrue(result['confirmed'] is False)

        # check: try with good refcode and token AND good email
        request = testing.DummyRequest()
        request.matchdict = {
            'email': _email,
            'refcode': _refcode,
            'token': _token,
        }

        result = verify_mailaddress_conf(request)
        self.assertEqual(len(mailer.outbox), 2)
        self.assertTrue(
            '[C3S Yes!] afm email confirmed' in mailer.outbox[1].subject)
        self.assertTrue(
            'see http://foo.com/detail/1' in mailer.outbox[1].body)

        # another test: try again: token works only once!
        request = testing.DummyRequest()
        request.matchdict = {
            'email': _email,
            'refcode': _refcode,
            'token': _token,
        }

        result = verify_mailaddress_conf(request)
        self.assertEqual(len(mailer.outbox), 2)  # no change

        self.assertTrue(
            'your token is invalid. '
            'please contact [email protected]!' in result['result_msg'])
        self.assertTrue(result['confirmed'] is False)