43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import pytest
 | |
| 
 | |
| from tests.factories import TaskOrderFactory, UserFactory
 | |
| from atst.domain.authz import Authorization
 | |
| from atst.domain.exceptions import UnauthorizedError
 | |
| 
 | |
| 
 | |
| @pytest.fixture
 | |
| def invalid_user():
 | |
|     return UserFactory.create()
 | |
| 
 | |
| 
 | |
| @pytest.fixture
 | |
| def task_order():
 | |
|     return TaskOrderFactory.create()
 | |
| 
 | |
| 
 | |
| def test_is_ko(task_order, invalid_user):
 | |
|     assert not Authorization.is_ko(invalid_user, task_order)
 | |
|     assert Authorization.is_ko(task_order.contracting_officer, task_order)
 | |
| 
 | |
| 
 | |
| def test_is_cor(task_order, invalid_user):
 | |
|     assert not Authorization.is_cor(invalid_user, task_order)
 | |
|     assert Authorization.is_cor(
 | |
|         task_order.contracting_officer_representative, task_order
 | |
|     )
 | |
| 
 | |
| 
 | |
| def test_is_so(task_order, invalid_user):
 | |
|     assert Authorization.is_so(task_order.security_officer, task_order)
 | |
|     assert not Authorization.is_so(invalid_user, task_order)
 | |
| 
 | |
| 
 | |
| def test_check_is_ko_or_cor(task_order, invalid_user):
 | |
|     assert Authorization.check_is_ko_or_cor(
 | |
|         task_order.contracting_officer_representative, task_order
 | |
|     )
 | |
|     assert Authorization.check_is_ko_or_cor(task_order.contracting_officer, task_order)
 | |
| 
 | |
|     with pytest.raises(UnauthorizedError):
 | |
|         Authorization.check_is_ko_or_cor(invalid_user, task_order)
 |