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

🐛 Fix endorser Nats connection going stale #1122

Merged
merged 24 commits into from
Oct 17, 2024

Conversation

cl0ete
Copy link
Collaborator

@cl0ete cl0ete commented Oct 16, 2024

Add heartbeat to fetch from NATS, this gives error to catch so that we can re-subscribe.

Updated endorser health endpoints and add tests.

Closes #1120

Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app
   main.py78297%117–118
app/routes
   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.py1393376%88–90, 95, 152–154, 159, 231, 239–241, 246, 288–293, 299–301, 362–364, 369, 406–408, 413, 449–451, 505–507
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.py1663579%118–160, 201–205, 360–364, 403–408, 441–445, 473–478, 527–528
app/services/issuer
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 227–228, 255
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py88397%103–105
   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_connections.py149299%281–282
   test_jsonld.py591673%134–169
   test_proof_request_models.py24196%101
   test_tenants.py4211596%203, 247–248, 287, 789, 833–834, 843–844, 853–854, 866–867, 876–877
   test_wallet_credentials.py30197%55
   test_wallet_dids.py701086%101–116
app/tests/e2e/issuer
   test_get_records_paginated.py63297%65–66
   test_save_exchange_record.py72199%166
app/tests/e2e/verifier
   test_get_records_paginated.py62297%59–60
   test_many_revocations.py614034%31–107, 117–128, 139–214
   test_proof_revoked_credential.py441273%127–199
   test_verifier.py2241295%661–731
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1203769%173, 268–348, 361–432
   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%145
   test_send_credential.py36197%125
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py141299%74, 105
app/tests/services/issuer
   test_issuer.py123298%281–285
app/tests/util
   connections.py872967%104–129, 138–155, 172–181, 236–256
   ledger.py501080%35, 43, 55, 63–67, 77, 83
   regression_testing.py351751%33, 41–68, 74–81
   sse_listener.py28486%51–56
   trust_registry.py29390%24, 27–28
   webhooks.py531572%19, 65–81, 88–90, 95, 119
app/util
   acapy_verifier_utils.py123596%81–84, 164–168, 245
   assert_public_did.py18856%17–33
   credentials.py14286%13, 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
   main.py37197%55
endorser/services
   endorsement_processor.py94298%110–111
endorser/tests
   test_util_endorsement.py144597%286, 291, 350–352
endorser/util
   endorsement.py68790%134–146
trustregistry
   main.py82495%46–48, 110
trustregistry/tests
   test_main.py137199%90
waypoint
   main.py48198%64
waypoint/tests/routers
   test_waypoint_sse.py83594%61–62, 119, 136, 171
waypoint/tests/services
   test_nats_service.py116397%45, 133, 155
TOTAL1207378494% 

Tests Skipped Failures Errors Time
796 5 💤 0 ❌ 0 🔥 2m 55s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app
   main.py78297%117–118
app/routes
   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.py1393376%88–90, 95, 152–154, 159, 231, 239–241, 246, 288–293, 299–301, 362–364, 369, 406–408, 413, 449–451, 505–507
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.py1664672%118–160, 201–205, 360–364, 403–408, 441–445, 463–478, 484–493, 527–528
app/services/issuer
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 227–228, 255
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py88397%103–105
   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_connections.py149299%281–282
   test_definitions.py795135%33–56, 68–80, 92–106, 118–146, 164–209
   test_jsonld.py591673%134–169
   test_proof_request_models.py24196%101
   test_revocation.py1117334%27–77, 90–107, 118–144, 156–181, 193–207, 219–256, 267–293, 305–335, 346–349
   test_tenants.py42136414%29–73, 84–117, 128–172, 185–254, 265–316, 329–459, 468–520, 529–565, 574–623, 632–681, 692–734, 746–795, 806–877, 886–993
   test_wallet_dids.py701579%101–116, 128–139
app/tests/e2e/issuer
   test_get_records_paginated.py635217%25–161
   test_save_exchange_record.py72199%166
app/tests/e2e/verifier
   test_get_credentials_by_proof_id.py251252%27–81
   test_get_records_paginated.py624921%27–155
   test_many_revocations.py614034%31–107, 117–128, 139–214
   test_proof_revoked_credential.py441175%37–113
   test_verifier_oob.py692367%134–240
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1205653%130–204, 213–221, 231–253, 287–346, 381–430
   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%145
   test_send_credential.py36197%125
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py141299%74, 105
app/tests/services/issuer
   test_issuer.py123298%281–285
app/tests/util
   connections.py871978%154–155, 169, 181, 191–223, 251–256
   ledger.py502648%34–59, 63–67, 73–86
   regression_testing.py35974%33, 60–68, 74–81
   sse_listener.py28486%51–56
   tenants.py241250%10, 16–17, 21–26, 30–35, 39–44, 48–53, 57
   trust_registry.py29776%20–28
   webhooks.py531572%19, 65–81, 88–90, 95, 119
app/util
   acapy_verifier_utils.py123596%81–84, 164–168, 245
   assert_public_did.py181233%14–34
   check_endorser_connection.py10460%14–24
   credentials.py14286%13, 18
   retry_method.py363017%15–36, 68–114
   string.py15473%15–16, 20, 24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%18–36
endorser
   main.py37197%55
endorser/services
   endorsement_processor.py94298%110–111
endorser/tests
   test_util_endorsement.py144597%286, 291, 350–352
endorser/util
   endorsement.py68790%134–146
trustregistry
   main.py82495%46–48, 110
trustregistry/tests
   test_main.py137199%90
TOTAL11638144488% 

Tests Skipped Failures Errors Time
796 39 💤 0 ❌ 0 🔥 3m 46s ⏱️

Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app
   main.py78297%117–118
app/routes
   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.py1393376%88–90, 95, 152–154, 159, 231, 239–241, 246, 288–293, 299–301, 362–364, 369, 406–408, 413, 449–451, 505–507
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.py1663579%118–160, 201–205, 360–364, 403–408, 441–445, 473–478, 527–528
app/services/issuer
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 227–228, 255
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py88397%103–105
   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_connections.py149299%281–282
   test_jsonld.py591673%134–169
   test_proof_request_models.py24196%101
   test_tenants.py4211596%203, 247–248, 287, 789, 833–834, 843–844, 853–854, 866–867, 876–877
   test_wallet_credentials.py30197%55
   test_wallet_dids.py701086%101–116
app/tests/e2e/issuer
   test_get_records_paginated.py63297%65–66
   test_save_exchange_record.py72199%166
app/tests/e2e/verifier
   test_get_records_paginated.py62297%59–60
   test_many_revocations.py614034%31–107, 117–128, 139–214
   test_proof_revoked_credential.py441273%127–199
   test_verifier.py2241295%661–731
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1203769%173, 268–348, 361–432
   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%145
   test_send_credential.py36197%125
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py141299%74, 105
app/tests/services/issuer
   test_issuer.py123298%281–285
app/tests/util
   connections.py872967%104–129, 138–155, 172–181, 236–256
   ledger.py501080%35, 43, 55, 63–67, 77, 83
   regression_testing.py351751%33, 41–68, 74–81
   sse_listener.py28486%51–56
   trust_registry.py29390%24, 27–28
   webhooks.py531572%19, 65–81, 88–90, 95, 119
app/util
   acapy_verifier_utils.py123596%81–84, 164–168, 245
   assert_public_did.py18856%17–33
   credentials.py14286%13, 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
   main.py37197%55
endorser/services
   endorsement_processor.py94298%110–111
endorser/tests
   test_util_endorsement.py144597%286, 291, 350–352
endorser/util
   endorsement.py68790%134–146
trustregistry
   main.py82495%46–48, 110
trustregistry/tests
   test_main.py137199%90
waypoint
   main.py48198%64
waypoint/tests/routers
   test_waypoint_sse.py83594%61–62, 119, 136, 171
waypoint/tests/services
   test_nats_service.py116397%45, 133, 155
TOTAL1207378494% 

Tests Skipped Failures Errors Time
796 5 💤 0 ❌ 0 🔥 3m 15s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app
   main.py78297%117–118
app/routes
   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.py1393376%88–90, 95, 152–154, 159, 231, 239–241, 246, 288–293, 299–301, 362–364, 369, 406–408, 413, 449–451, 505–507
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.py1664672%118–160, 201–205, 360–364, 403–408, 441–445, 463–478, 484–493, 527–528
app/services/issuer
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 227–228, 255
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py88397%103–105
   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_connections.py149299%281–282
   test_definitions.py795135%33–56, 68–80, 92–106, 118–146, 164–209
   test_jsonld.py591673%134–169
   test_proof_request_models.py24196%101
   test_revocation.py1117334%27–77, 90–107, 118–144, 156–181, 193–207, 219–256, 267–293, 305–335, 346–349
   test_tenants.py42136414%29–73, 84–117, 128–172, 185–254, 265–316, 329–459, 468–520, 529–565, 574–623, 632–681, 692–734, 746–795, 806–877, 886–993
   test_wallet_dids.py701579%101–116, 128–139
app/tests/e2e/issuer
   test_get_records_paginated.py635217%25–161
   test_save_exchange_record.py72199%166
app/tests/e2e/verifier
   test_get_credentials_by_proof_id.py251252%27–81
   test_get_records_paginated.py624921%27–155
   test_many_revocations.py614034%31–107, 117–128, 139–214
   test_proof_revoked_credential.py441175%37–113
   test_verifier_oob.py692367%134–240
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1205653%130–204, 213–221, 231–253, 287–346, 381–430
   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%145
   test_send_credential.py36197%125
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py141299%74, 105
app/tests/services/issuer
   test_issuer.py123298%281–285
app/tests/util
   connections.py871978%154–155, 169, 181, 191–223, 251–256
   ledger.py502648%34–59, 63–67, 73–86
   regression_testing.py35974%33, 60–68, 74–81
   sse_listener.py28486%51–56
   tenants.py241250%10, 16–17, 21–26, 30–35, 39–44, 48–53, 57
   trust_registry.py29776%20–28
   webhooks.py531572%19, 65–81, 88–90, 95, 119
app/util
   acapy_verifier_utils.py123596%81–84, 164–168, 245
   assert_public_did.py181233%14–34
   check_endorser_connection.py10460%14–24
   credentials.py14286%13, 18
   retry_method.py363017%15–36, 68–114
   string.py15473%15–16, 20, 24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%18–36
endorser
   main.py37197%55
endorser/services
   endorsement_processor.py94298%110–111
endorser/tests
   test_util_endorsement.py144597%286, 291, 350–352
endorser/util
   endorsement.py68790%134–146
trustregistry
   main.py82495%46–48, 110
trustregistry/tests
   test_main.py137199%90
TOTAL11638144488% 

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

Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app
   main.py78297%117–118
app/routes
   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.py1393376%88–90, 95, 152–154, 159, 231, 239–241, 246, 288–293, 299–301, 362–364, 369, 406–408, 413, 449–451, 505–507
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.py1663579%118–160, 201–205, 360–364, 403–408, 441–445, 473–478, 527–528
app/services/issuer
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 227–228, 255
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py90397%103–105
   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_connections.py149299%281–282
   test_jsonld.py591673%134–169
   test_proof_request_models.py24196%101
   test_tenants.py4211596%203, 247–248, 287, 789, 833–834, 843–844, 853–854, 866–867, 876–877
   test_wallet_credentials.py30197%55
   test_wallet_dids.py701086%101–116
app/tests/e2e/issuer
   test_get_records_paginated.py63297%65–66
   test_save_exchange_record.py72199%166
app/tests/e2e/verifier
   test_get_records_paginated.py62297%59–60
   test_many_revocations.py614034%31–107, 117–128, 139–214
   test_proof_revoked_credential.py441273%127–199
   test_verifier.py2241295%661–731
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1203769%173, 268–348, 361–432
   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%145
   test_send_credential.py36197%125
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py141299%74, 105
app/tests/services/issuer
   test_issuer.py123298%281–285
app/tests/util
   connections.py872967%104–129, 138–155, 172–181, 236–256
   ledger.py501080%35, 43, 55, 63–67, 77, 83
   regression_testing.py351751%33, 41–68, 74–81
   sse_listener.py28486%51–56
   trust_registry.py29390%24, 27–28
   webhooks.py531572%19, 65–81, 88–90, 95, 119
app/util
   acapy_verifier_utils.py123596%81–84, 164–168, 245
   assert_public_did.py18856%17–33
   credentials.py14286%13, 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
   main.py37197%55
endorser/services
   endorsement_processor.py94298%110–111
endorser/tests
   test_util_endorsement.py144597%286, 291, 350–352
endorser/util
   endorsement.py68790%134–146
trustregistry
   main.py82495%46–48, 110
trustregistry/tests
   test_main.py137199%90
waypoint
   main.py48198%64
waypoint/tests/routers
   test_waypoint_sse.py83594%61–62, 119, 136, 171
waypoint/tests/services
   test_nats_service.py116397%45, 133, 155
TOTAL1207578494% 

Tests Skipped Failures Errors Time
796 5 💤 0 ❌ 0 🔥 2m 53s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app
   main.py78297%117–118
app/routes
   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.py1393376%88–90, 95, 152–154, 159, 231, 239–241, 246, 288–293, 299–301, 362–364, 369, 406–408, 413, 449–451, 505–507
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.py1664672%118–160, 201–205, 360–364, 403–408, 441–445, 463–478, 484–493, 527–528
app/services/issuer
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 227–228, 255
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py90397%103–105
   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_connections.py149299%281–282
   test_definitions.py795135%33–56, 68–80, 92–106, 118–146, 164–209
   test_jsonld.py591673%134–169
   test_proof_request_models.py24196%101
   test_revocation.py1117334%27–77, 90–107, 118–144, 156–181, 193–207, 219–256, 267–293, 305–335, 346–349
   test_tenants.py42136414%29–73, 84–117, 128–172, 185–254, 265–316, 329–459, 468–520, 529–565, 574–623, 632–681, 692–734, 746–795, 806–877, 886–993
   test_wallet_dids.py701579%101–116, 128–139
app/tests/e2e/issuer
   test_get_records_paginated.py635217%25–161
   test_save_exchange_record.py72199%166
app/tests/e2e/verifier
   test_get_credentials_by_proof_id.py251252%27–81
   test_get_records_paginated.py624921%27–155
   test_many_revocations.py614034%31–107, 117–128, 139–214
   test_proof_revoked_credential.py441175%37–113
   test_verifier_oob.py692367%134–240
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1205653%130–204, 213–221, 231–253, 287–346, 381–430
   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%145
   test_send_credential.py36197%125
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py141299%74, 105
app/tests/services/issuer
   test_issuer.py123298%281–285
app/tests/util
   connections.py871978%154–155, 169, 181, 191–223, 251–256
   ledger.py502648%34–59, 63–67, 73–86
   regression_testing.py35974%33, 60–68, 74–81
   sse_listener.py28486%51–56
   tenants.py241250%10, 16–17, 21–26, 30–35, 39–44, 48–53, 57
   trust_registry.py29776%20–28
   webhooks.py531572%19, 65–81, 88–90, 95, 119
app/util
   acapy_verifier_utils.py123596%81–84, 164–168, 245
   assert_public_did.py181233%14–34
   check_endorser_connection.py10460%14–24
   credentials.py14286%13, 18
   retry_method.py363017%15–36, 68–114
   string.py15473%15–16, 20, 24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%18–36
endorser
   main.py37197%55
endorser/services
   endorsement_processor.py94298%110–111
endorser/tests
   test_util_endorsement.py144597%286, 291, 350–352
endorser/util
   endorsement.py68790%134–146
trustregistry
   main.py82495%46–48, 110
trustregistry/tests
   test_main.py137199%90
TOTAL11640144488% 

Tests Skipped Failures Errors Time
796 39 💤 0 ❌ 0 🔥 3m 48s ⏱️

Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app
   main.py78297%117–118
app/routes
   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.py1393376%88–90, 95, 152–154, 159, 231, 239–241, 246, 288–293, 299–301, 362–364, 369, 406–408, 413, 449–451, 505–507
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.py1663579%118–160, 201–205, 360–364, 403–408, 441–445, 473–478, 527–528
app/services/issuer
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 227–228, 255
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py88397%103–105
   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_connections.py149299%281–282
   test_jsonld.py591673%134–169
   test_proof_request_models.py24196%101
   test_tenants.py4211596%203, 247–248, 287, 789, 833–834, 843–844, 853–854, 866–867, 876–877
   test_wallet_credentials.py30197%55
   test_wallet_dids.py701086%101–116
