Merge lp:~matiasb/canonical-identity-provider/reenable-anytime-codes-generation into lp:canonical-identity-provider/release

Proposed by Matias Bordese
Status: Merged
Approved by: Michael Foord
Approved revision: no longer in the source branch.
Merged at revision: 524
Proposed branch: lp:~matiasb/canonical-identity-provider/reenable-anytime-codes-generation
Merge into: lp:canonical-identity-provider/release
Diff against target: 58 lines (+15/-11)
3 files modified
django_project/config_dev/config/main.cfg (+1/-1)
identityprovider/schema.py (+1/-1)
identityprovider/tests/unit/test_devices.py (+13/-9)
To merge this branch: bzr merge lp:~matiasb/canonical-identity-provider/reenable-anytime-codes-generation
Reviewer Review Type Date Requested Status
Michael Foord (community) Approve
Review via email: mp+131894@code.launchpad.net

Commit message

Re-enabled paper device code generation at anytime.

Description of the change

Re-enabled paper device code generation at anytime.

To post a comment you must log in.
Revision history for this message
Michael Foord (mfoord) wrote :

LGTM - thanks.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'django_project/config_dev/config/main.cfg'
2--- django_project/config_dev/config/main.cfg 2012-10-25 20:53:26 +0000
3+++ django_project/config_dev/config/main.cfg 2012-10-29 12:58:57 +0000
4@@ -211,7 +211,7 @@
5 hotp_backwards_drift=0
6 twofactor_max_attempts=18
7 twofactor_paper_codes=25
8-twofactor_paper_codes_allow_generation=5
9+twofactor_paper_codes_allow_generation=%(twofactor_paper_codes)s
10
11 #
12 # saml2idp settings
13
14=== modified file 'identityprovider/schema.py'
15--- identityprovider/schema.py 2012-10-25 20:53:26 +0000
16+++ identityprovider/schema.py 2012-10-29 12:58:57 +0000
17@@ -180,7 +180,7 @@
18 help="Number of unused codes left on printed code sheet before "
19 "warning the user")
20 twofactor_paper_codes_allow_generation = IntOption(
21- default=5,
22+ default=twofactor_paper_codes.default,
23 help="Number of unused codes left on printed code sheet before "
24 "allowing the user to generate new codes")
25
26
27=== modified file 'identityprovider/tests/unit/test_devices.py'
28--- identityprovider/tests/unit/test_devices.py 2012-10-25 21:22:30 +0000
29+++ identityprovider/tests/unit/test_devices.py 2012-10-29 12:58:57 +0000
30@@ -496,15 +496,19 @@
31 device_generate(self.mock_request, device.id)
32
33 def test_device_generate_not_available_if_enough_remaining_codes(self):
34- self.device.counter = (
35- settings.TWOFACTOR_PAPER_CODES -
36- settings.TWOFACTOR_PAPER_CODES_ALLOW_GENERATION) - 1
37- response = device_print(self.mock_request, self.device.id)
38- doc = self._get_response_doc(response)
39- generate_url = '/device-generate/%s' % self.device.id
40- generate_button = doc.find('a.btn[href="%s"]' % generate_url)
41- self.assertEqual(len(generate_button), 0)
42- self.assertFalse(response.context_data['generation_enabled'])
43+ allow_generation = settings.TWOFACTOR_PAPER_CODES - 1
44+ with patch_settings(
45+ TWOFACTOR_PAPER_CODES_ALLOW_GENERATION=allow_generation):
46+ self.device.counter = (
47+ settings.TWOFACTOR_PAPER_CODES -
48+ settings.TWOFACTOR_PAPER_CODES_ALLOW_GENERATION) - 1
49+
50+ response = device_print(self.mock_request, self.device.id)
51+ doc = self._get_response_doc(response)
52+ generate_url = '/device-generate/%s' % self.device.id
53+ generate_button = doc.find('a.btn[href="%s"]' % generate_url)
54+ self.assertEqual(len(generate_button), 0)
55+ self.assertFalse(response.context_data['generation_enabled'])
56
57 def assert_generation_warning_and_button(self, counter):
58 self.device.counter = counter