canonical / paas-app-charmer

2 stars 2 forks source link

Refactor to adapt paas-app-charmer for new frameworks #32

Closed javierdelapuente closed 2 months ago

javierdelapuente commented 2 months ago

Applicable spec:

Overview

This PR consists in a refactor to adapt paas-app-charmer for new frameworks. In concrete, for Go and FastAPI.

As such, the main changes are:

Rationale

After this PR, the implementation of Go and FastAPI will be straightforward.

Juju Events Changes

Module Changes

Library Changes

Checklist

github-actions[bot] commented 2 months ago

Test coverage for 72878b1b4541830b536c6c53c2ca03fc438ad6b0

Name                                            Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------------------------------------
paas_app_charmer/__init__.py                       29     14      0      0    52%   13-14, 19-20, 26-27, 33-34, 40-41, 47-48, 54-55
paas_app_charmer/_gunicorn/__init__.py              0      0      0      0   100%
paas_app_charmer/_gunicorn/charm.py                15      0      0      0   100%
paas_app_charmer/_gunicorn/webserver.py            76      4     14      1    94%   162, 174-180
paas_app_charmer/_gunicorn/workload_config.py       8      0      0      0   100%
paas_app_charmer/_gunicorn/wsgi_app.py             18      0      0      0   100%
paas_app_charmer/app.py                           120      0     48      2    99%   94->exit, 135->141
paas_app_charmer/charm.py                         212     25     46      4    88%   32-33, 40-41, 190-191, 193-194, 215->exit, 227-231, 284-286, 339-340, 345, 350, 355, 365, 370, 375, 380, 385, 410
paas_app_charmer/charm_state.py                   107      2     20      2    97%   184, 268
paas_app_charmer/charm_utils.py                    23      0      0      0   100%
paas_app_charmer/database_migration.py             35      0      2      0   100%
paas_app_charmer/databases.py                      25      2     11      1    92%   89-90
paas_app_charmer/django/__init__.py                 2      0      0      0   100%
paas_app_charmer/django/charm.py                   34      4      6      2    85%   44, 81, 96-97
paas_app_charmer/exceptions.py                      5      0      0      0   100%
paas_app_charmer/flask/__init__.py                  2      0      0      0   100%
paas_app_charmer/flask/charm.py                    24      0      0      0   100%
paas_app_charmer/observability.py                  16      0      4      1    95%   40->44
paas_app_charmer/secret_storage.py                 50      3     16      5    88%   51, 55->54, 56->58, 86, 105
paas_app_charmer/utils.py                          11      2     12      2    65%   29, 31
-------------------------------------------------------------------------------------------
TOTAL                                             812     56    179     20    92%

Static code analysis report

Run started:2024-08-14 12:53:06.810924

Test results:
    No issues identified.

Code scanned:
    Total lines of code: 1760
    Total lines skipped (#nosec): 0
    Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 0

Run metrics:
    Total issues (by severity):
        Undefined: 0
        Low: 0
        Medium: 0
        High: 0
    Total issues (by confidence):
        Undefined: 0
        Low: 0
        Medium: 0
        High: 0
Files skipped (0):