app/tests/e2e/issuer
   test_get_records_paginated.py63297%65–66
   test_save_exchange_record.py72199%166
app/tests/e2e/verifier
   test_get_records_paginated.py62297%59–60
   test_many_revocations.py614034%31–107, 117–128, 139–214
   test_proof_revoked_credential.py441273%127–199
   test_verifier.py2241295%661–731
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1203769%173, 268–348, 361–432
   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%145
   test_send_credential.py36197%125
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py141299%74, 105
app/tests/services/issuer
   test_issuer.py123298%281–285
app/tests/util
   connections.py872967%104–129, 138–155, 172–181, 236–256
   ledger.py501080%35, 43, 55, 63–67, 77, 83
   regression_testing.py351751%33, 41–68, 74–81
   sse_listener.py28486%51–56
   trust_registry.py29390%24, 27–28
   webhooks.py531572%19, 65–81, 88–90, 95, 119
app/util
   acapy_verifier_utils.py123596%81–84, 164–168, 245
   assert_public_did.py18856%17–33
   credentials.py14286%13, 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
   main.py37197%55
endorser/services
   endorsement_processor.py94298%110–111
endorser/tests
   test_util_endorsement.py144597%286, 291, 350–352
endorser/util
   endorsement.py68790%134–146
trustregistry
   main.py82495%46–48, 110
trustregistry/tests
   test_main.py137199%90
waypoint
   main.py48198%64
waypoint/tests/routers
   test_waypoint_sse.py83594%61–62, 119, 136, 171
waypoint/tests/services
   test_nats_service.py116397%45, 133, 155
TOTAL1207378494% 

Tests Skipped Failures Errors Time
796 5 💤 0 ❌ 0 🔥 2m 51s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app
   main.py78297%117–118
app/routes
   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.py1393376%88–90, 95, 152–154, 159, 231, 239–241, 246, 288–293, 299–301, 362–364, 369, 406–408, 413, 449–451, 505–507
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.py1664672%118–160, 201–205, 360–364, 403–408, 441–445, 463–478, 484–493, 527–528
app/services/issuer
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 227–228, 255
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py88397%103–105
   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_connections.py149299%281–282
   test_definitions.py795135%33–56, 68–80, 92–106, 118–146, 164–209
   test_jsonld.py591673%134–169
   test_proof_request_models.py24196%101
   test_revocation.py1117334%27–77, 90–107, 118–144, 156–181, 193–207, 219–256, 267–293, 305–335, 346–349
   test_tenants.py42136414%29–73, 84–117, 128–172, 185–254, 265–316, 329–459, 468–520, 529–565, 574–623, 632–681, 692–734, 746–795, 806–877, 886–993
   test_wallet_dids.py701579%101–116, 128–139
app/tests/e2e/issuer
   test_get_records_paginated.py635217%25–161
   test_save_exchange_record.py72199%166
app/tests/e2e/verifier
   test_get_credentials_by_proof_id.py251252%27–81
   test_get_records_paginated.py624921%27–155
   test_many_revocations.py614034%31–107, 117–128, 139–214
   test_proof_revoked_credential.py441175%37–113
   test_verifier_oob.py692367%134–240
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1205653%130–204, 213–221, 231–253, 287–346, 381–430
   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%145
   test_send_credential.py36197%125
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py141299%74, 105
app/tests/services/issuer
   test_issuer.py123298%281–285
app/tests/util
   connections.py871978%154–155, 169, 181, 191–223, 251–256
   ledger.py502648%34–59, 63–67, 73–86
   regression_testing.py35974%33, 60–68, 74–81
   sse_listener.py28486%51–56
   tenants.py241250%10, 16–17, 21–26, 30–35, 39–44, 48–53, 57
   trust_registry.py29776%20–28
   webhooks.py531572%19, 65–81, 88–90, 95, 119
app/util
   acapy_verifier_utils.py123596%81–84, 164–168, 245
   assert_public_did.py181233%14–34
   check_endorser_connection.py10460%14–24
   credentials.py14286%13, 18
   retry_method.py363017%15–36, 68–114
   string.py15473%15–16, 20, 24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%18–36
endorser
   main.py37197%55
endorser/services
   endorsement_processor.py94298%110–111
endorser/tests
   test_util_endorsement.py144597%286, 291, 350–352
