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

🐛 Nats reconnect logic #1161

Merged
merged 8 commits into from
Nov 12, 2024
Merged

🐛 Nats reconnect logic #1161

merged 8 commits into from
Nov 12, 2024

Conversation

cl0ete
Copy link
Collaborator

@cl0ete cl0ete commented Nov 5, 2024

Add reconnect config to NATS.

@cl0ete cl0ete force-pushed the nats-reconnect-logic branch from a9ef443 to a6f0aad Compare November 5, 2024 10:56
@cl0ete cl0ete marked this pull request as draft November 5, 2024 11:35
@cl0ete cl0ete self-assigned this Nov 5, 2024
@cl0ete cl0ete force-pushed the nats-reconnect-logic branch from 39c6fb6 to e73de23 Compare November 5, 2024 14:23
@cl0ete cl0ete changed the title Nats reconnect logic :test: Nats reconnect logic Nov 5, 2024
@cl0ete cl0ete changed the title :test: Nats reconnect logic Nats reconnect logic Nov 5, 2024
@cl0ete cl0ete force-pushed the nats-reconnect-logic branch from 6cffdd3 to 42e7e02 Compare November 6, 2024 13:03
@cl0ete cl0ete marked this pull request as ready for review November 6, 2024 13:03
@didx-xyz didx-xyz deleted a comment from github-actions bot Nov 6, 2024
Copy link

sonarqubecloud bot commented Nov 8, 2024

Copy link

github-actions bot commented Nov 8, 2024

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.py805334%57–70, 96–108, 129–140, 166–180, 216–232, 266–283, 309–321, 342–353
   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_did_exchange.py732171%124–187
   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.py50198%56
endorser/services
   endorsement_processor.py1081091%115–116, 202–213
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, 120, 138, 174
waypoint/tests/services
   test_nats_service.py119397%46, 160, 187
TOTAL1255181494% 

Tests Skipped Failures Errors Time
838 6 💤 0 ❌ 0 🔥 2m 54s ⏱️

Copy link

github-actions bot commented Nov 8, 2024

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.py805334%57–70, 96–108, 129–140, 166–180, 216–232, 266–283, 309–321, 342–353
   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.py40490%60–61, 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_auth.py664236%30–41, 51–94, 104–152
   test_connections.py149299%281–282
   test_definitions.py795135%33–56, 68–80, 92–106, 118–146, 164–209
   test_did_exchange.py732171%124–187
   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.py682268%134–237
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.py50198%56
endorser/services
   endorsement_processor.py1081091%115–116, 202–213
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
TOTAL12111150788% 

Tests Skipped Failures Errors Time
838 43 💤 0 ❌ 0 🔥 3m 53s ⏱️

@@ -7,7 +7,7 @@ ARG PROTOBUF_VERSION=5.28.1
RUN pip install --no-cache-dir protobuf==${PROTOBUF_VERSION}

# install nats-events plugin
RUN pip install --no-cache-dir git+https://github.com/didx-xyz/aries-acapy-plugins@test-refactor-multitenant-manager-errors#subdirectory=nats_events
RUN pip install --no-cache-dir git+https://github.com/didx-xyz/aries-acapy-plugins@nats-reconnect#subdirectory=nats_events
Copy link
Collaborator

Choose a reason for hiding this comment

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

I just want to update this with a tagged release of the plugin, and then we can merge 👍 will do that later today

@ff137 ff137 changed the base branch from master to update-docker-images November 12, 2024 14:00
@ff137 ff137 force-pushed the nats-reconnect-logic branch from 7864a91 to a7db5d1 Compare November 12, 2024 14:01
@ff137 ff137 merged commit dcbaafa into update-docker-images Nov 12, 2024
2 checks passed
@ff137 ff137 deleted the nats-reconnect-logic branch November 12, 2024 14:02
ff137 added a commit that referenced this pull request Nov 14, 2024
* ⬆️ Upgrade to latest ACA-Py

* ⬆️ Update lock files

* 🐛 Nats reconnect logic (#1161)

* rework nats init

* 🎨

* remove broken test for now

* remove while loop

* reduce nats fetch timeout

* 🎨

* remove import

* re-add test

* ⬆️ Upgrade to 1.1.1b3 ACA-Py image + plugins

* ⬆️ Upgrade cloudcontroller to 1.1.1b3 release

* ⬆️ Update lock files

* ✨ Update to use new limit/offset params, instead of count/start

* ⬆️ Update version for next release

* test 1.1.1b4

* ⬆️ Upgrade protobuf version

* ✨ Use stable releases of acapy agent and plugins

* ⬆️ Upgrade aiohttp and update lock files

* 🎨 Correct acapy-wallet-groups-plugin version tag

* 🚧 test 1.1.1-20241115

* ✨ Enhance RichAsyncClient to retry on 502 errors as well

* 🎨 Parameterise the retry wait duration

* ⬆️ Upgrade plugins to next release

---------

Co-authored-by: cl0ete <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants