43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Password Policy tests"""
 | |
| from django.test import TestCase
 | |
| from guardian.shortcuts import get_anonymous_user
 | |
| 
 | |
| from passbook.policies.password.models import PasswordPolicy
 | |
| from passbook.policies.types import PolicyRequest, PolicyResult
 | |
| 
 | |
| 
 | |
| class TestPasswordPolicy(TestCase):
 | |
|     """Test Password Policy"""
 | |
| 
 | |
|     def test_false(self):
 | |
|         """Failing password case"""
 | |
|         policy = PasswordPolicy.objects.create(
 | |
|             name="test_false",
 | |
|             amount_uppercase=1,
 | |
|             amount_lowercase=2,
 | |
|             amount_symbols=3,
 | |
|             length_min=24,
 | |
|             error_message="test message",
 | |
|         )
 | |
|         request = PolicyRequest(get_anonymous_user())
 | |
|         request.context["password"] = "test"
 | |
|         result: PolicyResult = policy.passes(request)
 | |
|         self.assertFalse(result.passing)
 | |
|         self.assertEqual(result.messages, ("test message",))
 | |
| 
 | |
|     def test_true(self):
 | |
|         """Positive password case"""
 | |
|         policy = PasswordPolicy.objects.create(
 | |
|             name="test_true",
 | |
|             amount_uppercase=1,
 | |
|             amount_lowercase=2,
 | |
|             amount_symbols=3,
 | |
|             length_min=3,
 | |
|             error_message="test message",
 | |
|         )
 | |
|         request = PolicyRequest(get_anonymous_user())
 | |
|         request.context["password"] = "Test()!"
 | |
|         result: PolicyResult = policy.passes(request)
 | |
|         self.assertTrue(result.passing)
 | |
|         self.assertEqual(result.messages, tuple())
 | 
