def test_token(self, token): original_token = token() idem = Identity(original_token) tk = idem.token() assert original_token == tk
def test_data(self, token): idem = Identity(token()) expected_keys = { 'claims', 'roles', 'iss', 'aud', 'auth_time', 'user_id', 'sub', 'iat', 'exp', 'email', 'email_verified', 'firebase' } data = idem.data() assert set(data.keys()) == expected_keys
def test_get_user_id(self, token): data = { 0: Identity(token(sysadmin=True, user_id='111')), 1: 'some parameter' } result = user_event.get_user_id(data) assert result == '111'
def test_is_staff(self, token): idem = Identity(token(staff=True)) idem2 = Identity(token(admin=True)) it_should_be = idem.is_staff() is_should_not_be = idem2.is_staff() assert it_should_be assert not is_should_not_be
def test_track_function(self, mocked_handler, token): @user_event.track def do_something(a, b, c, d): return 'something' iden = Identity(token(sysadmin=True, user_id='111')) with patch( 'styler_rest_framework.events.user_event.time.time', Mock(return_value='timestamp') ): do_something(1234, 'aaa', c='parameter c', d=iden) mocked_handler.assert_called_once_with( user_event._TABLE, 'tests.events.test_user_event.do_something', '111#tests.events.test_user_event.do_something#timestamp', { 0: 1234, 1: 'aaa', 'c': 'parameter c', 'd': json.dumps(iden.__dict__), 'return': '"something"' } )
def test_shops(self, token): idem = Identity(token(shops=['12345', '33442'])) shops = idem.shops() assert shops == ['12345', '33442']
def test_invalid_roles_staff(self, empty_token): idem = Identity(empty_token) result = idem.is_staff() assert not result
def test_invalid_roles_sysadmin(self, empty_token): idem = Identity(empty_token) result = idem.is_system_admin() assert not result
def test_user_id(self, token): idem = Identity(token({'user_id': '1234'})) user_id = idem.user_id() assert user_id == '1234'
def test_valid_token(self, token): idem = Identity(token()) assert isinstance(idem, Identity)
def test_invalid_token(self): with pytest.raises(ValueError) as expected: Identity('invalid token') assert str(expected.value) == 'Invalid JWT token'
def test_organizations_none(self, empty_token): idem = Identity(empty_token) organizations = idem.organizations() assert organizations == []
def test_organizations(self, token): idem = Identity(token(organizations=['33333'])) organizations = idem.organizations() assert organizations == ['33333']
def test_shops_none(self, empty_token): idem = Identity(empty_token) shops = idem.shops() assert shops == []