本文整理汇总了Python中formspree.forms.models.Form.unconfirm_digest方法的典型用法代码示例。如果您正苦于以下问题:Python Form.unconfirm_digest方法的具体用法?Python Form.unconfirm_digest怎么用?Python Form.unconfirm_digest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类formspree.forms.models.Form
的用法示例。
在下文中一共展示了Form.unconfirm_digest方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_unconfirm_process
# 需要导入模块: from formspree.forms.models import Form [as 别名]
# 或者: from formspree.forms.models.Form import unconfirm_digest [as 别名]
def test_unconfirm_process(client, msend):
# confirm some forms for the same email address
f1 = Form('[email protected]', 'testwebsite.com')
f1.confirmed = True
DB.session.add(f1)
f2 = Form('[email protected]', 'othertestwebsite.com')
f2.confirmed = True
DB.session.add(f2)
f3 = Form('[email protected]', 'anothertestwebsite.com')
f3.confirmed = True
DB.session.add(f3)
DB.session.commit()
# try a submission
r = client.post('/[email protected]',
headers = {'Referer': 'http://testwebsite.com'},
data={'name': 'carol'}
)
assert msend.called
request_unconfirm_url = url_for('request_unconfirm_form', form_id=f1.id, _external=True)
assert request_unconfirm_url in msend.call_args[1]['text']
msend.reset_mock()
# this should send a confirmation email
r = client.get(request_unconfirm_url)
assert r.status_code == 200
assert msend.called
unconfirm_url_with_digest = url_for(
'unconfirm_form',
form_id=f1.id,
digest=f1.unconfirm_digest(),
_external=True
)
assert unconfirm_url_with_digest in msend.call_args[1]['text']
msend.reset_mock()
# unconfirm this
r = client.get(unconfirm_url_with_digest)
assert f1.confirmed == False
# should show a page with the other options
assert r.status_code == 200
assert 'Select all' in r.data.decode('utf-8')
assert f2.host in r.data.decode('utf-8')
assert f3.host in r.data.decode('utf-8')
unconfirm_multiple_url = url_for('unconfirm_multiple')
assert unconfirm_multiple_url in r.data.decode('utf-8')
# we can use unconfirm_multiple to unconfirm f2
assert f2.confirmed == True
r = client.post(unconfirm_multiple_url, data={'form_ids': [f2.id]})
assert r.status_code == 200
assert 'Success' in r.data.decode('utf-8')
assert f2.confirmed == False
示例2: test_unconfirm_process
# 需要导入模块: from formspree.forms.models import Form [as 别名]
# 或者: from formspree.forms.models.Form import unconfirm_digest [as 别名]
def test_unconfirm_process(client, msend):
# confirm some forms for the same email address
f1 = Form("[email protected]", host="testwebsite.com", confirmed=True)
DB.session.add(f1)
f2 = Form("[email protected]", host="othertestwebsite.com", confirmed=True)
DB.session.add(f2)
f3 = Form("[email protected]", host="anothertestwebsite.com", confirmed=True)
DB.session.add(f3)
DB.session.commit()
# try a submission
r = client.post(
"/[email protected]",
headers={"Referer": "http://testwebsite.com"},
data={"name": "carol"},
)
assert msend.called
request_unconfirm_url = url_for(
"request_unconfirm_form", form_id=f1.id, _external=True, _scheme="https"
)
assert request_unconfirm_url in msend.call_args[1]["text"]
msend.reset_mock()
# this should send a confirmation email
r = client.get(request_unconfirm_url)
# actually, it should fail unless the request comes from a browser
assert not msend.called
# now it must work
r = client.get(
request_unconfirm_url,
headers={
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
},
)
assert r.status_code == 200
assert msend.called
unconfirm_url_with_digest = url_for(
"unconfirm_form",
form_id=f1.id,
digest=f1.unconfirm_digest(),
_external=True,
_scheme="https",
)
assert unconfirm_url_with_digest in msend.call_args[1]["text"]
msend.reset_mock()
# unconfirm this
r = client.get(unconfirm_url_with_digest)
assert f1.confirmed == False
# should show a page with the other options
assert r.status_code == 200
assert "Select all" in r.data.decode("utf-8")
assert f2.host in r.data.decode("utf-8")
assert f3.host in r.data.decode("utf-8")
unconfirm_multiple_url = url_for("unconfirm_multiple")
assert unconfirm_multiple_url in r.data.decode("utf-8")
# we can use unconfirm_multiple to unconfirm f2
assert f2.confirmed == True
r = client.post(unconfirm_multiple_url, data={"form_ids": [f2.id]})
assert r.status_code == 200
assert "Success" in r.data.decode("utf-8")
assert f2.confirmed == False