Example #1
0
 def validate(self, validation_key: str, model: dict):
     """
     Validate based on a schema definition
     :param validation_key: path in swagger document to find schema
     :param model: model to validate
     :return: None if validation is successful, otherwise an exception will be raised
     """
     spec = reach(self.spec_source, validation_key)
     if not spec:
         raise Base422Exception(
             'No validation available',
             reason='A spec was requested but not resolved from API decs')
     try:
         validate_object(self.spec, spec, model)
     except ValidationError as verr:
         raise Base422Exception('Validation Failed', str(verr))
Example #2
0
 def test_returns_none(self):
     self.assertEqual(reach(self.obj, 'j'), None)
Example #3
0
 def test_returns_function_property(self):
     self.assertEqual(reach(self.obj, 'i.x'), 5)
Example #4
0
 def test_returns_none_from_invalid_attribute(self):
     self.assertEqual(reach(self.obj, 'a.b.c.d-.x'), None)
Example #5
0
 def test_raises_keyerror_from_missing_object_attribute_in_strict_mode(
         self):
     with self.assertRaises(KeyError):
         reach(self.obj, 'a.b.c.o.x', options={'strict': True})
Example #6
0
 def test_returns_none_from_missing_function_attribute(self):
     self.assertEqual(reach(self.obj, 'i.y'), None)
Example #7
0
 def test_returns_none_from_missing_object_attribute(self):
     self.assertEqual(reach(self.obj, 'a.b.c.d.x'), None)
Example #8
0
def get_authorization_header(event):
    """Gets the authorization header from the standard lambda event, returns None if not present."""

    return reach(event, "headers.Authorization", options={'default': None})
Example #9
0
 def test_returns_a_valid_member_with_separator_override(self):
     self.assertEqual(
         reach(self.obj, 'a/b/c/d', options={'separator': '/'}), 1)
Example #10
0
 def test_returns_a_valid_member(self):
     self.assertEqual(reach(self.obj, 'a.b.c.d'), 1)
Example #11
0
 def test_returns_last_value_of_array_using_negative_index(self):
     self.assertEqual(reach(self.obj, 'k.-2'), 9)
Example #12
0
 def test_returns_first_value_of_array(self):
     self.assertEqual(reach(self.obj, 'k.0'), 4)
Example #13
0
 def test_returns_object_itself(self):
     self.assertEqual(reach(self.obj, None), self.obj)
     self.assertEqual(reach(self.obj, False), self.obj)
     self.assertEqual(reach(self.obj), self.obj)
Example #14
0
def get_claims(event):
    """Attempts to get the dictionary of claims from within standard lambda event."""

    return reach(event,
                 'requestContext.authorizer.claims',
                 options={'default': {}})
Example #15
0
 def test_returns_nested_default_value(self):
     self.assertEqual(
         reach(self.obj, 'a.b.q', options={'default': 'testerino'}),
         'testerino')
Example #16
0
 def test_returns_none_from_none_object(self):
     self.assertEqual(reach(None, 'a.b.c.d'), None)
Example #17
0
def get_account_id(event):
    """Gets the account id from a standard lambda event."""

    return reach(event,
                 'requestContext.authorizer.claims.sub',
                 options={'default': None})