 168423a54e
			
		
	
	168423a54e
	
	
	
		
			
			* enterprise: fix unique index for key, fix field names Signed-off-by: Jens Langhammer <jens@goauthentik.io> * enterprise: update UI to match Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Enterprise license tests"""
 | |
| from datetime import timedelta
 | |
| from time import mktime
 | |
| from unittest.mock import MagicMock, patch
 | |
| 
 | |
| from django.test import TestCase
 | |
| from django.utils.timezone import now
 | |
| from rest_framework.exceptions import ValidationError
 | |
| 
 | |
| from authentik.enterprise.models import License, LicenseKey
 | |
| from authentik.lib.generators import generate_id
 | |
| 
 | |
| _exp = int(mktime((now() + timedelta(days=3000)).timetuple()))
 | |
| 
 | |
| 
 | |
| class TestEnterpriseLicense(TestCase):
 | |
|     """Enterprise license tests"""
 | |
| 
 | |
|     @patch(
 | |
|         "authentik.enterprise.models.LicenseKey.validate",
 | |
|         MagicMock(
 | |
|             return_value=LicenseKey(
 | |
|                 aud="",
 | |
|                 exp=_exp,
 | |
|                 name=generate_id(),
 | |
|                 internal_users=100,
 | |
|                 external_users=100,
 | |
|             )
 | |
|         ),
 | |
|     )
 | |
|     def test_valid(self):
 | |
|         """Check license verification"""
 | |
|         lic = License.objects.create(key=generate_id())
 | |
|         self.assertTrue(lic.status.is_valid())
 | |
|         self.assertEqual(lic.internal_users, 100)
 | |
| 
 | |
|     def test_invalid(self):
 | |
|         """Test invalid license"""
 | |
|         with self.assertRaises(ValidationError):
 | |
|             License.objects.create(key=generate_id())
 | |
| 
 | |
|     @patch(
 | |
|         "authentik.enterprise.models.LicenseKey.validate",
 | |
|         MagicMock(
 | |
|             return_value=LicenseKey(
 | |
|                 aud="",
 | |
|                 exp=_exp,
 | |
|                 name=generate_id(),
 | |
|                 internal_users=100,
 | |
|                 external_users=100,
 | |
|             )
 | |
|         ),
 | |
|     )
 | |
|     def test_valid_multiple(self):
 | |
|         """Check license verification"""
 | |
|         lic = License.objects.create(key=generate_id())
 | |
|         self.assertTrue(lic.status.is_valid())
 | |
|         lic2 = License.objects.create(key=generate_id())
 | |
|         self.assertTrue(lic2.status.is_valid())
 | |
|         total = LicenseKey.get_total()
 | |
|         self.assertEqual(total.internal_users, 200)
 | |
|         self.assertEqual(total.external_users, 200)
 | |
|         self.assertEqual(total.exp, _exp)
 | |
|         self.assertTrue(total.is_valid())
 |