Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Relation parameter refactor #36

Merged
merged 8 commits into from
Feb 5, 2025
Merged

Conversation

alithethird
Copy link
Contributor

@alithethird alithethird commented Feb 3, 2025

Applicable spec:

Overview

Updated how the charm creates relation parameter.

Rationale

The currrent way we generate relation parameter classes from relation datas is almost identical but we are rewriting the logic for s3 and saml relations.

With the upcoming relations this rewriting of the logic will increase. To prevent this I propose moving the logic into a function to be able to reuse it.

Juju Events Changes

Module Changes

Library Changes

Checklist

Copy link
Contributor

github-actions bot commented Feb 3, 2025

Test coverage for 02bf010

Name                                          Stmts   Miss Branch BrPart  Cover   Missing
-----------------------------------------------------------------------------------------
src/paas_app_charmer/__init__.py                  2      0      0      0   100%
src/paas_app_charmer/django/__init__.py           2      0      0      0   100%
src/paas_app_charmer/django/charm.py              2      0      0      0   100%
src/paas_app_charmer/fastapi/__init__.py          2      0      0      0   100%
src/paas_app_charmer/fastapi/charm.py             2      0      0      0   100%
src/paas_app_charmer/flask/__init__.py            2      0      0      0   100%
src/paas_app_charmer/flask/charm.py               2      0      0      0   100%
src/paas_app_charmer/go/__init__.py               2      0      0      0   100%
src/paas_app_charmer/go/charm.py                  2      0      0      0   100%
src/paas_charm/__init__.py                       32     17      0      0    47%   13-14, 19-20, 26-27, 33-37, 43-44, 50-51, 57-58
src/paas_charm/_gunicorn/__init__.py              0      0      0      0   100%
src/paas_charm/_gunicorn/charm.py                42      0      6      0   100%
src/paas_charm/_gunicorn/webserver.py            90      4     16      1    95%   208, 220-226
src/paas_charm/_gunicorn/workload_config.py       8      0      0      0   100%
src/paas_charm/_gunicorn/wsgi_app.py             21      0      2      0   100%
src/paas_charm/app.py                           166      0     56      3    99%   113->exit, 170->176, 358->360
src/paas_charm/charm.py                         267     29     54      3    89%   35-36, 43-44, 156-157, 179-180, 200-201, 268, 278-279, 281-282, 311-315, 472-473, 478, 483, 488, 498, 503, 508, 513, 518, 543
src/paas_charm/charm_state.py                   105      2     12      2    97%   173, 240
src/paas_charm/charm_utils.py                    23      0      0      0   100%
src/paas_charm/database_migration.py             35      0      2      0   100%
src/paas_charm/databases.py                      25      2      6      1    90%   89-90
src/paas_charm/django/__init__.py                 2      0      0      0   100%
src/paas_charm/django/charm.py                   50      4      8      2    90%   49, 124, 139-140
src/paas_charm/exceptions.py                      5      0      0      0   100%
src/paas_charm/fastapi/__init__.py                2      0      0      0   100%
src/paas_charm/fastapi/charm.py                  31      0      0      0   100%
src/paas_charm/flask/__init__.py                  2      0      0      0   100%
src/paas_charm/flask/charm.py                    26      0      0      0   100%
src/paas_charm/framework.py                      23      4     12      2    77%   36, 49-51
src/paas_charm/go/__init__.py                     2      0      0      0   100%
src/paas_charm/go/charm.py                       28      0      0      0   100%
src/paas_charm/observability.py                  24      3      4      1    86%   42->46, 73-77
src/paas_charm/rabbitmq.py                       78      2     22      5    93%   117->exit, 122->exit, 157->exit, 159-160, 181->175
src/paas_charm/secret_storage.py                 50      2     14      4    91%   55->54, 56->58, 86, 105
src/paas_charm/utils.py                          44      7     14      5    79%   34, 36, 56-57, 75, 79, 104
-----------------------------------------------------------------------------------------
TOTAL                                          1199     76    228     29    92%

Static code analysis report

Run started:2025-02-03 10:46:20.465921

Test results:
  No issues identified.

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

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):

src/paas_charm/charm_state.py Outdated Show resolved Hide resolved
@jdkandersson
Copy link
Contributor

Please take a look at the description and add more details. I.e., what the refactor actually is and why it is needed 🙂

@alithethird alithethird merged commit 872cac0 into main Feb 5, 2025
113 checks passed
@alithethird alithethird deleted the relation-parameter-refactor branch February 5, 2025 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants