def test_default_values(self):
     config = Configuration()
     self.assertEqual(config.api_secret, None)
     self.assertEqual(config.host, 'api.castle.io')
     self.assertEqual(config.port, 443)
     self.assertEqual(config.url_prefix, '/v1')
     self.assertEqual(config.whitelisted,
                      [HeadersFormatter.call(v) for v in WHITELISTED])
     self.assertEqual(config.blacklisted,
                      [HeadersFormatter.call(v) for v in BLACKLISTED])
     self.assertEqual(config.request_timeout, 500)
     self.assertEqual(config.failover_strategy, 'allow')
    def call(self):
        result = dict()

        for header_name, value in self.environ.items():
            if not re.match(VALUABLE_HEADERS, header_name, flags=re.X | re.I):
                continue

            formatted_name = HeadersFormatter.call(header_name)
            result[formatted_name] = value

        return result
Example #3
0
 def blacklisted(self, value):
     if value:
         self.__blacklisted = [HeadersFormatter.call(v) for v in value]
     else:
         self.__blacklisted = []
Example #4
0
 def whitelisted(self, value):
     if value:
         self.__whitelisted = [HeadersFormatter.call(v) for v in value]
     else:
         self.__whitelisted = []
 def ip_headers(self, value):
     if isinstance(value, list):
         self.__ip_headers = [HeadersFormatter.call(v) for v in value]
     else:
         raise ConfigurationError
Example #6
0
 def test_call_removes_http_and_capitalizes(self):
     self.assertEqual(HeadersFormatter.call('HTTP_X_TEST'), 'X-Test')
Example #7
0
 def test_without_http(self):
     self.assertEqual(HeadersFormatter.call('X_TEST'), 'X-Test')
Example #8
0
 def test_does_not_remove_http_if_there_is_no_divider(self):
     self.assertEqual(HeadersFormatter.call('httpX_teST'), 'Httpx-Test')
Example #9
0
 def test_mixed_dividers(self):
     self.assertEqual(HeadersFormatter.call('http-X_teST'), 'X-Test')