def test_cached_by_service_region(self, patched_env, patched_resource,
                                   patched_client):
     """
     Test the cached_by_service_region function
     """
     from chalicelib import cache
     cache.cached_by_service_region(SERVICE, REGION)
def speke_server_ddb_items(region):
    """
    Find the SPEKE key servers based on MediaPackage endpoint configurations
    """
    items = []
    # create an expression to find speke server urls
    jsonpath_expr = parse('$..SpekeKeyProvider.Url')
    # get MediaPackage origin endpoints
    mediapackage_ep_cached = cache.cached_by_service_region(
        "mediapackage-origin-endpoint", region)
    for endpoint in mediapackage_ep_cached:
        # decode the endpoint configuration
        endpoint_data = json.loads(endpoint["data"])
        for server_url in [
                match.value for match in jsonpath_expr.find(endpoint_data)
        ]:
            parsed = urlparse(server_url)
            sha = hashlib.sha1()
            sha.update(server_url.encode('utf-8'))
            url_digest = sha.hexdigest()
            arn = "arn:oss:speke:::{}".format(url_digest)
            config = {
                "arn": arn,
                "endpoint": server_url,
                "scheme": parsed.scheme
            }
            service = "speke-keyserver"
            # print(config)
            items.append(node_to_ddb_item(arn, service, "global", config))
    return items
def speke_server_ddb_items(region):
    """
    Find the SPEKE key servers based on MediaPackage endpoint configurations
    """
    items = []
    # create an expression to find speke server urls
    jsonpath_expr = parse('$..SpekeKeyProvider.Url')
    # get MediaPackage origin endpoints
    mediapackage_ep_cached = cache.cached_by_service_region("mediapackage-origin-endpoint", region)
    for endpoint in mediapackage_ep_cached:
        # decode the endpoint configuration
        endpoint_data = json.loads(endpoint["data"])
        for server_url in [match.value for match in jsonpath_expr.find(endpoint_data)]:
            parsed = urlparse(server_url)
            sha = hashlib.sha1()
            sha.update(server_url.encode('utf-8'))
            url_digest = sha.hexdigest()
            arn = "arn:oss:speke:::{}".format(url_digest)
            config = {"arn": arn, "endpoint": server_url, "scheme": parsed.scheme}
            service = "speke-keyserver"
            # print(config)
            items.append(node_to_ddb_item(arn, service, "global", config))
    return items
def cached_by_service_region(service, region):
    """
    API entry point to retrieve items from the cache under the service and region name.
    """
    return cache.cached_by_service_region(service, region)
def cached_by_service_region(service, region):
    """
    API entry point to retrieve items from the cache under the service and region name.
    """
    return cache.cached_by_service_region(service, region)