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

Create a service for definitions endpoints #842

Merged
merged 75 commits into from
Jul 5, 2024
Merged

Conversation

cl0ete
Copy link
Collaborator

@cl0ete cl0ete commented Jun 19, 2024

Moved bulk of app/routes/definitions.py to app/services/definitions.py

@cl0ete cl0ete added the improvement improving on something that is already existing (not a new feature as such) label Jun 19, 2024
@cl0ete cl0ete self-assigned this Jun 19, 2024
app/services/definitions.py Fixed Show fixed Hide fixed
app/services/definitions.py Fixed Show fixed Hide fixed
app/services/definitions.py Fixed Show fixed Hide fixed
app/services/definitions.py Fixed Show fixed Hide fixed
app/services/definitions.py Fixed Show fixed Hide fixed
app/services/definitions.py Fixed Show fixed Hide fixed
app/services/definitions.py Fixed Show fixed Hide fixed
app/services/definitions.py Fixed Show fixed Hide fixed
@cl0ete cl0ete force-pushed the definitions-service branch from 52f5434 to eb24e28 Compare June 20, 2024 07:38
@cl0ete cl0ete requested a review from ff137 June 22, 2024 11:48
@cl0ete cl0ete marked this pull request as ready for review June 22, 2024 11:48
@cl0ete cl0ete marked this pull request as draft June 24, 2024 09:51
@cl0ete cl0ete marked this pull request as ready for review June 24, 2024 11:56
Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py842373%133–169, 210–211, 322–353, 397–398
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   verifier.py1473378%94–96, 101, 161–163, 168, 244, 252–254, 259, 303–308, 314–316, 374–376, 382, 421–423, 428, 464–466, 508–510
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611280%110–111, 124–140, 196–197
   acapy_wallet.py40490%60–61, 98–99
   definitions.py1909749%64–137, 148–163, 182–189, 194–195, 214–243, 256–281, 290–318, 331–347, 359–365, 378–387, 410–411, 426–428, 492–543
   revocation_registry.py1532882%117–142, 185–189, 356–360, 399–404, 437–441, 469–474
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 197–198
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 219–220, 247
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py49492%56–61, 91–96
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_jsonld.py591673%134–169
   test_tenants.py3491596%186, 230–231, 263, 716, 754–755, 764–765, 774–775, 787–788, 797–798
   test_wallet_credentials.py30197%55
   test_wallet_dids.py691086%93–108
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451273%130–203
   test_verifier.py2281295%658–729
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1193769%176, 270–351, 364–436
   definitions.py662661%29–50, 64–65, 94–124, 143–144
   member_acapy_clients.py36489%47–50, 73–74
   member_connections.py43881%80–91, 130–141
   member_wallets.py611575%29–34, 49–54, 69–74, 89–94, 111–118
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%335–339
app/tests/util
   connections.py852768%104–129, 138–155, 172–181, 236–253
   ledger.py501080%35, 43, 55, 63–67, 77, 83
   regression_testing.py351751%33, 41–68, 74–81
   sse_listener.py41880%50–55, 79–84
   trust_registry.py29390%24, 27–28
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   credentials.py13285%11, 18
   retry_method.py361558%20–35, 76–77, 91–103
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL13926100193% 

Tests Skipped Failures Errors Time
992 10 💤 0 ❌ 0 🔥 13m 29s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py844250%76–92, 147, 167, 199–215, 253–284, 351, 383–418
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   verifier.py1473378%94–96, 101, 161–163, 168, 244, 252–254, 259, 303–308, 314–316, 374–376, 382, 421–423, 428, 464–466, 508–510
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611969%43–49, 79, 110–111, 124–140, 146–149, 196–197
   acapy_wallet.py401270%49–64, 98–99
   definitions.py19012435%52, 55–61, 64–137, 142, 145–163, 174–201, 214–243, 309–310, 323, 326–348, 351–365, 371–392, 395–415, 418–428, 442–477, 534–535
   revocation_registry.py1533975%117–142, 185–189, 356–360, 399–404, 437–441, 459–474, 480–489
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 197–198
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 219–220, 247
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py49492%56–61, 91–96
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_definitions.py795135%33–56, 68–80, 92–106, 118–146, 164–209
   test_jsonld.py591673%134–169
   test_revocation.py936134%27–76, 89–106, 117–143, 155–180, 192–206, 218–255, 266–292
   test_tenants.py34929615%27–63, 74–100, 111–155, 168–231, 242–286, 299–419, 428–466, 475–503, 512–553, 562–605, 616–659, 671–716, 727–798
   test_wallet_dids.py691578%93–108, 120–131
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451176%39–116
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1195554%132–207, 216–224, 234–255, 289–349, 384–434
   definitions.py661085%41–48, 57–63, 114–121, 134–139
   member_acapy_clients.py36489%47–50, 73–74
   member_async_clients.py50296%32–33
   member_connections.py43491%73, 91, 123, 141
   member_wallets.py611575%23–27, 43–47, 63–67, 83–87, 103–109
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%335–339
app/tests/util
   connections.py851780%154–155, 169, 181, 191–223, 252–253
   ledger.py502648%34–59, 63–67, 73–86
   regression_testing.py35974%33, 60–68, 74–81
   sse_listener.py41880%50–55, 79–84
   tenants.py241250%10, 16–17, 21–26, 30–35, 39–44, 48–53, 57
   trust_registry.py29776%20–28
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   credentials.py13285%11, 18
   retry_method.py363017%15–36, 68–114
   string.py15193%24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL13926148789% 

Tests Skipped Failures Errors Time
992 39 💤 0 ❌ 0 🔥 5m 30s ⏱️

Copy link
Collaborator

@ff137 ff137 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The different classes needs to be consolidated. Some can just be raw methods. Some make sense to move to their own modules. Some other methods can be moved to utils.

We don't use the class pattern a lot so far, but I think it is better, and generally good practice to have related methods together in a relevant class, as opposed to one giant service module with all the methods we need. Logger / controller can just be used directly

app/services/definitions.py Outdated Show resolved Hide resolved
app/services/definitions.py Outdated Show resolved Hide resolved
app/services/definitions.py Outdated Show resolved Hide resolved
app/services/definitions.py Outdated Show resolved Hide resolved
app/services/definitions.py Outdated Show resolved Hide resolved
app/services/definitions.py Outdated Show resolved Hide resolved
app/services/definitions.py Outdated Show resolved Hide resolved
app/services/definitions.py Outdated Show resolved Hide resolved
app/services/definitions.py Outdated Show resolved Hide resolved
app/services/definitions.py Outdated Show resolved Hide resolved
@ff137 ff137 marked this pull request as draft June 24, 2024 19:22
app/util/transaction_acked.py Dismissed Show dismissed Hide dismissed
app/services/definitions/credential_definition_publisher.py Dismissed Show dismissed Hide dismissed
app/services/definitions/credential_definition_publisher.py Dismissed Show dismissed Hide dismissed
app/util/assert_public_did.py Dismissed Show dismissed Hide dismissed
app/services/definitions/definitions.py Fixed Show fixed Hide fixed
app/services/definitions/definitions.py Fixed Show fixed Hide fixed
@cl0ete cl0ete force-pushed the definitions-service branch from d181e8e to d729d02 Compare June 26, 2024 08:56
@cl0ete cl0ete marked this pull request as ready for review June 26, 2024 08:56
@cl0ete cl0ete requested a review from ff137 June 26, 2024 09:08
Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py842373%133–169, 210–211, 322–353, 397–398
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   verifier.py1473378%94–96, 101, 161–163, 168, 244, 252–254, 259, 303–308, 314–316, 374–376, 382, 421–423, 428, 464–466, 508–510
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611280%110–111, 124–140, 196–197
   acapy_wallet.py40490%60–61, 98–99
   revocation_registry.py1532882%117–142, 185–189, 356–360, 399–404, 437–441, 469–474
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/definitions
   credential_definition_publisher.py462252%19–39, 47–53, 66–75, 89–91
   definitions.py975246%57–64, 69–70, 89–121, 134–166, 176–204, 268–319
   schema_publisher.py462741%31–104, 110–125
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 197–198
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 219–220, 247
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py49492%56–61, 91–96
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_jsonld.py591673%134–169
   test_tenants.py3491596%186, 230–231, 263, 716, 754–755, 764–765, 774–775, 787–788, 797–798
   test_wallet_credentials.py30197%55
   test_wallet_dids.py691086%93–108
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451273%130–203
   test_verifier.py2281295%658–729
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1193769%176, 270–351, 364–436
   definitions.py662661%29–50, 64–65, 94–124, 143–144
   member_acapy_clients.py36489%47–50, 73–74
   member_connections.py43881%80–91, 130–141
   member_wallets.py611575%29–34, 49–54, 69–74, 89–94, 111–118
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%335–339
app/tests/util
   connections.py852768%104–129, 138–155, 172–181, 236–253
   ledger.py501080%35, 43, 55, 63–67, 77, 83
   regression_testing.py351751%33, 41–68, 74–81
   sse_listener.py41880%50–55, 79–84
   trust_registry.py29197%24
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   assert_public_did.py18856%17–34
   credentials.py13285%11, 18
   retry_method.py361558%20–35, 76–77, 91–103
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14286%29–30
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL13967101393% 

Tests Skipped Failures Errors Time
992 10 💤 0 ❌ 0 🔥 13m 46s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py844250%76–92, 147, 167, 199–215, 253–284, 351, 383–418
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   verifier.py1473378%94–96, 101, 161–163, 168, 244, 252–254, 259, 303–308, 314–316, 374–376, 382, 421–423, 428, 464–466, 508–510
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611969%43–49, 79, 110–111, 124–140, 146–149, 196–197
   acapy_wallet.py401270%49–64, 98–99
   revocation_registry.py1533975%117–142, 185–189, 356–360, 399–404, 437–441, 459–474, 480–489
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/definitions
   credential_definition_publisher.py463230%15–16, 19–39, 42–53, 59–80, 83–91
   definitions.py974949%51–76, 89–121, 195–196, 215–253, 310–311
   schema_publisher.py463426%18–19, 22–28, 31–104, 107–125
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 197–198
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 219–220, 247
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py49492%56–61, 91–96
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_definitions.py795135%33–56, 68–80, 92–106, 118–146, 164–209
   test_jsonld.py591673%134–169
   test_revocation.py936134%27–76, 89–106, 117–143, 155–180, 192–206, 218–255, 266–292
   test_tenants.py34929615%27–63, 74–100, 111–155, 168–231, 242–286, 299–419, 428–466, 475–503, 512–553, 562–605, 616–659, 671–716, 727–798
   test_wallet_dids.py691578%93–108, 120–131
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451176%39–116
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1195554%132–207, 216–224, 234–255, 289–349, 384–434
   definitions.py661085%41–48, 57–63, 114–121, 134–139
   member_acapy_clients.py36489%47–50, 73–74
   member_async_clients.py50296%32–33
   member_connections.py43491%73, 91, 123, 141
   member_wallets.py611575%23–27, 43–47, 63–67, 83–87, 103–109
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%335–339
app/tests/util
   connections.py851780%154–155, 169, 181, 191–223, 252–253
   ledger.py502648%34–59, 63–67, 73–86
   regression_testing.py35974%33, 60–68, 74–81
   sse_listener.py41880%50–55, 79–84
   tenants.py241250%10, 16–17, 21–26, 30–35, 39–44, 48–53, 57
   trust_registry.py29776%20–28
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   assert_public_did.py181233%14–35
   check_endorser_connection.py10460%14–23
   credentials.py13285%11, 18
   retry_method.py363017%15–36, 68–114
   string.py15193%24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%16–34
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL13967150189% 

Tests Skipped Failures Errors Time
992 39 💤 0 ❌ 0 🔥 4m 56s ⏱️

Copy link
Collaborator

@ff137 ff137 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good - just a variety of little change requests

app/util/check_endorser_connection.py Outdated Show resolved Hide resolved
app/util/assert_public_did.py Outdated Show resolved Hide resolved
app/services/definitions/schema_publisher.py Outdated Show resolved Hide resolved
app/services/definitions/schema_publisher.py Outdated Show resolved Hide resolved
app/services/definitions/schema_publisher.py Outdated Show resolved Hide resolved
app/util/transaction_acked.py Outdated Show resolved Hide resolved
app/services/definitions/schema_publisher.py Outdated Show resolved Hide resolved
app/services/definitions/definitions.py Outdated Show resolved Hide resolved
app/services/definitions/definitions.py Outdated Show resolved Hide resolved
app/services/definitions/definitions.py Outdated Show resolved Hide resolved
@ff137 ff137 marked this pull request as draft June 26, 2024 11:06
app/routes/definitions.py Fixed Show fixed Hide fixed
app/routes/definitions.py Fixed Show fixed Hide fixed
app/services/definitions/definitions.py Fixed Show fixed Hide fixed
app/services/definitions/schema_publisher.py Dismissed Show dismissed Hide dismissed
Copy link

github-actions bot commented Jul 2, 2024

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py912770%130–170, 211–212, 323–354, 398–399
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   trust_registry.py62297%52–53
   verifier.py1473378%94–96, 101, 161–163, 168, 244, 252–254, 259, 303–308, 314–316, 374–376, 382, 421–423, 428, 464–466, 508–510
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611280%110–111, 124–140, 196–197
   acapy_wallet.py40490%60–61, 98–99
   revocation_registry.py1532882%117–142, 185–189, 356–360, 399–404, 437–441, 469–474
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/definitions
   credential_definition_publisher.py351266%24–29, 41–54, 68–70
   definitions.py924749%55, 85–117, 130–166, 178–205, 269–320
   schema_publisher.py493039%28–35, 40–41, 49–121
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 197–198
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 219–220, 247
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py54983%57–63, 89–99
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_jsonld.py591673%134–169
   test_tenants.py3491596%186, 230–231, 263, 716, 754–755, 764–765, 774–775, 787–788, 797–798
   test_wallet_credentials.py30197%55
   test_wallet_dids.py691086%93–108
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451273%130–203
   test_verifier.py2281295%658–729
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1193769%176, 270–351, 364–436
   definitions.py662661%29–50, 64–65, 94–124, 143–144
   member_acapy_clients.py36489%47–50, 73–74
   member_connections.py43881%80–91, 130–141
   member_wallets.py611575%29–34, 49–54, 69–74, 89–94, 111–118
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%335–339
app/tests/util
   connections.py852768%104–129, 138–155, 172–181, 236–253
   ledger.py501080%35, 43, 55, 63–67, 77, 83
   regression_testing.py351751%33, 41–68, 74–81
   sse_listener.py41880%50–55, 79–84
   trust_registry.py29390%24, 27–28
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   assert_public_did.py18856%17–33
   credentials.py13285%11, 18
   retry_method.py361558%20–35, 76–77, 91–103
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14286%31–32
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL13966101493% 

Tests Skipped Failures Errors Time
992 10 💤 0 ❌ 0 🔥 12m 50s ⏱️

Copy link

github-actions bot commented Jul 2, 2024

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py914452%81–89, 144, 161–163, 168, 200–216, 254–285, 352, 384–419
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   trust_registry.py62297%52–53
   verifier.py1473378%94–96, 101, 161–163, 168, 244, 252–254, 259, 303–308, 314–316, 374–376, 382, 421–423, 428, 464–466, 508–510
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611969%43–49, 79, 110–111, 124–140, 146–149, 196–197
   acapy_wallet.py401270%49–64, 98–99
   revocation_registry.py1533975%117–142, 185–189, 356–360, 399–404, 437–441, 459–474, 480–489
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/definitions
   credential_definition_publisher.py352237%15–16, 19–29, 35–59, 62–70
   definitions.py924452%50–72, 85–117, 141, 196–197, 216–254, 311–312
   schema_publisher.py493724%15–16, 21–44, 49–121
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 197–198
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 219–220, 247
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py54983%57–63, 89–99
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_definitions.py795135%33–56, 68–80, 92–106, 118–146, 164–209
   test_jsonld.py591673%134–169
   test_revocation.py936134%27–76, 89–106, 117–143, 155–180, 192–206, 218–255, 266–292
   test_tenants.py34929615%27–63, 74–100, 111–155, 168–231, 242–286, 299–419, 428–466, 475–503, 512–553, 562–605, 616–659, 671–716, 727–798
   test_wallet_dids.py691578%93–108, 120–131
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451176%39–116
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1195554%132–207, 216–224, 234–255, 289–349, 384–434
   definitions.py661085%41–48, 57–63, 114–121, 134–139
   member_acapy_clients.py36489%47–50, 73–74
   member_async_clients.py50296%32–33
   member_connections.py43491%73, 91, 123, 141
   member_wallets.py611575%23–27, 43–47, 63–67, 83–87, 103–109
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%335–339
app/tests/util
   connections.py851780%154–155, 169, 181, 191–223, 252–253
   ledger.py502648%34–59, 63–67, 73–86
   regression_testing.py35974%33, 60–68, 74–81
   sse_listener.py41880%50–55, 79–84
   tenants.py241250%10, 16–17, 21–26, 30–35, 39–44, 48–53, 57
   trust_registry.py29776%20–28
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   assert_public_did.py181233%14–34
   check_endorser_connection.py10460%14–24
   credentials.py13285%11, 18
   retry_method.py363017%15–36, 68–114
   string.py15193%24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%18–36
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL13966149889% 

Tests Skipped Failures Errors Time
992 39 💤 0 ❌ 0 🔥 4m 28s ⏱️

Copy link

github-actions bot commented Jul 2, 2024

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py902770%129–169, 210–211, 322–353, 397–398
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   trust_registry.py62297%52–53
   verifier.py1473378%94–96, 101, 161–163, 168, 244, 252–254, 259, 303–308, 314–316, 374–376, 382, 421–423, 428, 464–466, 508–510
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611280%110–111, 124–140, 196–197
   acapy_wallet.py40490%60–61, 98–99
   revocation_registry.py1532882%117–142, 185–189, 356–360, 399–404, 437–441, 469–474
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/definitions
   credential_definition_publisher.py341265%23–28, 40–53, 67–69
   definitions.py924749%55, 85–117, 130–166, 178–205, 269–320
   schema_publisher.py493039%28–35, 40–41, 49–121
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 197–198
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 219–220, 247
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py54983%57–63, 89–99
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_jsonld.py591673%134–169
   test_tenants.py3491596%186, 230–231, 263, 716, 754–755, 764–765, 774–775, 787–788, 797–798
   test_wallet_credentials.py30197%55
   test_wallet_dids.py691086%93–108
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451273%130–203
   test_verifier.py2281295%658–729
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1193769%176, 270–351, 364–436
   definitions.py662661%29–50, 64–65, 94–124, 143–144
   member_acapy_clients.py36489%47–50, 73–74
   member_connections.py43881%80–91, 130–141
   member_wallets.py611575%29–34, 49–54, 69–74, 89–94, 111–118
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%335–339
app/tests/util
   connections.py852768%104–129, 138–155, 172–181, 236–253
   ledger.py501080%35, 43, 55, 63–67, 77, 83
   regression_testing.py351751%33, 41–68, 74–81
   sse_listener.py41880%50–55, 79–84
   trust_registry.py29390%24, 27–28
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   assert_public_did.py18856%17–33
   credentials.py13285%11, 18
   retry_method.py361558%20–35, 76–77, 91–103
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14286%31–32
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL13964101493% 

Tests Skipped Failures Errors Time
992 10 💤 0 ❌ 0 🔥 12m 35s ⏱️

Copy link

github-actions bot commented Jul 2, 2024

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py904451%80–88, 143, 160–162, 167, 199–215, 253–284, 351, 383–418
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   trust_registry.py62297%52–53
   verifier.py1473378%94–96, 101, 161–163, 168, 244, 252–254, 259, 303–308, 314–316, 374–376, 382, 421–423, 428, 464–466, 508–510
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611969%43–49, 79, 110–111, 124–140, 146–149, 196–197
   acapy_wallet.py401270%49–64, 98–99
   revocation_registry.py1533975%117–142, 185–189, 356–360, 399–404, 437–441, 459–474, 480–489
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/definitions
   credential_definition_publisher.py342235%14–15, 18–28, 34–58, 61–69
   definitions.py924452%50–72, 85–117, 141, 196–197, 216–254, 311–312
   schema_publisher.py493724%15–16, 21–44, 49–121
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 197–198
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 219–220, 247
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py54983%57–63, 89–99
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_definitions.py795135%33–56, 68–80, 92–106, 118–146, 164–209
   test_jsonld.py591673%134–169
   test_revocation.py936134%27–76, 89–106, 117–143, 155–180, 192–206, 218–255, 266–292
   test_tenants.py34929615%27–63, 74–100, 111–155, 168–231, 242–286, 299–419, 428–466, 475–503, 512–553, 562–605, 616–659, 671–716, 727–798
   test_wallet_dids.py691578%93–108, 120–131
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451176%39–116
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1195554%132–207, 216–224, 234–255, 289–349, 384–434
   definitions.py661085%41–48, 57–63, 114–121, 134–139
   member_acapy_clients.py36489%47–50, 73–74
   member_async_clients.py50296%32–33
   member_connections.py43491%73, 91, 123, 141
   member_wallets.py611575%23–27, 43–47, 63–67, 83–87, 103–109
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%335–339
app/tests/util
   connections.py851780%154–155, 169, 181, 191–223, 252–253
   ledger.py502648%34–59, 63–67, 73–86
   regression_testing.py35974%33, 60–68, 74–81
   sse_listener.py41880%50–55, 79–84
   tenants.py241250%10, 16–17, 21–26, 30–35, 39–44, 48–53, 57
   trust_registry.py29776%20–28
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   assert_public_did.py181233%14–34
   check_endorser_connection.py10460%14–24
   credentials.py13285%11, 18
   retry_method.py363017%15–36, 68–114
   string.py15193%24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%18–36
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL13964149889% 

Tests Skipped Failures Errors Time
992 39 💤 0 ❌ 0 🔥 4m 26s ⏱️

Copy link

github-actions bot commented Jul 2, 2024

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py902770%129–169, 210–211, 322–353, 397–398
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   trust_registry.py62297%52–53
   verifier.py1473378%94–96, 101, 161–163, 168, 244, 252–254, 259, 303–308, 314–316, 374–376, 382, 421–423, 428, 464–466, 508–510
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611280%110–111, 124–140, 196–197
   acapy_wallet.py40490%60–61, 98–99
   revocation_registry.py1532882%117–142, 185–189, 356–360, 399–404, 437–441, 469–474
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/definitions
   credential_definition_publisher.py341265%23–28, 40–53, 67–69
   definitions.py924749%55, 85–117, 130–166, 178–205, 269–320
   schema_publisher.py493039%28–35, 40–41, 49–121
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 197–198
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 219–220, 247
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py54983%57–63, 89–99
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_jsonld.py591673%134–169
   test_tenants.py3491596%186, 230–231, 263, 716, 754–755, 764–765, 774–775, 787–788, 797–798
   test_wallet_credentials.py30197%55
   test_wallet_dids.py691086%93–108
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451273%130–203
   test_verifier.py2281295%658–729
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1193769%176, 270–351, 364–436
   definitions.py662661%29–50, 64–65, 94–124, 143–144
   member_acapy_clients.py36489%47–50, 73–74
   member_connections.py43881%80–91, 130–141
   member_wallets.py611575%29–34, 49–54, 69–74, 89–94, 111–118
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%335–339
app/tests/util
   connections.py852768%104–129, 138–155, 172–181, 236–253
   ledger.py501080%35, 43, 55, 63–67, 77, 83
   regression_testing.py351751%33, 41–68, 74–81
   sse_listener.py41880%50–55, 79–84
   trust_registry.py29390%24, 27–28
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   assert_public_did.py18856%17–33
   credentials.py13285%11, 18
   retry_method.py361558%20–35, 76–77, 91–103
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14286%31–32
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL13964101493% 

Tests Skipped Failures Errors Time
992 10 💤 0 ❌ 0 🔥 13m 26s ⏱️

Copy link

github-actions bot commented Jul 2, 2024

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py904451%80–88, 143, 160–162, 167, 199–215, 253–284, 351, 383–418
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   trust_registry.py62297%52–53
   verifier.py1473378%94–96, 101, 161–163, 168, 244, 252–254, 259, 303–308, 314–316, 374–376, 382, 421–423, 428, 464–466, 508–510
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611969%43–49, 79, 110–111, 124–140, 146–149, 196–197
   acapy_wallet.py401270%49–64, 98–99
   revocation_registry.py1533975%117–142, 185–189, 356–360, 399–404, 437–441, 459–474, 480–489
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/definitions
   credential_definition_publisher.py342235%14–15, 18–28, 34–58, 61–69
   definitions.py924452%50–72, 85–117, 141, 196–197, 216–254, 311–312
   schema_publisher.py493724%15–16, 21–44, 49–121
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 197–198
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 219–220, 247
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py54983%57–63, 89–99
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_definitions.py795135%33–56, 68–80, 92–106, 118–146, 164–209
   test_jsonld.py591673%134–169
   test_revocation.py936134%27–76, 89–106, 117–143, 155–180, 192–206, 218–255, 266–292
   test_tenants.py34929615%27–63, 74–100, 111–155, 168–231, 242–286, 299–419, 428–466, 475–503, 512–553, 562–605, 616–659, 671–716, 727–798
   test_wallet_dids.py691578%93–108, 120–131
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451176%39–116
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1195554%132–207, 216–224, 234–255, 289–349, 384–434
   definitions.py661085%41–48, 57–63, 114–121, 134–139
   member_acapy_clients.py36489%47–50, 73–74
   member_async_clients.py50296%32–33
   member_connections.py43491%73, 91, 123, 141
   member_wallets.py611575%23–27, 43–47, 63–67, 83–87, 103–109
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%335–339
app/tests/util
   connections.py851780%154–155, 169, 181, 191–223, 252–253
   ledger.py502648%34–59, 63–67, 73–86
   regression_testing.py35974%33, 60–68, 74–81
   sse_listener.py41880%50–55, 79–84
   tenants.py241250%10, 16–17, 21–26, 30–35, 39–44, 48–53, 57
   trust_registry.py29776%20–28
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   assert_public_did.py181233%14–34
   check_endorser_connection.py10460%14–24
   credentials.py13285%11, 18
   retry_method.py363017%15–36, 68–114
   string.py15193%24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%18–36
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL13964149889% 

Tests Skipped Failures Errors Time
992 39 💤 0 ❌ 0 🔥 4m 38s ⏱️

@cl0ete cl0ete requested a review from ff137 July 2, 2024 12:48
Copy link

sonarqubecloud bot commented Jul 5, 2024

app/services/definitions/credential_definitions.py Dismissed Show dismissed Hide dismissed
app/services/definitions/credential_definitions.py Dismissed Show dismissed Hide dismissed
Copy link
Collaborator

@ff137 ff137 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I included some minor 🎨, mainly splitting services.definitions.definitions.py into schemas.py and credential_definitions.py, and then importing as schemas_service and cred_def_service in the routes module

Copy link

