|
|
@@ -1,7 +1,7 @@
|
|
1
|
1
|
from datetime import timedelta, datetime
|
|
2
|
2
|
from decimal import Decimal as D
|
|
3
|
3
|
|
|
4
|
|
-from django.test import TestCase
|
|
|
4
|
+from django.test import TestCase, override_settings
|
|
5
|
5
|
from django.utils import timezone
|
|
6
|
6
|
from django.utils.translation import ugettext_lazy as _
|
|
7
|
7
|
import mock
|
|
|
@@ -391,3 +391,24 @@ class OrderTests(TestCase):
|
|
391
|
391
|
# Set second line to returned
|
|
392
|
392
|
event_2.line_quantities.create(line=line_2, quantity=1)
|
|
393
|
393
|
self.assertEqual(order.shipping_status, _('Returned'))
|
|
|
394
|
+
|
|
|
395
|
+ @override_settings(SECRET_KEY='order_hash_secret')
|
|
|
396
|
+ def test_verification_hash_generation(self):
|
|
|
397
|
+ order = OrderFactory(number='111000')
|
|
|
398
|
+ self.assertEqual(order.verification_hash(), '111000:UJrZWNPLsq7zf1r17c3v1Q6DUmE')
|
|
|
399
|
+
|
|
|
400
|
+ @override_settings(SECRET_KEY='order_hash_secret')
|
|
|
401
|
+ def test_check_verification_hash_valid(self):
|
|
|
402
|
+ order = OrderFactory(number='111000')
|
|
|
403
|
+ self.assertTrue(order.check_verification_hash('111000:UJrZWNPLsq7zf1r17c3v1Q6DUmE'))
|
|
|
404
|
+
|
|
|
405
|
+ @override_settings(SECRET_KEY='order_hash_secret')
|
|
|
406
|
+ def test_check_verification_hash_invalid_signature(self):
|
|
|
407
|
+ order = OrderFactory(number='111000')
|
|
|
408
|
+ self.assertFalse(order.check_verification_hash('111000:HKDZWNPLsq7589517c3v1Q6DHKD'))
|
|
|
409
|
+
|
|
|
410
|
+ @override_settings(SECRET_KEY='order_hash_secret')
|
|
|
411
|
+ def test_check_verification_hash_valid_signature_but_wrong_number(self):
|
|
|
412
|
+ order = OrderFactory(number='111000')
|
|
|
413
|
+ # Hash is valid, but it is for a different order number
|
|
|
414
|
+ self.assertFalse(order.check_verification_hash('222000:knvoMB1KAiJu8meWtGce00Y88j4'))
|