endorser/util
   endorsement.py68790%134–146
trustregistry
   main.py82495%46–48, 110
trustregistry/tests
   test_main.py137199%90
TOTAL11638144488% 

Tests Skipped Failures Errors Time
796 39 💤 0 ❌ 0 🔥 4m 15s ⏱️

Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app
   main.py78297%117–118
app/routes
   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.py1393376%88–90, 95, 152–154, 159, 231, 239–241, 246, 288–293, 299–301, 362–364, 369, 406–408, 413, 449–451, 505–507
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.py1663579%118–160, 201–205, 360–364, 403–408, 441–445, 473–478, 527–528
app/services/issuer
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 227–228, 255
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py91397%103–105
   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_connections.py149299%281–282
   test_jsonld.py591673%134–169
   test_proof_request_models.py24196%101
   test_tenants.py4211596%203, 247–248, 287, 789, 833–834, 843–844, 853–854, 866–867, 876–877
   test_wallet_credentials.py30197%55
   test_wallet_dids.py701086%101–116
app/tests/e2e/issuer
   test_get_records_paginated.py63297%65–66
   test_save_exchange_record.py72199%166
app/tests/e2e/verifier
   test_get_records_paginated.py62297%59–60
   test_many_revocations.py614034%31–107, 117–128, 139–214
   test_proof_revoked_credential.py441273%127–199
   test_verifier.py2241295%661–731
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1203769%173, 268–348, 361–432
   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%145
   test_send_credential.py36197%125
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py141299%74, 105
app/tests/services/issuer
   test_issuer.py123298%281–285
app/tests/util
   connections.py872967%104–129, 138–155, 172–181, 236–256
   ledger.py501080%35, 43, 55, 63–67, 77, 83
   regression_testing.py351751%33, 41–68, 74–81
   sse_listener.py28486%51–56
   trust_registry.py29390%24, 27–28
   webhooks.py531572%19, 65–81, 88–90, 95, 119
app/util
   acapy_verifier_utils.py123596%81–84, 164–168, 245
   assert_public_did.py18856%17–33
   credentials.py14286%13, 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
   main.py37197%55
endorser/services
   endorsement_processor.py94298%110–111
endorser/tests
   test_util_endorsement.py144597%286, 291, 350–352
endorser/util
   endorsement.py68790%134–146
trustregistry
   main.py82495%46–48, 110
trustregistry/tests
   test_main.py137199%90
waypoint
   main.py48198%64
waypoint/tests/routers
   test_waypoint_sse.py83594%61–62, 119, 136, 171
waypoint/tests/services
   test_nats_service.py116397%45, 133, 155
TOTAL1207678494% 

Tests Skipped Failures Errors Time
796 5 💤 0 ❌ 0 🔥 2m 50s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app
   main.py78297%117–118
app/routes
   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.py1393376%88–90, 95, 152–154, 159, 231, 239–241, 246, 288–293, 299–301, 362–364, 369, 406–408, 413, 449–451, 505–507
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.py1664672%118–160, 201–205, 360–364, 403–408, 441–445, 463–478, 484–493, 527–528
app/services/issuer
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 227–228, 255
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py91397%103–105
   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_connections.py149299%281–282
   test_definitions.py795135%33–56, 68–80, 92–106, 118–146, 164–209
   test_jsonld.py591673%134–169
   test_proof_request_models.py24196%101
   test_revocation.py1117334%27–77, 90–107, 118–144, 156–181, 193–207, 219–256, 267–293, 305–335, 346–349
   test_tenants.py42136414%29–73, 84–117, 128–172, 185–254, 265–316, 329–459, 468–520, 529–565, 574–623, 632–681, 692–734, 746–795, 806–877, 886–993
   test_wallet_dids.py701579%101–116, 128–139
app/tests/e2e/issuer
   test_get_records_paginated.py635217%25–161
   test_save_exchange_record.py72199%166
app/tests/e2e/verifier
   test_get_credentials_by_proof_id.py251252%27–81
   test_get_records_paginated.py624921%27–155
   test_many_revocations.py614034%31–107, 117–128, 139–214
   test_proof_revoked_credential.py441175%37–113
   test_verifier_oob.py692367%134–240
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1205653%130–204, 213–221, 231–253, 287–346, 381–430
   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%145
   test_send_credential.py36197%125
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py141299%74, 105
app/tests/services/issuer
   test_issuer.py123298%281–285
app/tests/util
   connections.py871978%154–155, 169, 181, 191–223, 251–256
   ledger.py502648%34–59, 63–67, 73–86
   regression_testing.py35974%33, 60–68, 74–81
   sse_listener.py28486%51–56
   tenants.py241250%10, 16–17, 21–26, 30–35, 39–44, 48–53, 57
   trust_registry.py29776%20–28
   webhooks.py531572%19, 65–81, 88–90, 95, 119
app/util
   acapy_verifier_utils.py123596%81–84, 164–168, 245
   assert_public_did.py181233%14–34
   check_endorser_connection.py10460%14–24
   credentials.py14286%13, 18
   retry_method.py363017%15–36, 68–114
   string.py15473%15–16, 20, 24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%18–36
endorser
   main.py37197%55
endorser/services
   endorsement_processor.py94298%110–111
endorser/tests
   test_util_endorsement.py144597%286, 291, 350–352
endorser/util
   endorsement.py68790%134–146
trustregistry
   main.py82495%46–48, 110
trustregistry/tests
   test_main.py137199%90
TOTAL11641144488% 

Tests Skipped Failures Errors Time
796 39 💤 0 ❌ 0 🔥 4m 1s ⏱️

@cl0ete cl0ete changed the title Wait issuer did endorse Fix endorser Nats connection going stale Oct 17, 2024
@cl0ete cl0ete changed the title Fix endorser Nats connection going stale 🐛 Fix endorser Nats connection going stale Oct 17, 2024
@cl0ete cl0ete requested a review from ff137 October 17, 2024 13:28
@ff137 ff137 added the bug Something isn't working label Oct 17, 2024
ff137 and others added 3 commits October 17, 2024 17:09
…ections protocol (#1119)

* 🗑️ mark deprecated routes

* 🚧 initial implementation of new did-exchange routes

* 🎨 modify default extra settings example

* 🔧 Update default pylint config

* 🎨 update docstrings and available optional params

* 🚧 e2e test under construction

* ✅ fix up create request tests

* 🐛 fix protocol: /1.1 doesn't work ...

* 🐛 use_public_did must be false in accept-request

* ✅ working tests for accept-request

* 🎨 remove unused endpoint and update route names

* 🎨 update route names

* 🎨 accept reject reason sa body instead of param

* ⬆️ Use latest cloudcontroller

* ⬆️ Update lock files

* ✨ implement did-rotate endpoints

* 🔧 add max-positional-arguments to pylintrc

* ⬆️ use latest cloudcontroller

* ⬆️ Update lock files

* ✨ Use did-rotate/hangup in deletion of connection record (if using didexchange protocol)

* ✅ Fix deleting records when using oob connections

* ✅ assert connections are complete for both parties

* ✅ e2e tests for did-rotate

* ⬆️ Helmfile `0.169`, Helm `3.16.2`, Tailscale `1.76.0` (#1123)

* 📌 Pin `xk6` and plugin versions (#1124)

* `xk6-sse` isn't compatible with `k6>=0.53`
* Pin `xk6` and all plugins to the latest compatible versions
* Also bump Golang to `1.23`

* 📌 Explicitly pin k6 to `v0.52.0` (#1125)

* ⬆️ Update lock files

* 🎨

* ✅ 100% unit test coverage for new did-exchange and did-rotate methods

* ✅ fixed up delete connection test

* 🐛 Reconfigure ACAPY_AUTO_ACCEPT_REQUESTS for Faber after test completes

* ✅ add cleaning up of connection records, for regression fixtures not to get bloated

---------

Co-authored-by: Robbie Blaine <4052340+rblaine95@users.noreply.github.com>
Copy link

sonarcloud bot commented Oct 17, 2024

@ff137 ff137 enabled auto-merge (squash) October 17, 2024 15:26
@ff137 ff137 merged commit c6b887e into development Oct 17, 2024
28 of 33 checks passed
@ff137 ff137 deleted the wait-issuer-did-endorse branch October 17, 2024 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Maximum number of retries exceeded while waiting for transaction ack
2 participants