Ejemplo n.º 1
0
 def test_all(self):
     dump = dump_excluding_secrets(self.event, self.lh_options)
     expected = {
         "password": "******",
         "credentials": {
             "password": "******"
         },
         "credentials3": {
             "credentials": {
                 "password": "******"
             }
         },
         "key": "*****",
     }
     self.assertEquals(expected, dump)
Ejemplo n.º 2
0
 def test_wrong_and_correct_keys(self):
     lh_options = {
         "secure_keys": ["passwd", "credentials3.credentials.password"]
     }
     dump = dump_excluding_secrets(self.event, lh_options)
     expected = {
         "password": "******",
         "credentials": {
             "password": "******"
         },
         "credentials3": {
             "credentials": {
                 "password": "******"
             }
         },
         "key": "key",
     }
     self.assertEquals(expected, dump)
Ejemplo n.º 3
0
 def handle(self, data, context):
     # pylint: disable=broad-except
     try:
         # if isinstance(data, six.string_types):
         input_object = json.loads(data)
         # else:
         #    input_object = data
         input_type = input_object['type']
         self.logger.info("Got event type %s", input_type)
         lh_options = {}
         proxy_options = {}
         ignore_proxy = False
         if 'lh_options' in input_object:
             lh_options = input_object['lh_options']
             self.logger.info("Got lh_options %s", lh_options)
             if lh_options and 'proxy_options' in lh_options:
                 proxy_options = lh_options['proxy_options']
         event = input_object['config']
         self.logger.info("Got event config %s", dump_excluding_secrets(event, lh_options))
         handler = resolve_event(input_type, self.options)
         if not handler:
             raise ValueError("Unresolved event type: " + input_type)
         handler.add_lh_options(lh_options)
         if 'ignore_proxy' in event:
             ignore_proxy = event['ignore_proxy']
         if proxy_options and not ignore_proxy:
             proxies = create_proxies(proxy_options)
             if proxies:
                 handler.add_proxies(proxies)
         result = handler.invoke(event, context)
         return action_success(result)
     except ActionError as e:
         self.logger.error("Raised action error code=%s, message=%s", e.code, e)
         return action_error(str(e), e.code)
     except Exception:
         formatted_lines = traceback.format_exc().splitlines()
         e = "Error processing request: " + str(formatted_lines[-1])
         self.logger.exception("Exception during processing request")
         return action_error(str(e), None)
Ejemplo n.º 4
0
 def handle(self, data, context):
     """Handle the incoming request to this controller. """
     # pylint: disable=broad-except
     try:
         if isinstance(data, six.string_types):
             input_object = json.loads(data)
         else:
             input_object = data
         input_type = input_object['type']
         self.logger.info("Got event type %s", input_type)
         lh_options = {}
         proxy_options = {}
         no_proxy = False
         if 'lh_options' in input_object:
             lh_options = input_object['lh_options']
             if lh_options and 'proxy_options' in lh_options:
                 proxy_options = lh_options['proxy_options']
         event = input_object['config']
         self.logger.info("Got event config %s", dump_excluding_secrets(event, lh_options))
         handler = resolve_event(input_type, self.options)
         if not handler:
             raise ValueError("Unresolved event type: " + input_type)
         handler.add_lh_options(lh_options)
         if 'no_proxy' in event:
             no_proxy = event['no_proxy']
         if proxy_options and not no_proxy:
             proxies = create_proxies(proxy_options)
             if proxies:
                 handler.add_proxies(proxies)
         result = handler.invoke(event, context)
         return self.__action_success(result)
     except ActionError as e:
         self.logger.error("Raised action error code=%s, message=%s", e.code, e)
         return self.__action_error(str(e), e.code)
     except Exception as e:
         self.logger.exception("Exception during processing request")
         return self.__action_error(str(e), None)
Ejemplo n.º 5
0
 def test_wrong_keys(self):
     lh_options = {"secure_keys": ["passwd", "cred.password"]}
     dump = dump_excluding_secrets(self.event, lh_options)
     self.assertEquals(self.event, dump)
Ejemplo n.º 6
0
 def test_empty_options(self):
     lh_options = {}
     dump = dump_excluding_secrets(self.event, lh_options)
     self.assertEquals(self.event, dump)
Ejemplo n.º 7
0
 def test_empty_keys(self):
     lh_options = {"secure_keys": []}
     dump = dump_excluding_secrets(self.event, lh_options)
     self.assertEquals(self.event, dump)