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

⬆️ Upgrade ACA-Py version to 0.12.1 #758

Merged
merged 47 commits into from
Jun 12, 2024
Merged

Conversation

ff137
Copy link
Collaborator

@ff137 ff137 commented Apr 11, 2024

Update: All tests are passing locally using a forked aca-py instance with this fix: openwallet-foundation/acapy#2910

Will hold back on merging 0.12 until we have a nightly build that includes the above fix -- makes docker image builds easier. Also, we should aim to include a basic regression test suite before rolling out this upgrade

So, to do before merging:

endorser/main.py Fixed Show fixed Hide fixed
webhooks/web/main.py Fixed Show fixed Hide fixed
@ff137 ff137 marked this pull request as draft April 16, 2024 09:19
@ff137 ff137 force-pushed the upgrade/acapy-0.12 branch from 313dd51 to 706ec42 Compare April 23, 2024 15:04
@ff137 ff137 marked this pull request as ready for review April 23, 2024 15:45
@ff137 ff137 self-assigned this Apr 24, 2024
@ff137 ff137 added enhancement New feature or request dependencies Pull requests that update a dependency file labels Apr 24, 2024
@ff137 ff137 marked this pull request as draft April 24, 2024 14:01
@ff137 ff137 marked this pull request as ready for review April 25, 2024 09:56
@ff137 ff137 force-pushed the upgrade/acapy-0.12 branch from cf91dee to e0217c8 Compare April 25, 2024 09:57
Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
app/routes
   connections.py603935%32–48, 64–76, 113–138, 159–173, 188–199
   definitions.py1889251%76–137, 170–171, 238–254, 269–275, 296–305, 328–329, 346–348, 391–445, 472–473, 517–597, 605–624
   issuer.py1804376%94, 130, 169–171, 200, 236–238, 246, 263, 362–394, 425–436, 469–500, 541, 554, 586
   jsonld.py604722%23–93, 104–137
   messaging.py241154%32–41, 61–71
   oob.py462839%27–68, 79–92, 116–127
   verifier.py1463278%64–66, 71, 109–111, 116, 158, 166–168, 173, 207–211, 220–222, 272–274, 280, 313–315, 320, 350–352, 386–388
   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
   dids.py762271%28–37, 56–57, 79–80, 92–99, 107–115
   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.py39490%60–61, 97–98
   revocation_registry.py1341390%151, 317–321, 349, 359–361, 391–395, 420–425
   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.py921485%36, 76–110, 213–214
   acapy_issuer_v2.py1062279%60–63, 87–127, 173, 235–236, 263
app/services/onboarding
   tenants.py584424%30–97, 107–137
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py693746%28–30, 50–52, 76–78, 109–128, 140–149, 161–172, 185–197
app/services/trust_registry
   actors.py107992%94–99, 109, 208–209, 211–216, 281–284
   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%43–51
   test_jsonld.py591673%133–168
   test_tenants.py3341596%167, 211–212, 240, 665, 699–700, 709–710, 719–720, 732–733, 742–743
   test_wallet_dids.py671085%92–107
app/tests/e2e/issuer
   test_save_exchange_record.py59198%141
app/tests/e2e/verifier
   test_verifier.py401199%1090
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/services
   test_revocation_registry.py135299%75, 108
app/tests/services/issuer
   test_issuer.py161299%316–319
app/tests/util
   credentials.py56198%153
   ecosystem_connections.py1332780%311–330, 347–367, 375–414
   ledger.py491080%34, 42, 54, 62–66, 76, 82
   member_acapy_clients.py36489%47–50, 73–74
   sse_listener.py41880%50–55, 79–84
   trust_registry.py42393%27, 30–31
   webhooks.py45491%19, 74–77, 100
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 189–192, 269
   credentials.py11464%11, 15–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, 89, 110, 145, 164
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
TOTAL1303693993% 

Tests Skipped Failures Errors Time
847 8 💤 0 ❌ 0 🔥 10m 58s ⏱️

Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
app/routes
   connections.py603935%32–48, 64–76, 113–138, 159–173, 188–199
   definitions.py1889251%76–137, 170–171, 238–254, 269–275, 296–305, 328–329, 346–348, 391–445, 472–473, 517–597, 605–624
   issuer.py1804376%94, 130, 169–171, 200, 236–238, 246, 263, 362–394, 425–436, 469–500, 541, 554, 586
   jsonld.py604722%23–93, 104–137
   messaging.py241154%32–41, 61–71
   oob.py462839%27–68, 79–92, 116–127
   verifier.py1463278%64–66, 71, 109–111, 116, 158, 166–168, 173, 207–211, 220–222, 272–274, 280, 313–315, 320, 350–352, 386–388
   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
   dids.py762271%28–37, 56–57, 79–80, 92–99, 107–115
   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.py39490%60–61, 97–98
   revocation_registry.py1341390%151, 317–321, 349, 359–361, 391–395, 420–425
   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.py921485%36, 76–110, 213–214
   acapy_issuer_v2.py1062279%60–63, 87–127, 173, 235–236, 263