github-actions bot commented Jul 5, 2024

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py882769%120–160, 201–202, 313–344, 388–389
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   trust_registry.py62297%52–53
   verifier.py1473378%94–96, 101, 161–163, 168, 244, 252–254, 259, 303–308, 314–316, 374–376, 382, 421–423, 428, 464–466, 508–510
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611280%110–111, 124–140, 196–197
   acapy_wallet.py40490%60–61, 98–99
   revocation_registry.py1532882%117–142, 185–189, 356–360, 399–404, 437–441, 469–474
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/definitions
   credential_definition_publisher.py341265%23–29, 42–55, 69–71
   credential_definitions.py401270%81–132
   schema_publisher.py493137%32–40, 45–46, 54–126
   schemas.py603542%36, 66–98, 111–147, 159–187
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 197–198
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 219–220, 247
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py54983%57–63, 89–99
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_jsonld.py591673%134–169
   test_tenants.py3491596%186, 230–231, 263, 716, 754–755, 764–765, 774–775, 787–788, 797–798
   test_wallet_credentials.py30197%55
   test_wallet_dids.py691086%93–108
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451273%130–203
   test_verifier.py2281295%658–729
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1193769%176, 270–351, 364–436
   definitions.py662661%29–50, 64–65, 94–124, 143–144
   member_acapy_clients.py36489%47–50, 73–74
   member_connections.py43881%80–91, 130–141
   member_wallets.py611575%29–34, 49–54, 69–74, 89–94, 111–118
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%335–339
app/tests/util
   connections.py852768%104–129, 138–155, 172–181, 236–253
   ledger.py501080%35, 43, 55, 63–67, 77, 83
   regression_testing.py351751%33, 41–68, 74–81
   sse_listener.py41880%50–55, 79–84
   trust_registry.py29390%24, 27–28
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   assert_public_did.py18856%17–33
   credentials.py13285%11, 18
   retry_method.py361558%20–35, 76–77, 91–103
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14286%31–32
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL13970101593% 

Tests Skipped Failures Errors Time
992 10 💤 0 ❌ 0 🔥 12m 42s ⏱️

Copy link

github-actions bot commented Jul 5, 2024

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py884450%71–79, 134, 151–153, 158, 190–206, 244–275, 342, 374–409
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   trust_registry.py62297%52–53
   verifier.py1473378%94–96, 101, 161–163, 168, 244, 252–254, 259, 303–308, 314–316, 374–376, 382, 421–423, 428, 464–466, 508–510
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611969%43–49, 79, 110–111, 124–140, 146–149, 196–197
   acapy_wallet.py401270%49–64, 98–99
   revocation_registry.py1533975%117–142, 185–189, 356–360, 399–404, 437–441, 459–474, 480–489
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/definitions
   credential_definition_publisher.py342235%14–15, 18–29, 36–60, 63–71
   credential_definitions.py401660%28–66, 123–124
   schema_publisher.py493822%19–20, 25–49, 54–126
   schemas.py602853%31–53, 66–98, 122, 177–178
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 197–198
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 219–220, 247
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py54983%57–63, 89–99
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_definitions.py795135%33–56, 68–80, 92–106, 118–146, 164–209
   test_jsonld.py591673%134–169
   test_revocation.py936134%27–76, 89–106, 117–143, 155–180, 192–206, 218–255, 266–292
   test_tenants.py34929615%27–63, 74–100, 111–155, 168–231, 242–286, 299–419, 428–466, 475–503, 512–553, 562–605, 616–659, 671–716, 727–798
   test_wallet_dids.py691578%93–108, 120–131
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451176%39–116
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1195554%132–207, 216–224, 234–255, 289–349, 384–434
   definitions.py661085%41–48, 57–63, 114–121, 134–139
   member_acapy_clients.py36489%47–50, 73–74
   member_async_clients.py50296%32–33
   member_connections.py43491%73, 91, 123, 141
   member_wallets.py611575%23–27, 43–47, 63–67, 83–87, 103–109
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%335–339
app/tests/util
   connections.py851780%154–155, 169, 181, 191–223, 252–253
   ledger.py502648%34–59, 63–67, 73–86
   regression_testing.py35974%33, 60–68, 74–81
   sse_listener.py41880%50–55, 79–84
   tenants.py241250%10, 16–17, 21–26, 30–35, 39–44, 48–53, 57
   trust_registry.py29776%20–28
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   assert_public_did.py181233%14–34
   check_endorser_connection.py10460%14–24
   credentials.py13285%11, 18
   retry_method.py363017%15–36, 68–114
   string.py15193%24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%18–36
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL13970149989% 

Tests Skipped Failures Errors Time
992 39 💤 0 ❌ 0 🔥 4m 29s ⏱️

@ff137 ff137 merged commit 9fbca0f into development Jul 5, 2024
45 checks passed
@ff137 ff137 deleted the definitions-service branch July 5, 2024 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement improving on something that is already existing (not a new feature as such)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants