From ea9df6c7688613783ca114f0f11c6f6baf30036b Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 28 Jan 2022 15:18:15 +0100 Subject: update error reporting in popup --- test/unit/test_policy_deciding.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'test/unit/test_policy_deciding.py') diff --git a/test/unit/test_policy_deciding.py b/test/unit/test_policy_deciding.py index 88095af..75b35ac 100644 --- a/test/unit/test_policy_deciding.py +++ b/test/unit/test_policy_deciding.py @@ -55,7 +55,7 @@ def test_decide_policy(execute_in_page): returnval(decide_policy(pqt.make(), "http://unkno.wn/", true, "abcd")); ''') assert policy['allow'] == True - for prop in ('mapping', 'payload', 'nonce', 'csp'): + for prop in ('mapping', 'payload', 'nonce', 'csp', 'error'): assert prop not in policy policy = execute_in_page( @@ -66,7 +66,7 @@ def test_decide_policy(execute_in_page): }''') assert policy['allow'] == True assert policy['mapping'] == '~allow' - for prop in ('payload', 'nonce', 'csp'): + for prop in ('payload', 'nonce', 'csp', 'error'): assert prop not in policy policy = execute_in_page( @@ -75,7 +75,7 @@ def test_decide_policy(execute_in_page): ''' ) assert policy['allow'] == False - for prop in ('mapping', 'payload', 'nonce'): + for prop in ('mapping', 'payload', 'nonce', 'error'): assert prop not in policy assert parse_csp(policy['csp']) == { 'prefetch-src': "'none'", @@ -92,7 +92,7 @@ def test_decide_policy(execute_in_page): }''') assert policy['allow'] == False assert policy['mapping'] == '~allow' - for prop in ('payload', 'nonce'): + for prop in ('payload', 'nonce', 'error'): assert prop not in policy assert parse_csp(policy['csp']) == { 'prefetch-src': "'none'", @@ -110,7 +110,7 @@ def test_decide_policy(execute_in_page): assert policy['allow'] == False assert policy['mapping'] == 'm1' assert policy['payload'] == {'identifier': 'res1'} - + assert 'error' not in policy assert policy['nonce'] == \ sha256('m1:res1:http://kno.wn/:abcd'.encode()).digest().hex() assert parse_csp(policy['csp']) == { @@ -119,3 +119,17 @@ def test_decide_policy(execute_in_page): 'script-src': f"'nonce-{policy['nonce']}'", 'script-src-elem': f"'nonce-{policy['nonce']}'" } + + policy = execute_in_page( + 'returnval(decide_policy(pqt.make(), "", true, "abcd"));' + ) + assert policy['allow'] == False + assert policy['error'] == {'haketilo_error_type': 'deciding_policy'} + for prop in ('mapping', 'payload', 'nonce'): + assert prop not in policy + assert parse_csp(policy['csp']) == { + 'prefetch-src': "'none'", + 'script-src-attr': "'none'", + 'script-src': "'none'", + 'script-src-elem': "'none'" + } -- cgit v1.2.3