def test_get_required_empty_claims(self): """ Test getting the claims that are required and empty. Expected Result: Only the names of claims that are not optional, but have no value are returned. """ easyjwt = EasyJWT(self.key) # Assert there is an optional, empty claim. This claim is not included in the output. self.assertIsNone(easyjwt.not_before_date) self.assertTrue(easyjwt._is_optional_claim('nbf')) # Set an optional claim. This claim is not included in the output. easyjwt.expiration_date = self.expiration_date self.assertTrue(easyjwt._is_optional_claim('exp')) # Create a non-optional claim and set a value. This claim is not included in the output. easyjwt.required = True self.assertTrue(easyjwt._is_claim('required')) # Create a non-optional, empty claim. This claim is included in the output. required_empty_claim = 'required_empty' easyjwt.required_empty = None self.assertTrue(easyjwt._is_claim(required_empty_claim)) self.assertSetEqual({required_empty_claim}, easyjwt._get_required_empty_claims())
def test_is_optional_claim_easyjwt_class(self): """ Test if the claim for the `EasyJWT` class is optional. Expected Result: `False` """ self.assertFalse(EasyJWT._is_optional_claim('_easyjwt_class'))
def test_is_optional_claim_optional_set(self): """ Test if the claims in the optional claims set are optional. Expected Result: `True` for all claims in the set. """ for claim in EasyJWT._optional_claims: self.assertTrue(EasyJWT._is_optional_claim(claim), f'{claim} unexpectedly is not optional')
def test_is_optional_claim_non_optional_claim(self): """ Test if a claim that is not in the optional claims set is optional. Expected Result: `False` """ claim = 'non_optional_claim' self.assertNotIn(claim, EasyJWT._optional_claims) self.assertFalse(EasyJWT._is_optional_claim(claim))
def test_registered_claim_subject(self): """ Test the registered claim ``sub``. Expected Result: The field is an optional claim and correctly mapped to the claim name and vice versa. """ instance_var_name = 'subject' claim_name = 'sub' self.assertTrue(EasyJWT._is_claim(instance_var_name)) self.assertTrue(EasyJWT._is_optional_claim(claim_name)) self.assertEqual(instance_var_name, EasyJWT._map_claim_name_to_instance_var(claim_name)) self.assertEqual( claim_name, EasyJWT._map_instance_var_to_claim_name(instance_var_name))