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)
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)
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)