diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ecce06c..2b4fd02 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -49,9 +49,10 @@ jobs: pytest --cov=. --cov-report=html docs: - needs: test runs-on: ubuntu-latest steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v3 - name: Install dependencies run: | pip install sphinx sphinx_rtd_theme sphinx-tabs sphinx-copybutton @@ -59,8 +60,6 @@ jobs: - name: Sphinx build run: | sphinx-build docs _build - cp -a htmlcov/ _build/htmlcov - ls -la _build/htmlcov/ - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3 diff --git a/changes/71954.chore b/changes/71954.chore new file mode 100644 index 0000000..70b1dc7 --- /dev/null +++ b/changes/71954.chore @@ -0,0 +1 @@ +add test to ensure service accounts can't be manually changed \ No newline at end of file diff --git a/coverage.json b/coverage.json index 95e8885..cc2622f 100644 --- a/coverage.json +++ b/coverage.json @@ -1 +1,4349 @@ -{"meta": {"format": 3, "version": "7.14.0", "timestamp": "2026-06-24T16:19:05.265852", "branch_coverage": false, "show_contexts": false}, "files": {"src\\ims\\sso\\__init__.py": {"executed_lines": [1, 3, 5, 8, 9, 10], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"initialize": {"executed_lines": [9, 10], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "": {"executed_lines": [1, 3, 5, 8], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 5, 8, 9, 10], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\browser\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\browser\\cron.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 16, 17, 18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"PeriodicTasks.__call__": {"executed_lines": [17, 18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 16], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"PeriodicTasks": {"executed_lines": [17, 18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 16], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\browser\\login.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 19, 22, 23, 24, 27, 28, 29, 30, 32, 33, 34, 35, 42, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 87, 88, 89, 90, 91, 92, 93, 95, 97, 98, 100, 101, 103, 104, 105, 106, 114, 116, 119, 120, 121, 122, 123, 124, 129, 132, 133, 134, 135, 136, 137, 140, 141, 142, 145, 146, 148, 150, 151, 157, 158, 164, 171, 172, 173, 174, 176, 177, 178, 180, 181, 182, 186, 187, 188, 189, 191, 192, 193, 200, 201, 207, 213, 214, 217, 218, 219, 220, 222, 223, 224, 226, 227, 228, 229, 230, 231, 236, 237, 238, 239, 240, 241, 243, 246, 247, 249, 257], "summary": {"covered_lines": 150, "num_statements": 150, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"RedirectLogin.__call__": {"executed_lines": [23, 24], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "SsoLogout.sso": {"executed_lines": [30], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "SsoLogout.__call__": {"executed_lines": [33, 34, 35, 42], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "SsoLinkaccount.__init__": {"executed_lines": [48, 49], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47}, "SsoLinkaccount.publishTraverse": {"executed_lines": [52, 53], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "SsoLinkaccount.__call__": {"executed_lines": [56, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 87, 88, 89, 90, 91, 92, 93, 95], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55}, "SsoLinkaccount.disallowed": {"executed_lines": [98], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 97}, "SsoLinkaccount.success": {"executed_lines": [101], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 100}, "SsoLinkaccount.invalid_key": {"executed_lines": [104, 105, 106, 114, 116], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 103}, "LoginUrl.__call__": {"executed_lines": [121, 122, 123, 124, 129], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 120}, "LoginCondition.__call__": {"executed_lines": [134, 135, 136, 137], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133}, "LogoutUrl.__call__": {"executed_lines": [142], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 141}, "RequireLoginView.__call__": {"executed_lines": [148, 150, 151, 157, 158, 164], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 146}, "RequestReactivation.render": {"executed_lines": [173, 174, 176, 177, 178, 180, 181, 182, 186, 187, 188, 189, 191, 192, 193, 200, 201, 207, 213, 214], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 172}, "ReactivateUserAccount.__init__": {"executed_lines": [219, 220], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 218}, "ReactivateUserAccount.publishTraverse": {"executed_lines": [223, 224], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 222}, "ReactivateUserAccount.__call__": {"executed_lines": [227, 228, 229, 230, 231, 236, 237, 238, 239, 240, 241, 243, 246, 247, 249, 257], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 226}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 19, 22, 27, 28, 29, 32, 45, 46, 47, 51, 55, 97, 100, 103, 119, 120, 132, 133, 140, 141, 145, 146, 171, 172, 217, 218, 222, 226], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"RedirectLogin": {"executed_lines": [23, 24], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "SsoLogout": {"executed_lines": [30, 33, 34, 35, 42], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "SsoLinkaccount": {"executed_lines": [48, 49, 52, 53, 56, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 87, 88, 89, 90, 91, 92, 93, 95, 98, 101, 104, 105, 106, 114, 116], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "LoginUrl": {"executed_lines": [121, 122, 123, 124, 129], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 119}, "LoginCondition": {"executed_lines": [134, 135, 136, 137], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 132}, "LogoutUrl": {"executed_lines": [142], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 140}, "RequireLoginView": {"executed_lines": [148, 150, 151, 157, 158, 164], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145}, "RequestReactivation": {"executed_lines": [173, 174, 176, 177, 178, 180, 181, 182, 186, 187, 188, 189, 191, 192, 193, 200, 201, 207, 213, 214], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 171}, "ReactivateUserAccount": {"executed_lines": [219, 220, 223, 224, 227, 228, 229, 230, 231, 236, 237, 238, 239, 240, 241, 243, 246, 247, 249, 257], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 217}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 19, 22, 27, 28, 29, 32, 45, 46, 47, 51, 55, 97, 100, 103, 119, 120, 132, 133, 140, 141, 145, 146, 171, 172, 217, 218, 222, 226], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\browser\\password.py": {"executed_lines": [1, 2, 5, 6, 8, 9], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"ChangePassword.__call__": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "": {"executed_lines": [1, 2, 5, 6, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"ChangePassword": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 5}, "": {"executed_lines": [1, 2, 5, 6, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\browser\\register.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 27, 28, 30, 32, 33, 34, 39, 40, 41, 42, 43, 44, 45, 47, 48, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 64, 66, 67, 68, 69, 70, 71, 73, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 95, 101, 102, 103, 104, 105, 107, 108, 111, 113, 115, 119, 120, 121, 123, 124, 126, 128, 129, 131, 133, 135, 138, 139, 140, 144, 146, 147, 148, 149, 151, 155, 156, 158, 159, 160, 161], "summary": {"covered_lines": 100, "num_statements": 108, "percent_covered": 92.5925925925926, "percent_covered_display": "93", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 92.5925925925926, "percent_statements_covered_display": "93"}, "missing_lines": [116, 117, 125, 136, 150, 152, 153, 154], "excluded_lines": [], "functions": {"AddUserForm.sso": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "AddUserForm.sso_configured": {"executed_lines": [28], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "AddUserForm.updateFields": {"executed_lines": [32, 33, 34, 39, 40, 41, 42, 43, 44, 45], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "AddUserForm.updateWidgets": {"executed_lines": [48, 52, 53, 54, 55], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47}, "AddUserForm.updateActions": {"executed_lines": [58, 59, 60, 61, 62], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57}, "AddUserForm.generate_user_id": {"executed_lines": [66, 67, 68, 69, 70, 71], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64}, "AddUserForm.handle_join_success": {"executed_lines": [78, 79, 81, 82, 83, 84, 85, 86, 88, 89], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73}, "AddUserForm.applyProperties": {"executed_lines": [101, 102, 103, 104, 105], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 95}, "AddUserForm.action_join": {"executed_lines": [111, 113, 115, 119, 120, 121, 123, 128, 129, 131, 133, 135, 138, 139, 140, 144, 146, 147, 148, 149, 151, 155, 156], "summary": {"covered_lines": 23, "num_statements": 30, "percent_covered": 76.66666666666667, "percent_covered_display": "77", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 76.66666666666667, "percent_statements_covered_display": "77"}, "missing_lines": [116, 117, 136, 150, 152, 153, 154], "excluded_lines": [], "start_line": 108}, "AddUserForm.action_join.wrap_name": {"executed_lines": [124, 126], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [125], "excluded_lines": [], "start_line": 123}, "AddUserForm.handleCancel": {"executed_lines": [160, 161], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 159}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20, 21, 23, 24, 27, 30, 47, 57, 64, 73, 95, 107, 108, 158, 159], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"AddUserForm": {"executed_lines": [25, 28, 32, 33, 34, 39, 40, 41, 42, 43, 44, 45, 48, 52, 53, 54, 55, 58, 59, 60, 61, 62, 66, 67, 68, 69, 70, 71, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 101, 102, 103, 104, 105, 111, 113, 115, 119, 120, 121, 123, 124, 126, 128, 129, 131, 133, 135, 138, 139, 140, 144, 146, 147, 148, 149, 151, 155, 156, 160, 161], "summary": {"covered_lines": 70, "num_statements": 78, "percent_covered": 89.74358974358974, "percent_covered_display": "90", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 89.74358974358974, "percent_statements_covered_display": "90"}, "missing_lines": [116, 117, 125, 136, 150, 152, 153, 154], "excluded_lines": [], "start_line": 17}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20, 21, 23, 24, 27, 30, 47, 57, 64, 73, 95, 107, 108, 158, 159], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\browser\\unauthorized.py": {"executed_lines": [1, 2, 5, 6, 7], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"Unauthorized.email_from_address": {"executed_lines": [7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 6}, "": {"executed_lines": [1, 2, 5, 6], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"Unauthorized": {"executed_lines": [7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 5}, "": {"executed_lines": [1, 2, 5, 6], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\browser\\usergroups_usersoverview.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 38, 40, 41, 43, 44, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 65, 66, 68, 70, 72, 73, 74, 75, 76, 77, 78, 80, 82, 84, 85, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 115, 116, 117, 118, 121, 123, 124, 125, 127, 130, 131, 136, 140, 143, 144, 145, 146, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 163, 164, 166, 170, 172, 173, 174, 175, 177, 178, 180, 182, 183, 184, 186, 188, 189, 191, 192, 193, 196, 198, 201, 202, 203, 204, 205, 206, 207, 208, 210, 211, 214, 215, 218, 219, 221, 222, 223, 224, 225, 226, 227, 235, 237, 239, 240, 242, 243, 251, 252, 258, 259, 260, 261, 262, 270, 272, 274, 275, 276, 277, 278, 279, 280, 282, 283, 285, 286, 288, 289, 291, 292, 293, 294, 295, 297, 298, 304, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315], "summary": {"covered_lines": 198, "num_statements": 199, "percent_covered": 99.49748743718592, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 2, "percent_statements_covered": 99.49748743718592, "percent_statements_covered_display": "99"}, "missing_lines": [108], "excluded_lines": [62, 63], "functions": {"UsersOverviewControlPanel.sso": {"executed_lines": [34], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "UsersOverviewControlPanel.submitted": {"executed_lines": [38], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "UsersOverviewControlPanel.can_change_roles": {"executed_lines": [41], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "UsersOverviewControlPanel.uses_expiry": {"executed_lines": [44], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "UsersOverviewControlPanel.expiry_days": {"executed_lines": [47], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "UsersOverviewControlPanel.emails": {"executed_lines": [50, 51, 52, 53, 54, 55], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49}, "UsersOverviewControlPanel.portal_roles": {"executed_lines": [59, 60, 61, 65, 66], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [62, 63], "start_line": 58}, "UsersOverviewControlPanel.print_expiry": {"executed_lines": [70, 72, 73, 74, 75, 76, 77, 78, 80], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68}, "UsersOverviewControlPanel.doSearch": {"executed_lines": [84, 85, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 115, 116, 117, 118, 121, 123, 124, 125, 127, 130, 131, 136, 140, 143, 144, 145, 146, 148], "summary": {"covered_lines": 44, "num_statements": 45, "percent_covered": 97.77777777777777, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.77777777777777, "percent_statements_covered_display": "98"}, "missing_lines": [108], "excluded_lines": [], "start_line": 82}, "UsersOverviewControlPanel.validate_emails": {"executed_lines": [151, 152, 153, 154, 155, 156, 157, 158, 163, 164], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 150}, "UsersOverviewControlPanel.manageUser": {"executed_lines": [170, 172, 173, 174, 175, 177, 178, 180, 182, 183, 184, 186, 188, 189, 191, 192, 193, 196, 198, 201, 202, 203, 204, 205, 206, 207, 208, 210, 211, 214, 215, 218, 219, 221, 222, 223, 224, 225, 226, 227, 235, 237, 239, 240, 242, 243, 251, 252, 258, 259, 260, 261, 262, 270], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 166}, "UsersOverviewControlPanel.deleteMembers": {"executed_lines": [274, 275, 276, 277, 278, 279, 280], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 272}, "UsersOverviewControlPanel.active_status": {"executed_lines": [283], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 282}, "UsersOverviewControlPanel.not_active": {"executed_lines": [286], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 285}, "UsersOverviewControlPanel.active_options": {"executed_lines": [289], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 288}, "UsersOverviewControlPanel.active_search_options": {"executed_lines": [292, 293, 294, 295, 297, 298, 304], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 291}, "UsersOverviewControlPanel.datatables": {"executed_lines": [307, 308, 309, 310, 311, 312, 313, 314, 315], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 306}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 25, 26, 27, 28, 31, 32, 33, 36, 37, 40, 43, 46, 49, 57, 58, 68, 82, 150, 166, 272, 282, 285, 288, 291, 306], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"UsersOverviewControlPanel": {"executed_lines": [34, 38, 41, 44, 47, 50, 51, 52, 53, 54, 55, 59, 60, 61, 65, 66, 70, 72, 73, 74, 75, 76, 77, 78, 80, 84, 85, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 115, 116, 117, 118, 121, 123, 124, 125, 127, 130, 131, 136, 140, 143, 144, 145, 146, 148, 151, 152, 153, 154, 155, 156, 157, 158, 163, 164, 170, 172, 173, 174, 175, 177, 178, 180, 182, 183, 184, 186, 188, 189, 191, 192, 193, 196, 198, 201, 202, 203, 204, 205, 206, 207, 208, 210, 211, 214, 215, 218, 219, 221, 222, 223, 224, 225, 226, 227, 235, 237, 239, 240, 242, 243, 251, 252, 258, 259, 260, 261, 262, 270, 274, 275, 276, 277, 278, 279, 280, 283, 286, 289, 292, 293, 294, 295, 297, 298, 304, 307, 308, 309, 310, 311, 312, 313, 314, 315], "summary": {"covered_lines": 159, "num_statements": 160, "percent_covered": 99.375, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 2, "percent_statements_covered": 99.375, "percent_statements_covered_display": "99"}, "missing_lines": [108], "excluded_lines": [62, 63], "start_line": 31}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 25, 26, 27, 28, 31, 32, 33, 36, 37, 40, 43, 46, 49, 57, 58, 68, 82, 150, 166, 272, 282, 285, 288, 291, 306], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\browser\\viewlets.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 12, 14, 15, 16, 18, 19, 21, 22, 24, 26, 28, 30, 32, 34, 36, 39, 40, 41, 42, 43, 45, 47, 48, 49, 50, 51, 52, 53], "summary": {"covered_lines": 34, "num_statements": 36, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94"}, "missing_lines": [44, 55], "excluded_lines": [], "functions": {"SsoWarningsViewlet.sso": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "SsoWarningsViewlet.status": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "SsoWarningsViewlet.reactivation_url": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "SsoWarningsViewlet.show_warning": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "SsoWarningsViewlet.is_inactive": {"executed_lines": [30], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "SsoWarningsViewlet.is_disabled": {"executed_lines": [34], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "SsoWarningsViewlet.show_alert": {"executed_lines": [39, 40, 41, 42, 43, 45], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [44], "excluded_lines": [], "start_line": 36}, "SsoWarningsViewlet.login_info": {"executed_lines": [48, 49, 50, 51, 52, 53], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [55], "excluded_lines": [], "start_line": 47}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 12, 14, 15, 18, 21, 24, 28, 32, 36, 47], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"SsoWarningsViewlet": {"executed_lines": [16, 19, 22, 26, 30, 34, 39, 40, 41, 42, 43, 45, 48, 49, 50, 51, 52, 53], "summary": {"covered_lines": 18, "num_statements": 20, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [44, 55], "excluded_lines": [], "start_line": 9}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 12, 14, 15, 18, 21, 24, 28, 32, 36, 47], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\configs.py": {"executed_lines": [1, 3, 5, 8, 9, 10, 11, 14, 16, 18], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 3, 5, 8, 9, 10, 11, 14, 16, 18], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 5, 8, 9, 10, 11, 14, 16, 18], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\controlpanels\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\controlpanels\\sso.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 10, 11, 12, 13, 16, 17, 18, 19, 22], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 10, 11, 12, 13, 16, 17, 18, 19, 22], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"SettingsEditForm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "ControlPanel": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 10, 11, 12, 13, 16, 17, 18, 19, 22], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\errors.py": {"executed_lines": [1, 5], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 5], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"IMSSSOException": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}, "NoSSOMailTemplatesException": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 5}, "": {"executed_lines": [1, 5], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\events.py": {"executed_lines": [1, 3, 4, 5, 6, 9, 13, 14, 18, 22, 23, 27, 29, 30, 31], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"user_relinked": {"executed_lines": [29, 30, 31], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "": {"executed_lines": [1, 3, 4, 5, 6, 9, 13, 14, 18, 22, 23, 27], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"IUserRelinkedEvent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "UserRelinkedEvent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "IUserIdpUpdated": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "UserIdpUpdated": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "": {"executed_lines": [1, 3, 4, 5, 6, 9, 13, 14, 18, 22, 23, 27, 29, 30, 31], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\interfaces.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 17, 18, 19, 24, 25, 30, 31, 36, 37, 38, 39, 40, 41, 47, 48, 53, 54, 59, 60, 64, 65, 69, 70, 76, 77, 82, 83, 88, 89, 96, 97, 114, 115, 120, 121, 126, 127, 133, 141, 145, 149, 153, 157, 160, 163, 167], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [161, 164], "functions": {"IMailTemplates.registered_notify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [161], "start_line": 160}, "IMailTemplates.mail_relink": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [164], "start_line": 163}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 17, 18, 19, 24, 25, 30, 31, 36, 37, 38, 39, 40, 41, 47, 48, 53, 54, 59, 60, 64, 65, 69, 70, 76, 77, 82, 83, 88, 89, 96, 97, 114, 115, 120, 121, 126, 127, 133, 141, 145, 149, 153, 157, 160, 163, 167], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"IBrowserLayer": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "ISSOSettings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "ISingleSignonUtility": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 141}, "IMassRelink": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145}, "IMailTemplatesUtility": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149}, "IReactivationUtility": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 153}, "IMailTemplates": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [161, 164], "start_line": 157}, "IUserExpiryUtility": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 167}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 17, 18, 19, 24, 25, 30, 31, 36, 37, 38, 39, 40, 41, 47, 48, 53, 54, 59, 60, 64, 65, 69, 70, 76, 77, 82, 83, 88, 89, 96, 97, 114, 115, 120, 121, 126, 127, 133, 141, 145, 149, 153, 157, 160, 163, 167], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\mailing\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\mailing\\mailers.py": {"executed_lines": [1, 2, 4, 5, 9, 10], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"NoSSOMailTemplates.registered_notify": {"executed_lines": [5], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 4}, "NoSSOMailTemplates.mail_relink": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "": {"executed_lines": [1, 2, 4, 9], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"NoSSOMailTemplates": {"executed_lines": [5, 10], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}, "": {"executed_lines": [1, 2, 4, 9], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\mailing\\notify.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 27, 28, 30, 34, 35, 38, 39, 41, 53, 56, 57, 59, 60, 61, 62, 63, 65, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 82, 86, 87, 89, 101], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"RegisteredNotify.__call__": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 25, 27, 28, 30, 34, 35, 38, 39, 41, 53], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "MailRelink.encoded_mail_sender": {"executed_lines": [59, 60, 61, 62, 63], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57}, "MailRelink.encode_mail_header": {"executed_lines": [67], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65}, "MailRelink.__call__": {"executed_lines": [70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 82, 86, 87, 89, 101], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 56, 57, 65, 69], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"RegisteredNotify": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 25, 27, 28, 30, 34, 35, 38, 39, 41, 53], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "MailRelink": {"executed_lines": [59, 60, 61, 62, 63, 67, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 82, 86, 87, 89, 101], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 56, 57, 65, 69], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\mailing\\relink.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 16, 21, 22, 23, 25, 26, 27, 28, 29, 31, 32, 34, 36, 37, 38, 40, 41, 42, 43, 45, 46, 48, 49, 51, 63, 65, 66, 74, 79, 81, 83, 84, 85, 86, 87, 88, 89, 91, 93, 94, 95, 96, 97, 98, 99, 101, 103], "summary": {"covered_lines": 59, "num_statements": 59, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"MassRelink.email_unlinked": {"executed_lines": [27, 28, 29, 31, 32, 34, 36, 37, 38, 40, 41, 42, 43, 45, 46, 48, 49, 51, 63, 65, 66, 74, 79], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "MassRelink.duplicates": {"executed_lines": [83, 84, 85, 86, 87, 88, 89], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 81}, "MassRelink.unlinked_user_data": {"executed_lines": [93, 94, 95, 96, 97, 98, 99], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 91}, "MassRelink.unlinked_users": {"executed_lines": [103], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 101}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 16, 21, 22, 23, 25, 26, 81, 91, 101], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"MassRelink": {"executed_lines": [27, 28, 29, 31, 32, 34, 36, 37, 38, 40, 41, 42, 43, 45, 46, 48, 49, 51, 63, 65, 66, 74, 79, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 98, 99, 103], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 16, 21, 22, 23, 25, 26, 81, 91, 101], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\plugin.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 22, 27, 28, 30, 33, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, 47, 49, 50, 52, 53, 54, 56, 57, 58, 60, 61, 63, 64, 65, 66, 70, 73, 74, 75, 77, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 102, 107, 109, 111, 112, 113, 114, 116, 117, 120, 127, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 146, 147, 149, 150, 152, 153, 154, 156, 157, 158, 160, 161, 162, 164, 165, 166, 168, 169, 170, 171, 173, 174, 175, 184, 186, 189, 191, 192, 194], "summary": {"covered_lines": 119, "num_statements": 122, "percent_covered": 97.54098360655738, "percent_covered_display": "98", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 97.54098360655738, "percent_statements_covered_display": "98"}, "missing_lines": [62, 68, 195], "excluded_lines": [], "functions": {"ImsSsoPlugin.__init__": {"executed_lines": [49, 50], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47}, "ImsSsoPlugin.login_url": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53}, "ImsSsoPlugin.sso": {"executed_lines": [58], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57}, "ImsSsoPlugin.challenge": {"executed_lines": [61, 63, 64, 65, 66], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [62, 68], "excluded_lines": [], "start_line": 60}, "ImsSsoPlugin.authenticateCredentials": {"executed_lines": [73, 74, 75, 77, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 102, 107], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 70}, "ImsSsoPlugin.update_user": {"executed_lines": [111, 112, 113, 114, 116, 117, 120, 127, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 146, 147, 149, 150], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 109}, "ImsSsoPlugin.shib_header_first_name": {"executed_lines": [154], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 153}, "ImsSsoPlugin.shib_header_last_name": {"executed_lines": [158], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 157}, "ImsSsoPlugin.shib_header_email": {"executed_lines": [162], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 161}, "ImsSsoPlugin.shib_header_idp": {"executed_lines": [166], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 165}, "ImsSsoPlugin.extractCredentials": {"executed_lines": [169, 170, 171, 173, 174, 175], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 168}, "manage_addImsSso": {"executed_lines": [191, 192, 194], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [195], "excluded_lines": [], "start_line": 189}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 22, 27, 28, 30, 33, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, 47, 52, 53, 56, 57, 60, 70, 109, 152, 153, 156, 157, 160, 161, 164, 165, 168, 184, 186, 189], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"Credentials": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "ImsSsoPlugin": {"executed_lines": [49, 50, 54, 58, 61, 63, 64, 65, 66, 73, 74, 75, 77, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 102, 107, 111, 112, 113, 114, 116, 117, 120, 127, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 146, 147, 149, 150, 154, 158, 162, 166, 169, 170, 171, 173, 174, 175], "summary": {"covered_lines": 66, "num_statements": 68, "percent_covered": 97.05882352941177, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 97.05882352941177, "percent_statements_covered_display": "97"}, "missing_lines": [62, 68], "excluded_lines": [], "start_line": 43}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 22, 27, 28, 30, 33, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, 47, 52, 53, 56, 57, 60, 70, 109, 152, 153, 156, 157, 160, 161, 164, 165, 168, 184, 186, 189, 191, 192, 194], "summary": {"covered_lines": 53, "num_statements": 54, "percent_covered": 98.14814814814815, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.14814814814815, "percent_statements_covered_display": "98"}, "missing_lines": [195], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\setuphandlers.py": {"executed_lines": [1, 2, 3, 4, 5, 10, 11, 12, 13, 15, 16, 19, 20, 21, 22, 24, 26, 27, 30, 31, 32, 33, 34, 35, 40, 41, 44, 46, 47, 49, 50, 57, 59, 60, 61, 62, 63, 65, 66, 67, 71, 72, 75, 76, 138, 139], "summary": {"covered_lines": 46, "num_statements": 49, "percent_covered": 93.87755102040816, "percent_covered_display": "94", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 93.87755102040816, "percent_statements_covered_display": "94"}, "missing_lines": [68, 69, 70], "excluded_lines": [], "functions": {"configure_plugin": {"executed_lines": [20, 21, 22, 24, 26, 27, 30, 31, 32, 33, 34, 35, 40, 41], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "install": {"executed_lines": [46, 47, 49, 50], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44}, "add_user_field": {"executed_lines": [59, 60, 61, 62, 63, 65, 66, 67, 71, 72], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 76.92307692307692, "percent_statements_covered_display": "77"}, "missing_lines": [68, 69, 70], "excluded_lines": [], "start_line": 57}, "setup_user_schema": {"executed_lines": [76, 138, 139], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75}, "": {"executed_lines": [1, 2, 3, 4, 5, 10, 11, 12, 13, 15, 16, 19, 44, 57, 75], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 10, 11, 12, 13, 15, 16, 19, 20, 21, 22, 24, 26, 27, 30, 31, 32, 33, 34, 35, 40, 41, 44, 46, 47, 49, 50, 57, 59, 60, 61, 62, 63, 65, 66, 67, 71, 72, 75, 76, 138, 139], "summary": {"covered_lines": 46, "num_statements": 49, "percent_covered": 93.87755102040816, "percent_covered_display": "94", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 93.87755102040816, "percent_statements_covered_display": "94"}, "missing_lines": [68, 69, 70], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\testing.py": {"executed_lines": [1, 2, 3, 4, 12, 15, 16, 18, 23, 24, 26, 27, 28, 31, 33, 38, 43, 48], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"UsersSiteLayer.setUpZope": {"executed_lines": [23, 24], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "UsersSiteLayer.setUpPloneSite": {"executed_lines": [27, 28], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "": {"executed_lines": [1, 2, 3, 4, 12, 15, 16, 18, 26, 31, 33, 38, 43, 48], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"UsersSiteLayer": {"executed_lines": [23, 24, 27, 28], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [1, 2, 3, 4, 12, 15, 16, 18, 26, 31, 33, 38, 43, 48], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\upgrades.py": {"executed_lines": [1, 3], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 3], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\ims\\sso\\utility.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 26, 27, 29, 35, 38, 41, 43, 46, 49, 50, 52, 54, 56, 58, 62, 63, 64, 66, 67, 68, 70, 75, 76, 78, 80, 81, 82, 83, 84, 85, 86, 92, 93, 95, 96, 97, 98, 99, 100, 101, 103, 105, 106, 107, 108, 109, 111, 113, 117, 118, 121, 123, 125, 126, 127, 128, 132, 134, 136, 138, 139, 141, 143, 145, 147, 149, 151, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 174, 176, 177, 178, 179, 180, 181, 182, 187, 188, 189, 190, 198, 200, 201, 203, 204, 205, 209, 210, 212, 213, 214, 215, 216, 218, 219, 220, 221, 229, 231, 232, 234, 244, 245, 246, 248, 249, 250, 252, 253, 254, 257, 258, 259, 260, 261, 263, 264, 265, 268, 269, 270, 272, 274, 282, 289, 291, 292, 293, 295, 297, 299, 300, 302, 304, 305, 307, 308, 311, 325, 327, 328, 329, 331, 332, 334, 335, 336, 337, 338, 339, 341, 343, 344, 346, 347, 348, 350, 352, 353, 357, 363, 364, 365, 368, 369, 370, 371, 372, 374, 376, 378, 379, 380, 381, 382, 386, 388, 390, 392, 393, 394, 395, 397, 399, 400, 402, 403, 406, 407, 408, 410, 412, 413, 414, 415, 416, 418, 419, 420, 421, 422, 423, 427, 428, 430, 432, 433, 434, 435, 436, 437, 440, 442, 443, 444, 445, 446, 461, 463, 464, 465, 466, 467, 468], "summary": {"covered_lines": 252, "num_statements": 274, "percent_covered": 91.97080291970804, "percent_covered_display": "92", "missing_lines": 22, "excluded_lines": 3, "percent_statements_covered": 91.97080291970804, "percent_statements_covered_display": "92"}, "missing_lines": [114, 115, 129, 130, 206, 207, 208, 354, 355, 366, 367, 377, 391, 424, 425, 426, 447, 448, 449, 450, 451, 452], "excluded_lines": [88, 89, 90], "functions": {"registration_subject": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "SingleSignonUtility.get_setting": {"executed_lines": [52], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "SingleSignonUtility.is_plone_authenticated": {"executed_lines": [56], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "SingleSignonUtility.is_shibboleth_authenticated": {"executed_lines": [62, 63, 64], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58}, "SingleSignonUtility.pas": {"executed_lines": [68], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 67}, "SingleSignonUtility.initialize_login": {"executed_lines": [75, 76], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 70}, "SingleSignonUtility.get_login_from_request": {"executed_lines": [80, 81, 82, 83, 84, 85, 86], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 78}, "SingleSignonUtility.loginname_from_request": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [89, 90], "start_line": 88}, "SingleSignonUtility.idp_info": {"executed_lines": [95, 96, 97, 98, 99, 100, 101], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 93}, "SingleSignonUtility.get_idp_domain_from_login": {"executed_lines": [105, 106, 107, 108, 109, 111], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 103}, "SingleSignonUtility.extract_idp_login": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [114, 115], "excluded_lines": [], "start_line": 113}, "SingleSignonUtility.generate_password": {"executed_lines": [121], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 118}, "SingleSignonUtility.get_url_logout": {"executed_lines": [125, 126, 127, 128, 132, 134], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [129, 130], "excluded_lines": [], "start_line": 123}, "SingleSignonUtility.get_url_linkaccount": {"executed_lines": [138, 139], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 136}, "SingleSignonUtility.get_url_registration": {"executed_lines": [143], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 141}, "SingleSignonUtility.get_idp_from_domain": {"executed_lines": [147], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145}, "SingleSignonUtility.set_login_name": {"executed_lines": [151], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149}, "SingleSignonUtility.send_portal_link": {"executed_lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 154}, "SingleSignonUtility.notify_relinked": {"executed_lines": [176, 177, 178, 179, 180, 181, 182, 187, 188, 189, 190], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 174}, "SingleSignonUtility.purge_unlinked": {"executed_lines": [200, 201, 203, 204, 205, 209, 210, 212, 213, 214, 215, 216, 218, 219, 220, 221, 229, 231, 232], "summary": {"covered_lines": 19, "num_statements": 22, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 86.36363636363636, "percent_statements_covered_display": "86"}, "missing_lines": [206, 207, 208], "excluded_lines": [], "start_line": 198}, "SingleSignonUtility.disable_user_accounts": {"executed_lines": [244, 245, 246, 248, 249, 250, 252, 253, 254, 257, 258, 259, 260, 261], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 234}, "SingleSignonUtility.has_user_header": {"executed_lines": [264, 265], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 263}, "MailTemplatesUtility.get_setting": {"executed_lines": [272], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 270}, "MailTemplatesUtility.get_mailer": {"executed_lines": [291, 292, 293, 295], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 289}, "MailTemplatesUtility.registered_notify": {"executed_lines": [299, 300], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 297}, "MailTemplatesUtility.mail_relink": {"executed_lines": [304, 305], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 302}, "MailTemplatesUtility.mail_form": {"executed_lines": [308], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 307}, "ReactivationUtility.portal": {"executed_lines": [329], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 328}, "ReactivationUtility.user_id": {"executed_lines": [334, 335, 336, 337, 338, 339], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 332}, "ReactivationUtility.request_reactivation": {"executed_lines": [343, 344, 346, 347, 348], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 341}, "ReactivationUtility._expired": {"executed_lines": [352, 353], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [354, 355], "excluded_lines": [], "start_line": 350}, "ReactivationUtility._validate": {"executed_lines": [363, 364, 365, 368, 369, 370, 371, 372], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [366, 367], "excluded_lines": [], "start_line": 357}, "ReactivationUtility.set_activation_key": {"executed_lines": [376, 378, 379, 380, 381, 382, 386], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [377], "excluded_lines": [], "start_line": 374}, "ReactivationUtility.get_activation_key": {"executed_lines": [390, 392, 393, 394, 395], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [391], "excluded_lines": [], "start_line": 388}, "ReactivationUtility.reactivate_user": {"executed_lines": [399, 400, 402, 403, 406, 407, 408], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 397}, "ReactivationUtility.purge_activation_keys": {"executed_lines": [412, 413, 414, 415, 416, 418, 419, 420, 421, 422, 423, 427, 428], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 81.25, "percent_statements_covered_display": "81"}, "missing_lines": [424, 425, 426], "excluded_lines": [], "start_line": 410}, "ReactivationUtility.current_user_status": {"executed_lines": [432, 433, 434, 435, 436, 437], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 430}, "notify_activated": {"executed_lines": [442, 443, 444, 445, 446], "summary": {"covered_lines": 5, "num_statements": 11, "percent_covered": 45.45454545454545, "percent_covered_display": "45", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 45.45454545454545, "percent_statements_covered_display": "45"}, "missing_lines": [447, 448, 449, 450, 451, 452], "excluded_lines": [], "start_line": 440}, "is_null": {"executed_lines": [463, 464, 465, 466, 467, 468], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 461}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 26, 27, 29, 35, 38, 41, 46, 49, 50, 54, 58, 66, 67, 70, 78, 92, 93, 103, 113, 117, 118, 123, 136, 141, 145, 149, 153, 154, 174, 198, 234, 263, 268, 269, 270, 274, 282, 289, 297, 302, 307, 311, 325, 327, 328, 331, 332, 341, 350, 357, 374, 388, 397, 410, 430, 440, 461], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [88], "start_line": 1}}, "classes": {"SingleSignonUtility": {"executed_lines": [52, 56, 62, 63, 64, 68, 75, 76, 80, 81, 82, 83, 84, 85, 86, 95, 96, 97, 98, 99, 100, 101, 105, 106, 107, 108, 109, 111, 121, 125, 126, 127, 128, 132, 134, 138, 139, 143, 147, 151, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 176, 177, 178, 179, 180, 181, 182, 187, 188, 189, 190, 200, 201, 203, 204, 205, 209, 210, 212, 213, 214, 215, 216, 218, 219, 220, 221, 229, 231, 232, 244, 245, 246, 248, 249, 250, 252, 253, 254, 257, 258, 259, 260, 261, 264, 265], "summary": {"covered_lines": 97, "num_statements": 104, "percent_covered": 93.26923076923077, "percent_covered_display": "93", "missing_lines": 7, "excluded_lines": 2, "percent_statements_covered": 93.26923076923077, "percent_statements_covered_display": "93"}, "missing_lines": [114, 115, 129, 130, 206, 207, 208], "excluded_lines": [89, 90], "start_line": 46}, "MailTemplatesUtility": {"executed_lines": [272, 291, 292, 293, 295, 299, 300, 304, 305, 308], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 268}, "ReactivationUtility": {"executed_lines": [329, 334, 335, 336, 337, 338, 339, 343, 344, 346, 347, 348, 352, 353, 363, 364, 365, 368, 369, 370, 371, 372, 376, 378, 379, 380, 381, 382, 386, 390, 392, 393, 394, 395, 399, 400, 402, 403, 406, 407, 408, 412, 413, 414, 415, 416, 418, 419, 420, 421, 422, 423, 427, 428, 432, 433, 434, 435, 436, 437], "summary": {"covered_lines": 60, "num_statements": 69, "percent_covered": 86.95652173913044, "percent_covered_display": "87", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 86.95652173913044, "percent_statements_covered_display": "87"}, "missing_lines": [354, 355, 366, 367, 377, 391, 424, 425, 426], "excluded_lines": [], "start_line": 311}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 26, 27, 29, 35, 38, 41, 43, 46, 49, 50, 54, 58, 66, 67, 70, 78, 92, 93, 103, 113, 117, 118, 123, 136, 141, 145, 149, 153, 154, 174, 198, 234, 263, 268, 269, 270, 274, 282, 289, 297, 302, 307, 311, 325, 327, 328, 331, 332, 341, 350, 357, 374, 388, 397, 410, 430, 440, 442, 443, 444, 445, 446, 461, 463, 464, 465, 466, 467, 468], "summary": {"covered_lines": 85, "num_statements": 91, "percent_covered": 93.4065934065934, "percent_covered_display": "93", "missing_lines": 6, "excluded_lines": 1, "percent_statements_covered": 93.4065934065934, "percent_statements_covered_display": "93"}, "missing_lines": [447, 448, 449, 450, 451, 452], "excluded_lines": [88], "start_line": 1}}}, "src\\ims\\sso\\vocabulary.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 10, 11, 12, 13, 16, 17, 18], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"mail_idps": {"executed_lines": [12, 13], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "active_status": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 10, 11, 16, 17], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 10, 11, 12, 13, 16, 17, 18], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}}, "totals": {"covered_lines": 1179, "num_statements": 1218, "percent_covered": 96.79802955665025, "percent_covered_display": "97", "missing_lines": 39, "excluded_lines": 7, "percent_statements_covered": 96.79802955665025, "percent_statements_covered_display": "97"}} \ No newline at end of file +{ + "meta": { + "format": 3, + "version": "7.14.0", + "timestamp": "2026-06-24T16:19:05.265852", + "branch_coverage": false, + "show_contexts": false + }, + "files": { + "src\\ims\\sso\\__init__.py": { + "executed_lines": [1, 3, 5, 8, 9, 10], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "initialize": { + "executed_lines": [9, 10], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 8 + }, + "": { + "executed_lines": [1, 3, 5, 8], + "summary": { + "covered_lines": 4, + "num_statements": 4, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "": { + "executed_lines": [1, 3, 5, 8, 9, 10], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\browser\\__init__.py": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\browser\\cron.py": { + "executed_lines": [ + 1, 2, 3, 4, 6, 9, 16, 17, 18, 19, 20, 21, 22, 23 + ], + "summary": { + "covered_lines": 14, + "num_statements": 14, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "PeriodicTasks.__call__": { + "executed_lines": [17, 18, 19, 20, 21, 22, 23], + "summary": { + "covered_lines": 7, + "num_statements": 7, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 16 + }, + "": { + "executed_lines": [1, 2, 3, 4, 6, 9, 16], + "summary": { + "covered_lines": 7, + "num_statements": 7, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "PeriodicTasks": { + "executed_lines": [17, 18, 19, 20, 21, 22, 23], + "summary": { + "covered_lines": 7, + "num_statements": 7, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 9 + }, + "": { + "executed_lines": [1, 2, 3, 4, 6, 9, 16], + "summary": { + "covered_lines": 7, + "num_statements": 7, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\browser\\login.py": { + "executed_lines": [ + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 19, 22, 23, + 24, 27, 28, 29, 30, 32, 33, 34, 35, 42, 45, 46, 47, 48, 49, 51, + 52, 53, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 71, + 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 87, 88, 89, 90, + 91, 92, 93, 95, 97, 98, 100, 101, 103, 104, 105, 106, 114, 116, + 119, 120, 121, 122, 123, 124, 129, 132, 133, 134, 135, 136, 137, + 140, 141, 142, 145, 146, 148, 150, 151, 157, 158, 164, 171, 172, + 173, 174, 176, 177, 178, 180, 181, 182, 186, 187, 188, 189, 191, + 192, 193, 200, 201, 207, 213, 214, 217, 218, 219, 220, 222, 223, + 224, 226, 227, 228, 229, 230, 231, 236, 237, 238, 239, 240, 241, + 243, 246, 247, 249, 257 + ], + "summary": { + "covered_lines": 150, + "num_statements": 150, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "RedirectLogin.__call__": { + "executed_lines": [23, 24], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 22 + }, + "SsoLogout.sso": { + "executed_lines": [30], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 29 + }, + "SsoLogout.__call__": { + "executed_lines": [33, 34, 35, 42], + "summary": { + "covered_lines": 4, + "num_statements": 4, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 32 + }, + "SsoLinkaccount.__init__": { + "executed_lines": [48, 49], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 47 + }, + "SsoLinkaccount.publishTraverse": { + "executed_lines": [52, 53], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 51 + }, + "SsoLinkaccount.__call__": { + "executed_lines": [ + 56, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 71, 73, + 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 87, 88, 89, + 90, 91, 92, 93, 95 + ], + "summary": { + "covered_lines": 33, + "num_statements": 33, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 55 + }, + "SsoLinkaccount.disallowed": { + "executed_lines": [98], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 97 + }, + "SsoLinkaccount.success": { + "executed_lines": [101], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 100 + }, + "SsoLinkaccount.invalid_key": { + "executed_lines": [104, 105, 106, 114, 116], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 103 + }, + "LoginUrl.__call__": { + "executed_lines": [121, 122, 123, 124, 129], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 120 + }, + "LoginCondition.__call__": { + "executed_lines": [134, 135, 136, 137], + "summary": { + "covered_lines": 4, + "num_statements": 4, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 133 + }, + "LogoutUrl.__call__": { + "executed_lines": [142], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 141 + }, + "RequireLoginView.__call__": { + "executed_lines": [148, 150, 151, 157, 158, 164], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 146 + }, + "RequestReactivation.render": { + "executed_lines": [ + 173, 174, 176, 177, 178, 180, 181, 182, 186, 187, 188, + 189, 191, 192, 193, 200, 201, 207, 213, 214 + ], + "summary": { + "covered_lines": 20, + "num_statements": 20, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 172 + }, + "ReactivateUserAccount.__init__": { + "executed_lines": [219, 220], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 218 + }, + "ReactivateUserAccount.publishTraverse": { + "executed_lines": [223, 224], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 222 + }, + "ReactivateUserAccount.__call__": { + "executed_lines": [ + 227, 228, 229, 230, 231, 236, 237, 238, 239, 240, 241, + 243, 246, 247, 249, 257 + ], + "summary": { + "covered_lines": 16, + "num_statements": 16, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 226 + }, + "": { + "executed_lines": [ + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 19, + 22, 27, 28, 29, 32, 45, 46, 47, 51, 55, 97, 100, 103, + 119, 120, 132, 133, 140, 141, 145, 146, 171, 172, 217, + 218, 222, 226 + ], + "summary": { + "covered_lines": 43, + "num_statements": 43, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "RedirectLogin": { + "executed_lines": [23, 24], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 19 + }, + "SsoLogout": { + "executed_lines": [30, 33, 34, 35, 42], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 27 + }, + "SsoLinkaccount": { + "executed_lines": [ + 48, 49, 52, 53, 56, 58, 59, 60, 61, 62, 63, 64, 65, 67, + 68, 69, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, + 85, 87, 88, 89, 90, 91, 92, 93, 95, 98, 101, 104, 105, + 106, 114, 116 + ], + "summary": { + "covered_lines": 44, + "num_statements": 44, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 46 + }, + "LoginUrl": { + "executed_lines": [121, 122, 123, 124, 129], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 119 + }, + "LoginCondition": { + "executed_lines": [134, 135, 136, 137], + "summary": { + "covered_lines": 4, + "num_statements": 4, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 132 + }, + "LogoutUrl": { + "executed_lines": [142], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 140 + }, + "RequireLoginView": { + "executed_lines": [148, 150, 151, 157, 158, 164], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 145 + }, + "RequestReactivation": { + "executed_lines": [ + 173, 174, 176, 177, 178, 180, 181, 182, 186, 187, 188, + 189, 191, 192, 193, 200, 201, 207, 213, 214 + ], + "summary": { + "covered_lines": 20, + "num_statements": 20, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 171 + }, + "ReactivateUserAccount": { + "executed_lines": [ + 219, 220, 223, 224, 227, 228, 229, 230, 231, 236, 237, + 238, 239, 240, 241, 243, 246, 247, 249, 257 + ], + "summary": { + "covered_lines": 20, + "num_statements": 20, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 217 + }, + "": { + "executed_lines": [ + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 19, + 22, 27, 28, 29, 32, 45, 46, 47, 51, 55, 97, 100, 103, + 119, 120, 132, 133, 140, 141, 145, 146, 171, 172, 217, + 218, 222, 226 + ], + "summary": { + "covered_lines": 43, + "num_statements": 43, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\browser\\password.py": { + "executed_lines": [1, 2, 5, 6, 8, 9], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "ChangePassword.__call__": { + "executed_lines": [9], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 8 + }, + "": { + "executed_lines": [1, 2, 5, 6, 8], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "ChangePassword": { + "executed_lines": [9], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 5 + }, + "": { + "executed_lines": [1, 2, 5, 6, 8], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\browser\\register.py": { + "executed_lines": [ + 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20, 21, 23, + 24, 25, 27, 28, 30, 32, 33, 34, 39, 40, 41, 42, 43, 44, 45, 47, + 48, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 64, 66, 67, 68, 69, + 70, 71, 73, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 95, 101, + 102, 103, 104, 105, 107, 108, 111, 113, 115, 119, 120, 121, 123, + 124, 126, 128, 129, 131, 133, 135, 138, 139, 140, 144, 146, 147, + 148, 149, 151, 155, 156, 158, 159, 160, 161 + ], + "summary": { + "covered_lines": 100, + "num_statements": 108, + "percent_covered": 92.5925925925926, + "percent_covered_display": "93", + "missing_lines": 8, + "excluded_lines": 0, + "percent_statements_covered": 92.5925925925926, + "percent_statements_covered_display": "93" + }, + "missing_lines": [116, 117, 125, 136, 150, 152, 153, 154], + "excluded_lines": [], + "functions": { + "AddUserForm.sso": { + "executed_lines": [25], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 24 + }, + "AddUserForm.sso_configured": { + "executed_lines": [28], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 27 + }, + "AddUserForm.updateFields": { + "executed_lines": [32, 33, 34, 39, 40, 41, 42, 43, 44, 45], + "summary": { + "covered_lines": 10, + "num_statements": 10, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 30 + }, + "AddUserForm.updateWidgets": { + "executed_lines": [48, 52, 53, 54, 55], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 47 + }, + "AddUserForm.updateActions": { + "executed_lines": [58, 59, 60, 61, 62], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 57 + }, + "AddUserForm.generate_user_id": { + "executed_lines": [66, 67, 68, 69, 70, 71], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 64 + }, + "AddUserForm.handle_join_success": { + "executed_lines": [78, 79, 81, 82, 83, 84, 85, 86, 88, 89], + "summary": { + "covered_lines": 10, + "num_statements": 10, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 73 + }, + "AddUserForm.applyProperties": { + "executed_lines": [101, 102, 103, 104, 105], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 95 + }, + "AddUserForm.action_join": { + "executed_lines": [ + 111, 113, 115, 119, 120, 121, 123, 128, 129, 131, 133, + 135, 138, 139, 140, 144, 146, 147, 148, 149, 151, 155, + 156 + ], + "summary": { + "covered_lines": 23, + "num_statements": 30, + "percent_covered": 76.66666666666667, + "percent_covered_display": "77", + "missing_lines": 7, + "excluded_lines": 0, + "percent_statements_covered": 76.66666666666667, + "percent_statements_covered_display": "77" + }, + "missing_lines": [116, 117, 136, 150, 152, 153, 154], + "excluded_lines": [], + "start_line": 108 + }, + "AddUserForm.action_join.wrap_name": { + "executed_lines": [124, 126], + "summary": { + "covered_lines": 2, + "num_statements": 3, + "percent_covered": 66.66666666666667, + "percent_covered_display": "67", + "missing_lines": 1, + "excluded_lines": 0, + "percent_statements_covered": 66.66666666666667, + "percent_statements_covered_display": "67" + }, + "missing_lines": [125], + "excluded_lines": [], + "start_line": 123 + }, + "AddUserForm.handleCancel": { + "executed_lines": [160, 161], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 159 + }, + "": { + "executed_lines": [ + 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20, + 21, 23, 24, 27, 30, 47, 57, 64, 73, 95, 107, 108, 158, + 159 + ], + "summary": { + "covered_lines": 30, + "num_statements": 30, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "AddUserForm": { + "executed_lines": [ + 25, 28, 32, 33, 34, 39, 40, 41, 42, 43, 44, 45, 48, 52, + 53, 54, 55, 58, 59, 60, 61, 62, 66, 67, 68, 69, 70, 71, + 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 101, 102, 103, + 104, 105, 111, 113, 115, 119, 120, 121, 123, 124, 126, + 128, 129, 131, 133, 135, 138, 139, 140, 144, 146, 147, + 148, 149, 151, 155, 156, 160, 161 + ], + "summary": { + "covered_lines": 70, + "num_statements": 78, + "percent_covered": 89.74358974358974, + "percent_covered_display": "90", + "missing_lines": 8, + "excluded_lines": 0, + "percent_statements_covered": 89.74358974358974, + "percent_statements_covered_display": "90" + }, + "missing_lines": [116, 117, 125, 136, 150, 152, 153, 154], + "excluded_lines": [], + "start_line": 17 + }, + "": { + "executed_lines": [ + 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20, + 21, 23, 24, 27, 30, 47, 57, 64, 73, 95, 107, 108, 158, + 159 + ], + "summary": { + "covered_lines": 30, + "num_statements": 30, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\browser\\unauthorized.py": { + "executed_lines": [1, 2, 5, 6, 7], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "Unauthorized.email_from_address": { + "executed_lines": [7], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 6 + }, + "": { + "executed_lines": [1, 2, 5, 6], + "summary": { + "covered_lines": 4, + "num_statements": 4, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "Unauthorized": { + "executed_lines": [7], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 5 + }, + "": { + "executed_lines": [1, 2, 5, 6], + "summary": { + "covered_lines": 4, + "num_statements": 4, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\browser\\usergroups_usersoverview.py": { + "executed_lines": [ + 1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 25, 26, 27, 28, + 31, 32, 33, 34, 36, 37, 38, 40, 41, 43, 44, 46, 47, 49, 50, 51, + 52, 53, 54, 55, 57, 58, 59, 60, 61, 65, 66, 68, 70, 72, 73, 74, + 75, 76, 77, 78, 80, 82, 84, 85, 86, 87, 88, 90, 91, 92, 94, 95, + 96, 97, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, + 111, 112, 113, 115, 116, 117, 118, 121, 123, 124, 125, 127, 130, + 131, 136, 140, 143, 144, 145, 146, 148, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 163, 164, 166, 170, 172, 173, 174, 175, 177, + 178, 180, 182, 183, 184, 186, 188, 189, 191, 192, 193, 196, 198, + 201, 202, 203, 204, 205, 206, 207, 208, 210, 211, 214, 215, 218, + 219, 221, 222, 223, 224, 225, 226, 227, 235, 237, 239, 240, 242, + 243, 251, 252, 258, 259, 260, 261, 262, 270, 272, 274, 275, 276, + 277, 278, 279, 280, 282, 283, 285, 286, 288, 289, 291, 292, 293, + 294, 295, 297, 298, 304, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315 + ], + "summary": { + "covered_lines": 198, + "num_statements": 199, + "percent_covered": 99.49748743718592, + "percent_covered_display": "99", + "missing_lines": 1, + "excluded_lines": 2, + "percent_statements_covered": 99.49748743718592, + "percent_statements_covered_display": "99" + }, + "missing_lines": [108], + "excluded_lines": [62, 63], + "functions": { + "UsersOverviewControlPanel.sso": { + "executed_lines": [34], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 33 + }, + "UsersOverviewControlPanel.submitted": { + "executed_lines": [38], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 37 + }, + "UsersOverviewControlPanel.can_change_roles": { + "executed_lines": [41], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 40 + }, + "UsersOverviewControlPanel.uses_expiry": { + "executed_lines": [44], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 43 + }, + "UsersOverviewControlPanel.expiry_days": { + "executed_lines": [47], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 46 + }, + "UsersOverviewControlPanel.emails": { + "executed_lines": [50, 51, 52, 53, 54, 55], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 49 + }, + "UsersOverviewControlPanel.portal_roles": { + "executed_lines": [59, 60, 61, 65, 66], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 2, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [62, 63], + "start_line": 58 + }, + "UsersOverviewControlPanel.print_expiry": { + "executed_lines": [70, 72, 73, 74, 75, 76, 77, 78, 80], + "summary": { + "covered_lines": 9, + "num_statements": 9, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 68 + }, + "UsersOverviewControlPanel.doSearch": { + "executed_lines": [ + 84, 85, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, + 113, 115, 116, 117, 118, 121, 123, 124, 125, 127, 130, + 131, 136, 140, 143, 144, 145, 146, 148 + ], + "summary": { + "covered_lines": 44, + "num_statements": 45, + "percent_covered": 97.77777777777777, + "percent_covered_display": "98", + "missing_lines": 1, + "excluded_lines": 0, + "percent_statements_covered": 97.77777777777777, + "percent_statements_covered_display": "98" + }, + "missing_lines": [108], + "excluded_lines": [], + "start_line": 82 + }, + "UsersOverviewControlPanel.validate_emails": { + "executed_lines": [ + 151, 152, 153, 154, 155, 156, 157, 158, 163, 164 + ], + "summary": { + "covered_lines": 10, + "num_statements": 10, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 150 + }, + "UsersOverviewControlPanel.manageUser": { + "executed_lines": [ + 170, 172, 173, 174, 175, 177, 178, 180, 182, 183, 184, + 186, 188, 189, 191, 192, 193, 196, 198, 201, 202, 203, + 204, 205, 206, 207, 208, 210, 211, 214, 215, 218, 219, + 221, 222, 223, 224, 225, 226, 227, 235, 237, 239, 240, + 242, 243, 251, 252, 258, 259, 260, 261, 262, 270 + ], + "summary": { + "covered_lines": 54, + "num_statements": 54, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 166 + }, + "UsersOverviewControlPanel.deleteMembers": { + "executed_lines": [274, 275, 276, 277, 278, 279, 280], + "summary": { + "covered_lines": 7, + "num_statements": 7, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 272 + }, + "UsersOverviewControlPanel.active_status": { + "executed_lines": [283], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 282 + }, + "UsersOverviewControlPanel.not_active": { + "executed_lines": [286], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 285 + }, + "UsersOverviewControlPanel.active_options": { + "executed_lines": [289], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 288 + }, + "UsersOverviewControlPanel.active_search_options": { + "executed_lines": [292, 293, 294, 295, 297, 298, 304], + "summary": { + "covered_lines": 7, + "num_statements": 7, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 291 + }, + "UsersOverviewControlPanel.datatables": { + "executed_lines": [ + 307, 308, 309, 310, 311, 312, 313, 314, 315 + ], + "summary": { + "covered_lines": 9, + "num_statements": 9, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 306 + }, + "": { + "executed_lines": [ + 1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 25, 26, + 27, 28, 31, 32, 33, 36, 37, 40, 43, 46, 49, 57, 58, 68, + 82, 150, 166, 272, 282, 285, 288, 291, 306 + ], + "summary": { + "covered_lines": 39, + "num_statements": 39, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "UsersOverviewControlPanel": { + "executed_lines": [ + 34, 38, 41, 44, 47, 50, 51, 52, 53, 54, 55, 59, 60, 61, + 65, 66, 70, 72, 73, 74, 75, 76, 77, 78, 80, 84, 85, 86, + 87, 88, 90, 91, 92, 94, 95, 96, 97, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 115, + 116, 117, 118, 121, 123, 124, 125, 127, 130, 131, 136, + 140, 143, 144, 145, 146, 148, 151, 152, 153, 154, 155, + 156, 157, 158, 163, 164, 170, 172, 173, 174, 175, 177, + 178, 180, 182, 183, 184, 186, 188, 189, 191, 192, 193, + 196, 198, 201, 202, 203, 204, 205, 206, 207, 208, 210, + 211, 214, 215, 218, 219, 221, 222, 223, 224, 225, 226, + 227, 235, 237, 239, 240, 242, 243, 251, 252, 258, 259, + 260, 261, 262, 270, 274, 275, 276, 277, 278, 279, 280, + 283, 286, 289, 292, 293, 294, 295, 297, 298, 304, 307, + 308, 309, 310, 311, 312, 313, 314, 315 + ], + "summary": { + "covered_lines": 159, + "num_statements": 160, + "percent_covered": 99.375, + "percent_covered_display": "99", + "missing_lines": 1, + "excluded_lines": 2, + "percent_statements_covered": 99.375, + "percent_statements_covered_display": "99" + }, + "missing_lines": [108], + "excluded_lines": [62, 63], + "start_line": 31 + }, + "": { + "executed_lines": [ + 1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 25, 26, + 27, 28, 31, 32, 33, 36, 37, 40, 43, 46, 49, 57, 58, 68, + 82, 150, 166, 272, 282, 285, 288, 291, 306 + ], + "summary": { + "covered_lines": 39, + "num_statements": 39, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\browser\\viewlets.py": { + "executed_lines": [ + 1, 2, 3, 4, 6, 9, 12, 14, 15, 16, 18, 19, 21, 22, 24, 26, 28, + 30, 32, 34, 36, 39, 40, 41, 42, 43, 45, 47, 48, 49, 50, 51, 52, + 53 + ], + "summary": { + "covered_lines": 34, + "num_statements": 36, + "percent_covered": 94.44444444444444, + "percent_covered_display": "94", + "missing_lines": 2, + "excluded_lines": 0, + "percent_statements_covered": 94.44444444444444, + "percent_statements_covered_display": "94" + }, + "missing_lines": [44, 55], + "excluded_lines": [], + "functions": { + "SsoWarningsViewlet.sso": { + "executed_lines": [16], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 15 + }, + "SsoWarningsViewlet.status": { + "executed_lines": [19], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 18 + }, + "SsoWarningsViewlet.reactivation_url": { + "executed_lines": [22], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 21 + }, + "SsoWarningsViewlet.show_warning": { + "executed_lines": [26], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 24 + }, + "SsoWarningsViewlet.is_inactive": { + "executed_lines": [30], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 28 + }, + "SsoWarningsViewlet.is_disabled": { + "executed_lines": [34], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 32 + }, + "SsoWarningsViewlet.show_alert": { + "executed_lines": [39, 40, 41, 42, 43, 45], + "summary": { + "covered_lines": 6, + "num_statements": 7, + "percent_covered": 85.71428571428571, + "percent_covered_display": "86", + "missing_lines": 1, + "excluded_lines": 0, + "percent_statements_covered": 85.71428571428571, + "percent_statements_covered_display": "86" + }, + "missing_lines": [44], + "excluded_lines": [], + "start_line": 36 + }, + "SsoWarningsViewlet.login_info": { + "executed_lines": [48, 49, 50, 51, 52, 53], + "summary": { + "covered_lines": 6, + "num_statements": 7, + "percent_covered": 85.71428571428571, + "percent_covered_display": "86", + "missing_lines": 1, + "excluded_lines": 0, + "percent_statements_covered": 85.71428571428571, + "percent_statements_covered_display": "86" + }, + "missing_lines": [55], + "excluded_lines": [], + "start_line": 47 + }, + "": { + "executed_lines": [ + 1, 2, 3, 4, 6, 9, 12, 14, 15, 18, 21, 24, 28, 32, 36, 47 + ], + "summary": { + "covered_lines": 16, + "num_statements": 16, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "SsoWarningsViewlet": { + "executed_lines": [ + 16, 19, 22, 26, 30, 34, 39, 40, 41, 42, 43, 45, 48, 49, + 50, 51, 52, 53 + ], + "summary": { + "covered_lines": 18, + "num_statements": 20, + "percent_covered": 90.0, + "percent_covered_display": "90", + "missing_lines": 2, + "excluded_lines": 0, + "percent_statements_covered": 90.0, + "percent_statements_covered_display": "90" + }, + "missing_lines": [44, 55], + "excluded_lines": [], + "start_line": 9 + }, + "": { + "executed_lines": [ + 1, 2, 3, 4, 6, 9, 12, 14, 15, 18, 21, 24, 28, 32, 36, 47 + ], + "summary": { + "covered_lines": 16, + "num_statements": 16, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\configs.py": { + "executed_lines": [1, 3, 5, 8, 9, 10, 11, 14, 16, 18], + "summary": { + "covered_lines": 10, + "num_statements": 10, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "": { + "executed_lines": [1, 3, 5, 8, 9, 10, 11, 14, 16, 18], + "summary": { + "covered_lines": 10, + "num_statements": 10, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "": { + "executed_lines": [1, 3, 5, 8, 9, 10, 11, 14, 16, 18], + "summary": { + "covered_lines": 10, + "num_statements": 10, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\controlpanels\\__init__.py": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\controlpanels\\sso.py": { + "executed_lines": [ + 1, 2, 3, 4, 5, 7, 10, 11, 12, 13, 16, 17, 18, 19, 22 + ], + "summary": { + "covered_lines": 15, + "num_statements": 15, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "": { + "executed_lines": [ + 1, 2, 3, 4, 5, 7, 10, 11, 12, 13, 16, 17, 18, 19, 22 + ], + "summary": { + "covered_lines": 15, + "num_statements": 15, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "SettingsEditForm": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 10 + }, + "ControlPanel": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 16 + }, + "": { + "executed_lines": [ + 1, 2, 3, 4, 5, 7, 10, 11, 12, 13, 16, 17, 18, 19, 22 + ], + "summary": { + "covered_lines": 15, + "num_statements": 15, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\errors.py": { + "executed_lines": [1, 5], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "": { + "executed_lines": [1, 5], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "IMSSSOException": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + }, + "NoSSOMailTemplatesException": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 5 + }, + "": { + "executed_lines": [1, 5], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\events.py": { + "executed_lines": [ + 1, 3, 4, 5, 6, 9, 13, 14, 18, 22, 23, 27, 29, 30, 31 + ], + "summary": { + "covered_lines": 15, + "num_statements": 15, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "user_relinked": { + "executed_lines": [29, 30, 31], + "summary": { + "covered_lines": 3, + "num_statements": 3, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 27 + }, + "": { + "executed_lines": [ + 1, 3, 4, 5, 6, 9, 13, 14, 18, 22, 23, 27 + ], + "summary": { + "covered_lines": 12, + "num_statements": 12, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "IUserRelinkedEvent": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 9 + }, + "UserRelinkedEvent": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 14 + }, + "IUserIdpUpdated": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 18 + }, + "UserIdpUpdated": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 23 + }, + "": { + "executed_lines": [ + 1, 3, 4, 5, 6, 9, 13, 14, 18, 22, 23, 27, 29, 30, 31 + ], + "summary": { + "covered_lines": 15, + "num_statements": 15, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\interfaces.py": { + "executed_lines": [ + 1, 3, 4, 5, 6, 7, 8, 10, 13, 17, 18, 19, 24, 25, 30, 31, 36, 37, + 38, 39, 40, 41, 47, 48, 53, 54, 59, 60, 64, 65, 69, 70, 76, 77, + 82, 83, 88, 89, 96, 97, 114, 115, 120, 121, 126, 127, 133, 141, + 145, 149, 153, 157, 160, 163, 167 + ], + "summary": { + "covered_lines": 55, + "num_statements": 55, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 2, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [161, 164], + "functions": { + "IMailTemplates.registered_notify": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 1, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [161], + "start_line": 160 + }, + "IMailTemplates.mail_relink": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 1, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [164], + "start_line": 163 + }, + "": { + "executed_lines": [ + 1, 3, 4, 5, 6, 7, 8, 10, 13, 17, 18, 19, 24, 25, 30, 31, + 36, 37, 38, 39, 40, 41, 47, 48, 53, 54, 59, 60, 64, 65, + 69, 70, 76, 77, 82, 83, 88, 89, 96, 97, 114, 115, 120, + 121, 126, 127, 133, 141, 145, 149, 153, 157, 160, 163, + 167 + ], + "summary": { + "covered_lines": 55, + "num_statements": 55, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "IBrowserLayer": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 13 + }, + "ISSOSettings": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 17 + }, + "ISingleSignonUtility": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 141 + }, + "IMassRelink": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 145 + }, + "IMailTemplatesUtility": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 149 + }, + "IReactivationUtility": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 153 + }, + "IMailTemplates": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 2, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [161, 164], + "start_line": 157 + }, + "IUserExpiryUtility": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 167 + }, + "": { + "executed_lines": [ + 1, 3, 4, 5, 6, 7, 8, 10, 13, 17, 18, 19, 24, 25, 30, 31, + 36, 37, 38, 39, 40, 41, 47, 48, 53, 54, 59, 60, 64, 65, + 69, 70, 76, 77, 82, 83, 88, 89, 96, 97, 114, 115, 120, + 121, 126, 127, 133, 141, 145, 149, 153, 157, 160, 163, + 167 + ], + "summary": { + "covered_lines": 55, + "num_statements": 55, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\mailing\\__init__.py": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\mailing\\mailers.py": { + "executed_lines": [1, 2, 4, 5, 9, 10], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "NoSSOMailTemplates.registered_notify": { + "executed_lines": [5], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 4 + }, + "NoSSOMailTemplates.mail_relink": { + "executed_lines": [10], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 9 + }, + "": { + "executed_lines": [1, 2, 4, 9], + "summary": { + "covered_lines": 4, + "num_statements": 4, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "NoSSOMailTemplates": { + "executed_lines": [5, 10], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + }, + "": { + "executed_lines": [1, 2, 4, 9], + "summary": { + "covered_lines": 4, + "num_statements": 4, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\mailing\\notify.py": { + "executed_lines": [ + 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 25, 27, 28, 30, 34, 35, 38, 39, 41, 53, 56, 57, 59, 60, 61, + 62, 63, 65, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 82, + 86, 87, 89, 101 + ], + "summary": { + "covered_lines": 54, + "num_statements": 54, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "RegisteredNotify.__call__": { + "executed_lines": [ + 17, 18, 19, 20, 21, 22, 23, 25, 27, 28, 30, 34, 35, 38, + 39, 41, 53 + ], + "summary": { + "covered_lines": 17, + "num_statements": 17, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 16 + }, + "MailRelink.encoded_mail_sender": { + "executed_lines": [59, 60, 61, 62, 63], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 57 + }, + "MailRelink.encode_mail_header": { + "executed_lines": [67], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 65 + }, + "MailRelink.__call__": { + "executed_lines": [ + 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 82, 86, 87, 89, + 101 + ], + "summary": { + "covered_lines": 15, + "num_statements": 15, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 69 + }, + "": { + "executed_lines": [ + 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 56, 57, 65, 69 + ], + "summary": { + "covered_lines": 16, + "num_statements": 16, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "RegisteredNotify": { + "executed_lines": [ + 17, 18, 19, 20, 21, 22, 23, 25, 27, 28, 30, 34, 35, 38, + 39, 41, 53 + ], + "summary": { + "covered_lines": 17, + "num_statements": 17, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 15 + }, + "MailRelink": { + "executed_lines": [ + 59, 60, 61, 62, 63, 67, 70, 71, 72, 73, 74, 75, 76, 77, + 79, 80, 82, 86, 87, 89, 101 + ], + "summary": { + "covered_lines": 21, + "num_statements": 21, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 56 + }, + "": { + "executed_lines": [ + 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 56, 57, 65, 69 + ], + "summary": { + "covered_lines": 16, + "num_statements": 16, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\mailing\\relink.py": { + "executed_lines": [ + 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 16, 21, 22, 23, 25, 26, + 27, 28, 29, 31, 32, 34, 36, 37, 38, 40, 41, 42, 43, 45, 46, 48, + 49, 51, 63, 65, 66, 74, 79, 81, 83, 84, 85, 86, 87, 88, 89, 91, + 93, 94, 95, 96, 97, 98, 99, 101, 103 + ], + "summary": { + "covered_lines": 59, + "num_statements": 59, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "MassRelink.email_unlinked": { + "executed_lines": [ + 27, 28, 29, 31, 32, 34, 36, 37, 38, 40, 41, 42, 43, 45, + 46, 48, 49, 51, 63, 65, 66, 74, 79 + ], + "summary": { + "covered_lines": 23, + "num_statements": 23, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 26 + }, + "MassRelink.duplicates": { + "executed_lines": [83, 84, 85, 86, 87, 88, 89], + "summary": { + "covered_lines": 7, + "num_statements": 7, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 81 + }, + "MassRelink.unlinked_user_data": { + "executed_lines": [93, 94, 95, 96, 97, 98, 99], + "summary": { + "covered_lines": 7, + "num_statements": 7, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 91 + }, + "MassRelink.unlinked_users": { + "executed_lines": [103], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 101 + }, + "": { + "executed_lines": [ + 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 16, 21, 22, 23, + 25, 26, 81, 91, 101 + ], + "summary": { + "covered_lines": 21, + "num_statements": 21, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "MassRelink": { + "executed_lines": [ + 27, 28, 29, 31, 32, 34, 36, 37, 38, 40, 41, 42, 43, 45, + 46, 48, 49, 51, 63, 65, 66, 74, 79, 83, 84, 85, 86, 87, + 88, 89, 93, 94, 95, 96, 97, 98, 99, 103 + ], + "summary": { + "covered_lines": 38, + "num_statements": 38, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 16 + }, + "": { + "executed_lines": [ + 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 16, 21, 22, 23, + 25, 26, 81, 91, 101 + ], + "summary": { + "covered_lines": 21, + "num_statements": 21, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\plugin.py": { + "executed_lines": [ + 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 22, 27, 28, + 30, 33, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, 47, 49, 50, 52, + 53, 54, 56, 57, 58, 60, 61, 63, 64, 65, 66, 70, 73, 74, 75, 77, + 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 102, + 107, 109, 111, 112, 113, 114, 116, 117, 120, 127, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 146, + 147, 149, 150, 152, 153, 154, 156, 157, 158, 160, 161, 162, 164, + 165, 166, 168, 169, 170, 171, 173, 174, 175, 184, 186, 189, 191, + 192, 194 + ], + "summary": { + "covered_lines": 119, + "num_statements": 122, + "percent_covered": 97.54098360655738, + "percent_covered_display": "98", + "missing_lines": 3, + "excluded_lines": 0, + "percent_statements_covered": 97.54098360655738, + "percent_statements_covered_display": "98" + }, + "missing_lines": [62, 68, 195], + "excluded_lines": [], + "functions": { + "ImsSsoPlugin.__init__": { + "executed_lines": [49, 50], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 47 + }, + "ImsSsoPlugin.login_url": { + "executed_lines": [54], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 53 + }, + "ImsSsoPlugin.sso": { + "executed_lines": [58], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 57 + }, + "ImsSsoPlugin.challenge": { + "executed_lines": [61, 63, 64, 65, 66], + "summary": { + "covered_lines": 5, + "num_statements": 7, + "percent_covered": 71.42857142857143, + "percent_covered_display": "71", + "missing_lines": 2, + "excluded_lines": 0, + "percent_statements_covered": 71.42857142857143, + "percent_statements_covered_display": "71" + }, + "missing_lines": [62, 68], + "excluded_lines": [], + "start_line": 60 + }, + "ImsSsoPlugin.authenticateCredentials": { + "executed_lines": [ + 73, 74, 75, 77, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, + 91, 92, 93, 94, 102, 107 + ], + "summary": { + "covered_lines": 20, + "num_statements": 20, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 70 + }, + "ImsSsoPlugin.update_user": { + "executed_lines": [ + 111, 112, 113, 114, 116, 117, 120, 127, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 146, 147, 149, 150 + ], + "summary": { + "covered_lines": 27, + "num_statements": 27, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 109 + }, + "ImsSsoPlugin.shib_header_first_name": { + "executed_lines": [154], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 153 + }, + "ImsSsoPlugin.shib_header_last_name": { + "executed_lines": [158], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 157 + }, + "ImsSsoPlugin.shib_header_email": { + "executed_lines": [162], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 161 + }, + "ImsSsoPlugin.shib_header_idp": { + "executed_lines": [166], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 165 + }, + "ImsSsoPlugin.extractCredentials": { + "executed_lines": [169, 170, 171, 173, 174, 175], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 168 + }, + "manage_addImsSso": { + "executed_lines": [191, 192, 194], + "summary": { + "covered_lines": 3, + "num_statements": 4, + "percent_covered": 75.0, + "percent_covered_display": "75", + "missing_lines": 1, + "excluded_lines": 0, + "percent_statements_covered": 75.0, + "percent_statements_covered_display": "75" + }, + "missing_lines": [195], + "excluded_lines": [], + "start_line": 189 + }, + "": { + "executed_lines": [ + 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 22, + 27, 28, 30, 33, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, + 47, 52, 53, 56, 57, 60, 70, 109, 152, 153, 156, 157, + 160, 161, 164, 165, 168, 184, 186, 189 + ], + "summary": { + "covered_lines": 50, + "num_statements": 50, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "Credentials": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 33 + }, + "ImsSsoPlugin": { + "executed_lines": [ + 49, 50, 54, 58, 61, 63, 64, 65, 66, 73, 74, 75, 77, 79, + 80, 81, 82, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 102, + 107, 111, 112, 113, 114, 116, 117, 120, 127, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 146, 147, 149, 150, 154, 158, 162, 166, 169, + 170, 171, 173, 174, 175 + ], + "summary": { + "covered_lines": 66, + "num_statements": 68, + "percent_covered": 97.05882352941177, + "percent_covered_display": "97", + "missing_lines": 2, + "excluded_lines": 0, + "percent_statements_covered": 97.05882352941177, + "percent_statements_covered_display": "97" + }, + "missing_lines": [62, 68], + "excluded_lines": [], + "start_line": 43 + }, + "": { + "executed_lines": [ + 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 22, + 27, 28, 30, 33, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, + 47, 52, 53, 56, 57, 60, 70, 109, 152, 153, 156, 157, + 160, 161, 164, 165, 168, 184, 186, 189, 191, 192, 194 + ], + "summary": { + "covered_lines": 53, + "num_statements": 54, + "percent_covered": 98.14814814814815, + "percent_covered_display": "98", + "missing_lines": 1, + "excluded_lines": 0, + "percent_statements_covered": 98.14814814814815, + "percent_statements_covered_display": "98" + }, + "missing_lines": [195], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\setuphandlers.py": { + "executed_lines": [ + 1, 2, 3, 4, 5, 10, 11, 12, 13, 15, 16, 19, 20, 21, 22, 24, 26, + 27, 30, 31, 32, 33, 34, 35, 40, 41, 44, 46, 47, 49, 50, 57, 59, + 60, 61, 62, 63, 65, 66, 67, 71, 72, 75, 76, 138, 139 + ], + "summary": { + "covered_lines": 46, + "num_statements": 49, + "percent_covered": 93.87755102040816, + "percent_covered_display": "94", + "missing_lines": 3, + "excluded_lines": 0, + "percent_statements_covered": 93.87755102040816, + "percent_statements_covered_display": "94" + }, + "missing_lines": [68, 69, 70], + "excluded_lines": [], + "functions": { + "configure_plugin": { + "executed_lines": [ + 20, 21, 22, 24, 26, 27, 30, 31, 32, 33, 34, 35, 40, 41 + ], + "summary": { + "covered_lines": 14, + "num_statements": 14, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 19 + }, + "install": { + "executed_lines": [46, 47, 49, 50], + "summary": { + "covered_lines": 4, + "num_statements": 4, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 44 + }, + "add_user_field": { + "executed_lines": [59, 60, 61, 62, 63, 65, 66, 67, 71, 72], + "summary": { + "covered_lines": 10, + "num_statements": 13, + "percent_covered": 76.92307692307692, + "percent_covered_display": "77", + "missing_lines": 3, + "excluded_lines": 0, + "percent_statements_covered": 76.92307692307692, + "percent_statements_covered_display": "77" + }, + "missing_lines": [68, 69, 70], + "excluded_lines": [], + "start_line": 57 + }, + "setup_user_schema": { + "executed_lines": [76, 138, 139], + "summary": { + "covered_lines": 3, + "num_statements": 3, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 75 + }, + "": { + "executed_lines": [ + 1, 2, 3, 4, 5, 10, 11, 12, 13, 15, 16, 19, 44, 57, 75 + ], + "summary": { + "covered_lines": 15, + "num_statements": 15, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "": { + "executed_lines": [ + 1, 2, 3, 4, 5, 10, 11, 12, 13, 15, 16, 19, 20, 21, 22, + 24, 26, 27, 30, 31, 32, 33, 34, 35, 40, 41, 44, 46, 47, + 49, 50, 57, 59, 60, 61, 62, 63, 65, 66, 67, 71, 72, 75, + 76, 138, 139 + ], + "summary": { + "covered_lines": 46, + "num_statements": 49, + "percent_covered": 93.87755102040816, + "percent_covered_display": "94", + "missing_lines": 3, + "excluded_lines": 0, + "percent_statements_covered": 93.87755102040816, + "percent_statements_covered_display": "94" + }, + "missing_lines": [68, 69, 70], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\testing.py": { + "executed_lines": [ + 1, 2, 3, 4, 12, 15, 16, 18, 23, 24, 26, 27, 28, 31, 33, 38, 43, + 48 + ], + "summary": { + "covered_lines": 18, + "num_statements": 18, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "UsersSiteLayer.setUpZope": { + "executed_lines": [23, 24], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 18 + }, + "UsersSiteLayer.setUpPloneSite": { + "executed_lines": [27, 28], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 26 + }, + "": { + "executed_lines": [ + 1, 2, 3, 4, 12, 15, 16, 18, 26, 31, 33, 38, 43, 48 + ], + "summary": { + "covered_lines": 14, + "num_statements": 14, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "UsersSiteLayer": { + "executed_lines": [23, 24, 27, 28], + "summary": { + "covered_lines": 4, + "num_statements": 4, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 15 + }, + "": { + "executed_lines": [ + 1, 2, 3, 4, 12, 15, 16, 18, 26, 31, 33, 38, 43, 48 + ], + "summary": { + "covered_lines": 14, + "num_statements": 14, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\upgrades.py": { + "executed_lines": [1, 3], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "": { + "executed_lines": [1, 3], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "": { + "executed_lines": [1, 3], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\utility.py": { + "executed_lines": [ + 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 26, 27, + 29, 35, 38, 41, 43, 46, 49, 50, 52, 54, 56, 58, 62, 63, 64, 66, + 67, 68, 70, 75, 76, 78, 80, 81, 82, 83, 84, 85, 86, 92, 93, 95, + 96, 97, 98, 99, 100, 101, 103, 105, 106, 107, 108, 109, 111, + 113, 117, 118, 121, 123, 125, 126, 127, 128, 132, 134, 136, 138, + 139, 141, 143, 145, 147, 149, 151, 153, 154, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 174, 176, 177, 178, 179, 180, + 181, 182, 187, 188, 189, 190, 198, 200, 201, 203, 204, 205, 209, + 210, 212, 213, 214, 215, 216, 218, 219, 220, 221, 229, 231, 232, + 234, 244, 245, 246, 248, 249, 250, 252, 253, 254, 257, 258, 259, + 260, 261, 263, 264, 265, 268, 269, 270, 272, 274, 282, 289, 291, + 292, 293, 295, 297, 299, 300, 302, 304, 305, 307, 308, 311, 325, + 327, 328, 329, 331, 332, 334, 335, 336, 337, 338, 339, 341, 343, + 344, 346, 347, 348, 350, 352, 353, 357, 363, 364, 365, 368, 369, + 370, 371, 372, 374, 376, 378, 379, 380, 381, 382, 386, 388, 390, + 392, 393, 394, 395, 397, 399, 400, 402, 403, 406, 407, 408, 410, + 412, 413, 414, 415, 416, 418, 419, 420, 421, 422, 423, 427, 428, + 430, 432, 433, 434, 435, 436, 437, 440, 442, 443, 444, 445, 446, + 461, 463, 464, 465, 466, 467, 468 + ], + "summary": { + "covered_lines": 252, + "num_statements": 274, + "percent_covered": 91.97080291970804, + "percent_covered_display": "92", + "missing_lines": 22, + "excluded_lines": 3, + "percent_statements_covered": 91.97080291970804, + "percent_statements_covered_display": "92" + }, + "missing_lines": [ + 114, 115, 129, 130, 206, 207, 208, 354, 355, 366, 367, 377, 391, + 424, 425, 426, 447, 448, 449, 450, 451, 452 + ], + "excluded_lines": [88, 89, 90], + "functions": { + "registration_subject": { + "executed_lines": [43], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 41 + }, + "SingleSignonUtility.get_setting": { + "executed_lines": [52], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 50 + }, + "SingleSignonUtility.is_plone_authenticated": { + "executed_lines": [56], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 54 + }, + "SingleSignonUtility.is_shibboleth_authenticated": { + "executed_lines": [62, 63, 64], + "summary": { + "covered_lines": 3, + "num_statements": 3, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 58 + }, + "SingleSignonUtility.pas": { + "executed_lines": [68], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 67 + }, + "SingleSignonUtility.initialize_login": { + "executed_lines": [75, 76], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 70 + }, + "SingleSignonUtility.get_login_from_request": { + "executed_lines": [80, 81, 82, 83, 84, 85, 86], + "summary": { + "covered_lines": 7, + "num_statements": 7, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 78 + }, + "SingleSignonUtility.loginname_from_request": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 0, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 2, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [89, 90], + "start_line": 88 + }, + "SingleSignonUtility.idp_info": { + "executed_lines": [95, 96, 97, 98, 99, 100, 101], + "summary": { + "covered_lines": 7, + "num_statements": 7, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 93 + }, + "SingleSignonUtility.get_idp_domain_from_login": { + "executed_lines": [105, 106, 107, 108, 109, 111], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 103 + }, + "SingleSignonUtility.extract_idp_login": { + "executed_lines": [], + "summary": { + "covered_lines": 0, + "num_statements": 2, + "percent_covered": 0.0, + "percent_covered_display": "0", + "missing_lines": 2, + "excluded_lines": 0, + "percent_statements_covered": 0.0, + "percent_statements_covered_display": "0" + }, + "missing_lines": [114, 115], + "excluded_lines": [], + "start_line": 113 + }, + "SingleSignonUtility.generate_password": { + "executed_lines": [121], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 118 + }, + "SingleSignonUtility.get_url_logout": { + "executed_lines": [125, 126, 127, 128, 132, 134], + "summary": { + "covered_lines": 6, + "num_statements": 8, + "percent_covered": 75.0, + "percent_covered_display": "75", + "missing_lines": 2, + "excluded_lines": 0, + "percent_statements_covered": 75.0, + "percent_statements_covered_display": "75" + }, + "missing_lines": [129, 130], + "excluded_lines": [], + "start_line": 123 + }, + "SingleSignonUtility.get_url_linkaccount": { + "executed_lines": [138, 139], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 136 + }, + "SingleSignonUtility.get_url_registration": { + "executed_lines": [143], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 141 + }, + "SingleSignonUtility.get_idp_from_domain": { + "executed_lines": [147], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 145 + }, + "SingleSignonUtility.set_login_name": { + "executed_lines": [151], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 149 + }, + "SingleSignonUtility.send_portal_link": { + "executed_lines": [ + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166 + ], + "summary": { + "covered_lines": 11, + "num_statements": 11, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 154 + }, + "SingleSignonUtility.notify_relinked": { + "executed_lines": [ + 176, 177, 178, 179, 180, 181, 182, 187, 188, 189, 190 + ], + "summary": { + "covered_lines": 11, + "num_statements": 11, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 174 + }, + "SingleSignonUtility.purge_unlinked": { + "executed_lines": [ + 200, 201, 203, 204, 205, 209, 210, 212, 213, 214, 215, + 216, 218, 219, 220, 221, 229, 231, 232 + ], + "summary": { + "covered_lines": 19, + "num_statements": 22, + "percent_covered": 86.36363636363636, + "percent_covered_display": "86", + "missing_lines": 3, + "excluded_lines": 0, + "percent_statements_covered": 86.36363636363636, + "percent_statements_covered_display": "86" + }, + "missing_lines": [206, 207, 208], + "excluded_lines": [], + "start_line": 198 + }, + "SingleSignonUtility.disable_user_accounts": { + "executed_lines": [ + 244, 245, 246, 248, 249, 250, 252, 253, 254, 257, 258, + 259, 260, 261 + ], + "summary": { + "covered_lines": 14, + "num_statements": 14, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 234 + }, + "SingleSignonUtility.has_user_header": { + "executed_lines": [264, 265], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 263 + }, + "MailTemplatesUtility.get_setting": { + "executed_lines": [272], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 270 + }, + "MailTemplatesUtility.get_mailer": { + "executed_lines": [291, 292, 293, 295], + "summary": { + "covered_lines": 4, + "num_statements": 4, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 289 + }, + "MailTemplatesUtility.registered_notify": { + "executed_lines": [299, 300], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 297 + }, + "MailTemplatesUtility.mail_relink": { + "executed_lines": [304, 305], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 302 + }, + "MailTemplatesUtility.mail_form": { + "executed_lines": [308], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 307 + }, + "ReactivationUtility.portal": { + "executed_lines": [329], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 328 + }, + "ReactivationUtility.user_id": { + "executed_lines": [334, 335, 336, 337, 338, 339], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 332 + }, + "ReactivationUtility.request_reactivation": { + "executed_lines": [343, 344, 346, 347, 348], + "summary": { + "covered_lines": 5, + "num_statements": 5, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 341 + }, + "ReactivationUtility._expired": { + "executed_lines": [352, 353], + "summary": { + "covered_lines": 2, + "num_statements": 4, + "percent_covered": 50.0, + "percent_covered_display": "50", + "missing_lines": 2, + "excluded_lines": 0, + "percent_statements_covered": 50.0, + "percent_statements_covered_display": "50" + }, + "missing_lines": [354, 355], + "excluded_lines": [], + "start_line": 350 + }, + "ReactivationUtility._validate": { + "executed_lines": [363, 364, 365, 368, 369, 370, 371, 372], + "summary": { + "covered_lines": 8, + "num_statements": 10, + "percent_covered": 80.0, + "percent_covered_display": "80", + "missing_lines": 2, + "excluded_lines": 0, + "percent_statements_covered": 80.0, + "percent_statements_covered_display": "80" + }, + "missing_lines": [366, 367], + "excluded_lines": [], + "start_line": 357 + }, + "ReactivationUtility.set_activation_key": { + "executed_lines": [376, 378, 379, 380, 381, 382, 386], + "summary": { + "covered_lines": 7, + "num_statements": 8, + "percent_covered": 87.5, + "percent_covered_display": "88", + "missing_lines": 1, + "excluded_lines": 0, + "percent_statements_covered": 87.5, + "percent_statements_covered_display": "88" + }, + "missing_lines": [377], + "excluded_lines": [], + "start_line": 374 + }, + "ReactivationUtility.get_activation_key": { + "executed_lines": [390, 392, 393, 394, 395], + "summary": { + "covered_lines": 5, + "num_statements": 6, + "percent_covered": 83.33333333333333, + "percent_covered_display": "83", + "missing_lines": 1, + "excluded_lines": 0, + "percent_statements_covered": 83.33333333333333, + "percent_statements_covered_display": "83" + }, + "missing_lines": [391], + "excluded_lines": [], + "start_line": 388 + }, + "ReactivationUtility.reactivate_user": { + "executed_lines": [399, 400, 402, 403, 406, 407, 408], + "summary": { + "covered_lines": 7, + "num_statements": 7, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 397 + }, + "ReactivationUtility.purge_activation_keys": { + "executed_lines": [ + 412, 413, 414, 415, 416, 418, 419, 420, 421, 422, 423, + 427, 428 + ], + "summary": { + "covered_lines": 13, + "num_statements": 16, + "percent_covered": 81.25, + "percent_covered_display": "81", + "missing_lines": 3, + "excluded_lines": 0, + "percent_statements_covered": 81.25, + "percent_statements_covered_display": "81" + }, + "missing_lines": [424, 425, 426], + "excluded_lines": [], + "start_line": 410 + }, + "ReactivationUtility.current_user_status": { + "executed_lines": [432, 433, 434, 435, 436, 437], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 430 + }, + "notify_activated": { + "executed_lines": [442, 443, 444, 445, 446], + "summary": { + "covered_lines": 5, + "num_statements": 11, + "percent_covered": 45.45454545454545, + "percent_covered_display": "45", + "missing_lines": 6, + "excluded_lines": 0, + "percent_statements_covered": 45.45454545454545, + "percent_statements_covered_display": "45" + }, + "missing_lines": [447, 448, 449, 450, 451, 452], + "excluded_lines": [], + "start_line": 440 + }, + "is_null": { + "executed_lines": [463, 464, 465, 466, 467, 468], + "summary": { + "covered_lines": 6, + "num_statements": 6, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 461 + }, + "": { + "executed_lines": [ + 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, + 26, 27, 29, 35, 38, 41, 46, 49, 50, 54, 58, 66, 67, 70, + 78, 92, 93, 103, 113, 117, 118, 123, 136, 141, 145, 149, + 153, 154, 174, 198, 234, 263, 268, 269, 270, 274, 282, + 289, 297, 302, 307, 311, 325, 327, 328, 331, 332, 341, + 350, 357, 374, 388, 397, 410, 430, 440, 461 + ], + "summary": { + "covered_lines": 73, + "num_statements": 73, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 1, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [88], + "start_line": 1 + } + }, + "classes": { + "SingleSignonUtility": { + "executed_lines": [ + 52, 56, 62, 63, 64, 68, 75, 76, 80, 81, 82, 83, 84, 85, + 86, 95, 96, 97, 98, 99, 100, 101, 105, 106, 107, 108, + 109, 111, 121, 125, 126, 127, 128, 132, 134, 138, 139, + 143, 147, 151, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 176, 177, 178, 179, 180, 181, 182, 187, + 188, 189, 190, 200, 201, 203, 204, 205, 209, 210, 212, + 213, 214, 215, 216, 218, 219, 220, 221, 229, 231, 232, + 244, 245, 246, 248, 249, 250, 252, 253, 254, 257, 258, + 259, 260, 261, 264, 265 + ], + "summary": { + "covered_lines": 97, + "num_statements": 104, + "percent_covered": 93.26923076923077, + "percent_covered_display": "93", + "missing_lines": 7, + "excluded_lines": 2, + "percent_statements_covered": 93.26923076923077, + "percent_statements_covered_display": "93" + }, + "missing_lines": [114, 115, 129, 130, 206, 207, 208], + "excluded_lines": [89, 90], + "start_line": 46 + }, + "MailTemplatesUtility": { + "executed_lines": [ + 272, 291, 292, 293, 295, 299, 300, 304, 305, 308 + ], + "summary": { + "covered_lines": 10, + "num_statements": 10, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 268 + }, + "ReactivationUtility": { + "executed_lines": [ + 329, 334, 335, 336, 337, 338, 339, 343, 344, 346, 347, + 348, 352, 353, 363, 364, 365, 368, 369, 370, 371, 372, + 376, 378, 379, 380, 381, 382, 386, 390, 392, 393, 394, + 395, 399, 400, 402, 403, 406, 407, 408, 412, 413, 414, + 415, 416, 418, 419, 420, 421, 422, 423, 427, 428, 432, + 433, 434, 435, 436, 437 + ], + "summary": { + "covered_lines": 60, + "num_statements": 69, + "percent_covered": 86.95652173913044, + "percent_covered_display": "87", + "missing_lines": 9, + "excluded_lines": 0, + "percent_statements_covered": 86.95652173913044, + "percent_statements_covered_display": "87" + }, + "missing_lines": [ + 354, 355, 366, 367, 377, 391, 424, 425, 426 + ], + "excluded_lines": [], + "start_line": 311 + }, + "": { + "executed_lines": [ + 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, + 26, 27, 29, 35, 38, 41, 43, 46, 49, 50, 54, 58, 66, 67, + 70, 78, 92, 93, 103, 113, 117, 118, 123, 136, 141, 145, + 149, 153, 154, 174, 198, 234, 263, 268, 269, 270, 274, + 282, 289, 297, 302, 307, 311, 325, 327, 328, 331, 332, + 341, 350, 357, 374, 388, 397, 410, 430, 440, 442, 443, + 444, 445, 446, 461, 463, 464, 465, 466, 467, 468 + ], + "summary": { + "covered_lines": 85, + "num_statements": 91, + "percent_covered": 93.4065934065934, + "percent_covered_display": "93", + "missing_lines": 6, + "excluded_lines": 1, + "percent_statements_covered": 93.4065934065934, + "percent_statements_covered_display": "93" + }, + "missing_lines": [447, 448, 449, 450, 451, 452], + "excluded_lines": [88], + "start_line": 1 + } + } + }, + "src\\ims\\sso\\vocabulary.py": { + "executed_lines": [1, 2, 3, 4, 6, 7, 10, 11, 12, 13, 16, 17, 18], + "summary": { + "covered_lines": 13, + "num_statements": 13, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "functions": { + "mail_idps": { + "executed_lines": [12, 13], + "summary": { + "covered_lines": 2, + "num_statements": 2, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 11 + }, + "active_status": { + "executed_lines": [18], + "summary": { + "covered_lines": 1, + "num_statements": 1, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 17 + }, + "": { + "executed_lines": [1, 2, 3, 4, 6, 7, 10, 11, 16, 17], + "summary": { + "covered_lines": 10, + "num_statements": 10, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + }, + "classes": { + "": { + "executed_lines": [ + 1, 2, 3, 4, 6, 7, 10, 11, 12, 13, 16, 17, 18 + ], + "summary": { + "covered_lines": 13, + "num_statements": 13, + "percent_covered": 100.0, + "percent_covered_display": "100", + "missing_lines": 0, + "excluded_lines": 0, + "percent_statements_covered": 100.0, + "percent_statements_covered_display": "100" + }, + "missing_lines": [], + "excluded_lines": [], + "start_line": 1 + } + } + } + }, + "totals": { + "covered_lines": 1179, + "num_statements": 1218, + "percent_covered": 96.79802955665025, + "percent_covered_display": "97", + "missing_lines": 39, + "excluded_lines": 7, + "percent_statements_covered": 96.79802955665025, + "percent_statements_covered_display": "97" + } +} diff --git a/package.json b/package.json index 54ed0ef..1b1102b 100644 --- a/package.json +++ b/package.json @@ -29,4 +29,4 @@ "main": "webpack.config.js", "keywords": [], "author": "" -} \ No newline at end of file +} diff --git a/resources/personal.js b/resources/personal.js index 640756c..dc9d3a8 100644 --- a/resources/personal.js +++ b/resources/personal.js @@ -11,18 +11,18 @@ $(document).ready(function () { function (field_index, field_value) { let el = $( "body.template-" + - template_value + - " #form-widgets-" + - field_value, + template_value + + " #form-widgets-" + + field_value, ); if (el.length) { el.addClass("d-none"); el.after( '', + field_value + + '" class="form-control" id="fake_' + + field_value + + '" />', ); let fake_el = $("#fake_" + field_value); fake_el.val(el.val()); diff --git a/src/ims/sso/browser/login.py b/src/ims/sso/browser/login.py index c80c756..251a112 100644 --- a/src/ims/sso/browser/login.py +++ b/src/ims/sso/browser/login.py @@ -144,7 +144,6 @@ def __call__(self): class RequireLoginView(BrowserView): def __call__(self, *args, **kw): - utility = getUtility(ISingleSignonUtility) if utility.is_plone_authenticated(): diff --git a/src/ims/sso/browser/templates/usergroups_usersoverview.pt b/src/ims/sso/browser/templates/usergroups_usersoverview.pt index cc6da51..bf3da5e 100644 --- a/src/ims/sso/browser/templates/usergroups_usersoverview.pt +++ b/src/ims/sso/browser/templates/usergroups_usersoverview.pt @@ -230,7 +230,10 @@ - +
diff --git a/src/ims/sso/profiles/default/registry/settings.xml b/src/ims/sso/profiles/default/registry/settings.xml index 847078d..25ada99 100644 --- a/src/ims/sso/profiles/default/registry/settings.xml +++ b/src/ims/sso/profiles/default/registry/settings.xml @@ -1,4 +1,4 @@