app/services/onboarding
   tenants.py584424%30–97, 107–137
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py693746%28–30, 50–52, 76–78, 109–128, 140–149, 161–172, 185–197
app/services/trust_registry
   actors.py107992%94–99, 109, 208–209, 211–216, 281–284
   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%43–51
   test_jsonld.py591673%133–168
   test_tenants.py3341596%167, 211–212, 240, 665, 699–700, 709–710, 719–720, 732–733, 742–743
   test_wallet_dids.py671085%92–107
app/tests/e2e/issuer
   test_save_exchange_record.py59198%141
app/tests/e2e/verifier
   test_verifier.py401199%1090
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/services
   test_revocation_registry.py135299%75, 108
app/tests/services/issuer
   test_issuer.py161299%316–319
app/tests/util
   credentials.py56198%153
   ecosystem_connections.py1332780%311–330, 347–367, 375–414
   ledger.py491080%34, 42, 54, 62–66, 76, 82
   member_acapy_clients.py36489%47–50, 73–74
   sse_listener.py41880%50–55, 79–84
   trust_registry.py42393%27, 30–31
   webhooks.py45491%19, 74–77, 100
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 189–192, 269
   credentials.py11464%11, 15–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, 89, 110, 145, 164
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
TOTAL1303693993% 

Tests Skipped Failures Errors Time
847 8 💤 0 ❌ 0 🔥 11m 34s ⏱️

@ff137 ff137 force-pushed the upgrade/acapy-0.12 branch from b3a043b to 42cd98b Compare May 9, 2024 13:01
@ff137 ff137 changed the title ⬆️ Upgrade ACA-Py version to 0.12.0 ⬆️ Upgrade ACA-Py version to 0.12.1 May 9, 2024
endorser/main.py Fixed Show fixed Hide fixed
webhooks/web/main.py Fixed Show fixed Hide fixed
app/tests/util/webhooks.py Dismissed Show dismissed Hide dismissed
app/tests/util/connections.py Fixed Show fixed Hide fixed
Copy link

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarCloud

Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py20410648%107–189, 197–216, 261–350, 391–392, 450–466, 481–487, 508–517, 540–541, 558–560, 616–677, 721–722
   issuer.py1814476%97–99, 128, 191–193, 201, 218, 274, 287, 338, 411, 465, 587–618, 661–693, 739–750
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   verifier.py1473378%64–66, 71, 109–111, 116, 158, 166–168, 173, 207–212, 218–220, 270–272, 278, 311–313, 318, 348–350, 384–386
   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
   dids.py762271%28–37, 56–57, 79–80, 92–99, 107–115
   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.py1532981%117–142, 185–189, 356–360, 387, 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.py1012278%60–63, 87–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/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.py13469%6, 11, 18, 21
   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
TOTAL13359106392% 

Tests Skipped Failures Errors Time
900 10 💤 0 ❌ 0 🔥 12m 33s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app/routes
   definitions.py20414031%88–220, 274–283, 321–322, 334–343, 348, 380–396, 434–578, 663–664, 675, 707–742
   issuer.py1814476%97–99, 128, 191–193, 201, 218, 274, 287, 338, 411, 465, 587–618, 661–693, 739–750
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   verifier.py1473378%64–66, 71, 109–111, 116, 158, 166–168, 173, 207–212, 218–220, 270–272, 278, 311–313, 318, 348–350, 384–386
   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
   dids.py763751%28–37, 56–57, 79–80, 92–99, 107–115, 124–133, 145–166
   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.py1534074%117–142, 185–189, 356–360, 387, 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.py1012278%60–63, 87–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/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.py13469%6, 11, 18, 21
   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
TOTAL13359155288% 

Tests Skipped Failures Errors Time
900 39 💤 0 ❌ 0 🔥 4m 22s ⏱️

@ff137 ff137 merged commit f02e963 into development Jun 12, 2024
45 checks passed
@ff137 ff137 deleted the upgrade/acapy-0.12 branch June 12, 2024 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant