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

🐛 Waypoint wait for consumer to be ready #1331

Draft
wants to merge 43 commits into
base: master
Choose a base branch
from

Conversation

cl0ete
Copy link
Collaborator

@cl0ete cl0ete commented Feb 14, 2025

Getting consumer_info on NATS subscription before starting to pull events to make sure consumer is ready.

This solves an issue where we saw timeouts on NATS subscriptions

Method suggested by Claude/GPT/Copilot

@cl0ete cl0ete self-assigned this Feb 14, 2025
@cl0ete cl0ete changed the title ⚗️ Waypoint wait for consumer to be ready 🐛 Waypoint wait for consumer to be ready Feb 14, 2025
@cl0ete cl0ete added bug Something isn't working improvement improving on something that is already existing (not a new feature as such) labels Feb 14, 2025
@cl0ete cl0ete force-pushed the waypoint-consumer-ready branch from f56100e to 3da632f Compare February 14, 2025 10:18
@cl0ete cl0ete marked this pull request as ready for review February 14, 2025 10:18
@cl0ete cl0ete requested a review from ff137 February 14, 2025 10:18
Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app
   main.py80298%121–122
app/models
   wallet.py36489%100–105
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
app/services
   acapy_ledger.py631281%111–112, 125–141, 200–201
   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.py971288%63, 97–106, 110, 126–127, 172, 225–226, 252
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py95595%100–102, 276–281
   set_endorser_metadata.py724044%32–34, 58–60, 85–87, 118–137, 149–160, 172–185, 198–212
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/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
   save_exchange_record.py13192%29
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14286%34–35
shared
   log_config.py532062%41–94, 103–110, 152, 161–173
shared/models
   connection_record.py24196%47
   credential_exchange.py43784%85–88, 101–104
   endorsement.py866920%36–70, 92–122, 132–181
   presentation_exchange.py40978%54–56, 62–64, 82, 87, 91
   protocol.py10190%18
   trustregistry.py63789%22, 44, 75–83
shared/services
   nats_jetstream.py36489%56, 60, 64, 68
shared/util
   api_router.py14193%17
   mock_agent_controller.py55689%23, 74–78
trustregistry
   main.py84495%49–51, 113
waypoint
   main.py50198%67
waypoint/services
   nats_service.py118397%73–75
TOTAL496654789% 

Tests Skipped Failures Errors Time
895 6 💤 0 ❌ 0 🔥 4m 29s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app
   main.py80298%121–122
app/models
   wallet.py36489%100–105
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
app/services
   acapy_ledger.py631970%44–50, 80, 111–112, 125–141, 147–150, 200–201
   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.py971288%63, 97–106, 110, 126–127, 172, 225–226, 252
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py95595%100–102, 276–281
   set_endorser_metadata.py724044%32–34, 58–60, 85–87, 118–137, 149–160, 172–185, 198–212
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/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
   save_exchange_record.py13192%29
   string.py15473%15–16, 20, 24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%21–39
shared
   log_config.py532062%41–94, 103–110, 152, 161–173
shared/models
   connection_record.py24196%47
   credential_exchange.py43784%85–88, 101–104
   endorsement.py866920%36–70, 92–122, 132–181
   presentation_exchange.py40978%54–56, 62–64, 82, 87, 91
   protocol.py10190%18
   trustregistry.py63789%22, 44, 75–83
shared/services
   nats_jetstream.py36489%56, 60, 64, 68
shared/util
   api_router.py14193%17
   mock_agent_controller.py55689%23, 74–78
trustregistry
   main.py84495%49–51, 113
waypoint
   main.py50198%67
waypoint/services
   nats_service.py118397%73–75
TOTAL496659788% 

Tests Skipped Failures Errors Time
895 46 💤 0 ❌ 0 🔥 4m 15s ⏱️

Comment on lines 97 to 106
not_ready = True
while not_ready:
consumer_info = await subscription.consumer_info()
if isinstance(consumer_info, ConsumerInfo):
bound_logger.trace(
"Consumer is ready {}, {}",
consumer_info.name,
consumer_info.stream_name,
)
not_ready = False
Copy link
Collaborator

Choose a reason for hiding this comment

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

I can't figure out from the nats.py code if this actually ensures the consumer is ready. ConsumerInfo has:

@dataclass
class ConsumerInfo(Base):
    """
    ConsumerInfo represents the info about the consumer.
    """

    name: str
    stream_name: str
    config: ConsumerConfig
    # FIXME: Do not handle dates for now.
    # created: datetime
    delivered: Optional[SequenceInfo] = None
    ack_floor: Optional[SequenceInfo] = None
    num_ack_pending: Optional[int] = None
    num_redelivered: Optional[int] = None
    num_waiting: Optional[int] = None
    num_pending: Optional[int] = None
    cluster: Optional[ClusterInfo] = None
    push_bound: Optional[bool] = None

and none of it stands out as something we can check that it's ready. So we just assume if we get this response, it's ready. Only way to confirm that is if it fixes the bug ... so, let me know if it does

One nitpick is that I prefer: ready = False and while not ready, then in loop ready = True.
I think the if isinstance check can be dropped.


Come to think about it, the while loop is probably redundant, because the await can only return ConsumerInfo, or raise exception. So I don't think it'll ever loop.

So, presumably we just wanna get consumer info before proceeding.

Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app
   main.py80298%121–122
app/models
   wallet.py36489%100–105
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
app/services
   acapy_ledger.py631281%111–112, 125–141, 200–201
   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.py971288%63, 97–106, 110, 126–127, 172, 225–226, 252
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py95595%100–102, 276–281
   set_endorser_metadata.py724044%32–34, 58–60, 85–87, 118–137, 149–160, 172–185, 198–212
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/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
   save_exchange_record.py13192%29
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14286%34–35
shared
   log_config.py532062%41–94, 103–110, 152, 161–173
shared/models
   connection_record.py24196%47
   credential_exchange.py43784%85–88, 101–104
   endorsement.py866920%36–70, 92–122, 132–181
   presentation_exchange.py40978%54–56, 62–64, 82, 87, 91
   protocol.py10190%18
   trustregistry.py63789%22, 44, 75–83
shared/services
   nats_jetstream.py36489%56, 60, 64, 68
shared/util
   api_router.py14193%17
   mock_agent_controller.py55689%23, 74–78
trustregistry
   main.py84495%49–51, 113
waypoint
   main.py50198%67
waypoint/services
   nats_service.py1291688%76–78, 189–212, 219–221
TOTAL497756089% 

Tests Skipped Failures Errors Time
895 6 💤 0 ❌ 0 🔥 5m 14s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app
   main.py80298%121–122
app/models
   wallet.py36489%100–105
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
app/services
   acapy_ledger.py631970%44–50, 80, 111–112, 125–141, 147–150, 200–201
   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.py971288%63, 97–106, 110, 126–127, 172, 225–226, 252
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py95595%100–102, 276–281
   set_endorser_metadata.py724044%32–34, 58–60, 85–87, 118–137, 149–160, 172–185, 198–212
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/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
   save_exchange_record.py13192%29
   string.py15473%15–16, 20, 24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%21–39
shared
   log_config.py532062%41–94, 103–110, 152, 161–173
shared/models
   connection_record.py24196%47
   credential_exchange.py43784%85–88, 101–104
   endorsement.py866920%36–70, 92–122, 132–181
   presentation_exchange.py40978%54–56, 62–64, 82, 87, 91
   protocol.py10190%18
   trustregistry.py63789%22, 44, 75–83
shared/services
   nats_jetstream.py36489%56, 60, 64, 68
shared/util
   api_router.py14193%17
   mock_agent_controller.py55689%23, 74–78
trustregistry
   main.py84495%49–51, 113
waypoint
   main.py50198%67
waypoint/services
   nats_service.py1291688%76–78, 189–212, 219–221
TOTAL497761088% 

Tests Skipped Failures Errors Time
895 46 💤 0 ❌ 0 🔥 5m 13s ⏱️

Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app
   main.py80298%121–122
app/models
   wallet.py36489%100–105
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
app/services
   acapy_ledger.py631281%111–112, 125–141, 200–201
   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.py971288%63, 97–106, 110, 126–127, 172, 225–226, 252
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py95595%100–102, 276–281
   set_endorser_metadata.py724044%32–34, 58–60, 85–87, 118–137, 149–160, 172–185, 198–212
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/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
   save_exchange_record.py13192%29
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14286%34–35
shared
   log_config.py532062%41–94, 103–110, 152, 161–173
shared/models
   connection_record.py24196%47
   credential_exchange.py43784%85–88, 101–104
   endorsement.py866920%36–70, 92–122, 132–181
   presentation_exchange.py40978%54–56, 62–64, 82, 87, 91
   protocol.py10190%18
   trustregistry.py63789%22, 44, 75–83
shared/services
   nats_jetstream.py36489%56, 60, 64, 68
shared/util
   api_router.py14193%17
   mock_agent_controller.py55689%23, 74–78
trustregistry
   main.py84495%49–51, 113
waypoint
   main.py50198%67
waypoint/services
   nats_service.py1301688%76–78, 190–213, 220–222
TOTAL497856089% 

Tests Skipped Failures Errors Time
895 6 💤 20 ❌ 67 🔥 4m 13s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app
   main.py80298%121–122
app/models
   wallet.py36489%100–105
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
app/services
   acapy_ledger.py631970%44–50, 80, 111–112, 125–141, 147–150, 200–201
   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.py971288%63, 97–106, 110, 126–127, 172, 225–226, 252
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py95595%100–102, 276–281
   set_endorser_metadata.py724044%32–34, 58–60, 85–87, 118–137, 149–160, 172–185, 198–212
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/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
   save_exchange_record.py13192%29
   string.py15473%15–16, 20, 24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%21–39
shared
   log_config.py532062%41–94, 103–110, 152, 161–173
shared/models
   connection_record.py24196%47
   credential_exchange.py43784%85–88, 101–104
   endorsement.py866920%36–70, 92–122, 132–181
   presentation_exchange.py40978%54–56, 62–64, 82, 87, 91
   protocol.py10190%18
   trustregistry.py63789%22, 44, 75–83
shared/services
   nats_jetstream.py36489%56, 60, 64, 68
shared/util
   api_router.py14193%17
   mock_agent_controller.py55689%23, 74–78
trustregistry
   main.py84495%49–51, 113
waypoint
   main.py50198%67
waypoint/services
   nats_service.py1301688%76–78, 190–213, 220–222
TOTAL497861088% 

Tests Skipped Failures Errors Time
895 46 💤 44 ❌ 24 🔥 5m 13s ⏱️

Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app
   main.py80298%121–122
app/models
   wallet.py36489%100–105
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
app/services
   acapy_ledger.py631281%111–112, 125–141, 200–201
   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.py971288%63, 97–106, 110, 126–127, 172, 225–226, 252
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py95595%100–102, 276–281
   set_endorser_metadata.py724044%32–34, 58–60, 85–87, 118–137, 149–160, 172–185, 198–212
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/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
   save_exchange_record.py13192%29
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14286%34–35
shared
   log_config.py532062%41–94, 103–110, 152, 161–173
shared/models
   connection_record.py24196%47
   credential_exchange.py43784%85–88, 101–104
   endorsement.py866920%36–70, 92–122, 132–181
   presentation_exchange.py40978%54–56, 62–64, 82, 87, 91
   protocol.py10190%18
   trustregistry.py63789%22, 44, 75–83
shared/services
   nats_jetstream.py36489%56, 60, 64, 68
shared/util
   api_router.py14193%17
   mock_agent_controller.py55689%23, 74–78
trustregistry
   main.py84495%49–51, 113
waypoint
   main.py50198%67
waypoint/services
   nats_service.py1301688%76–78, 190–213, 220–222
TOTAL497856089% 

Tests Skipped Failures Errors Time
895 6 💤 0 ❌ 0 🔥 4m 21s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app
   main.py80298%121–122
app/models
   wallet.py36489%100–105
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
app/services
   acapy_ledger.py631970%44–50, 80, 111–112, 125–141, 147–150, 200–201
   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.py971288%63, 97–106, 110, 126–127, 172, 225–226, 252
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py95595%100–102, 276–281
   set_endorser_metadata.py724044%32–34, 58–60, 85–87, 118–137, 149–160, 172–185, 198–212
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/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
   save_exchange_record.py13192%29
   string.py15473%15–16, 20, 24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%21–39
shared
   log_config.py532062%41–94, 103–110, 152, 161–173
shared/models
   connection_record.py24196%47
   credential_exchange.py43784%85–88, 101–104
   endorsement.py866920%36–70, 92–122, 132–181
   presentation_exchange.py40978%54–56, 62–64, 82, 87, 91
   protocol.py10190%18
   trustregistry.py63789%22, 44, 75–83
shared/services
   nats_jetstream.py36489%56, 60, 64, 68
shared/util
   api_router.py14193%17
   mock_agent_controller.py55689%23, 74–78
trustregistry
   main.py84495%49–51, 113
waypoint
   main.py50198%67
waypoint/services
   nats_service.py1301688%76–78, 190–213, 220–222
TOTAL497861088% 

Tests Skipped Failures Errors Time
895 46 💤 0 ❌ 0 🔥 3m 40s ⏱️

Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app
   main.py80298%121–122
app/models
   wallet.py36489%100–105
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
app/services
   acapy_ledger.py631281%111–112, 125–141, 200–201
   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.py971288%63, 97–106, 110, 126–127, 172, 225–226, 252
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py95595%100–102, 276–281
   set_endorser_metadata.py724044%32–34, 58–60, 85–87, 118–137, 149–160, 172–185, 198–212
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/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
   save_exchange_record.py13192%29
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14286%34–35
shared
   log_config.py532062%41–94, 103–110, 152, 161–173
shared/models
   connection_record.py24196%47
   credential_exchange.py43784%85–88, 101–104
   endorsement.py866920%36–70, 92–122, 132–181
   presentation_exchange.py40978%54–56, 62–64, 82, 87, 91
   protocol.py10190%18
   trustregistry.py63789%22, 44, 75–83
shared/services
   nats_jetstream.py36489%56, 60, 64, 68
shared/util
   api_router.py14193%17
   mock_agent_controller.py55689%23, 74–78
trustregistry
   main.py84495%49–51, 113
waypoint
   main.py50198%67
waypoint/services
   nats_service.py1301688%76–78, 190–213, 220–222
TOTAL497856089% 

Tests Skipped Failures Errors Time
895 6 💤 0 ❌ 0 🔥 4m 49s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app
   main.py80298%121–122
app/models
   wallet.py36489%100–105
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
app/services
   acapy_ledger.py631970%44–50, 80, 111–112, 125–141, 147–150, 200–201
   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.py971288%63, 97–106, 110, 126–127, 172, 225–226, 252
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py95595%100–102, 276–281
   set_endorser_metadata.py724044%32–34, 58–60, 85–87, 118–137, 149–160, 172–185, 198–212
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/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
   save_exchange_record.py13192%29
   string.py15473%15–16, 20, 24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%21–39
shared
   log_config.py532062%41–94, 103–110, 152, 161–173
shared/models
   connection_record.py24196%47
   credential_exchange.py43784%85–88, 101–104
   endorsement.py866920%36–70, 92–122, 132–181
   presentation_exchange.py40978%54–56, 62–64, 82, 87, 91
   protocol.py10190%18
   trustregistry.py63789%22, 44, 75–83
shared/services
   nats_jetstream.py36489%56, 60, 64, 68
shared/util
   api_router.py14193%17
   mock_agent_controller.py55689%23, 74–78
trustregistry
   main.py84495%49–51, 113
waypoint
   main.py50198%67
waypoint/services
   nats_service.py1301688%76–78, 190–213, 220–222
TOTAL497861088% 

Tests Skipped Failures Errors Time
895 46 💤 0 ❌ 0 🔥 5m 12s ⏱️

@cl0ete cl0ete marked this pull request as draft February 21, 2025 12:20
Copy link

Coverage

K8s Test Coverage
FileStmtsMissCoverMissing
app
   main.py80298%121–122
app/models
   wallet.py36489%100–105
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
app/services
   acapy_ledger.py631281%111–112, 125–141, 200–201
   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.py971288%63, 97–106, 110, 126–127, 172, 225–226, 252
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py95595%100–102, 276–281
   set_endorser_metadata.py724044%32–34, 58–60, 85–87, 118–137, 149–160, 172–185, 198–212
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/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
   save_exchange_record.py13192%29
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14286%34–35
shared
   log_config.py532062%41–94, 103–110, 152, 161–173
shared/models
   connection_record.py24196%47
   credential_exchange.py43784%85–88, 101–104
   endorsement.py866920%36–70, 92–122, 132–181
   presentation_exchange.py40978%54–56, 62–64, 82, 87, 91
   protocol.py10190%18
   trustregistry.py63789%22, 44, 75–83
shared/services
   nats_jetstream.py36489%56, 60, 64, 68
shared/util
   api_router.py14193%17
   mock_agent_controller.py55689%23, 74–78
trustregistry
   main.py84495%49–51, 113
waypoint
   main.py50198%67
waypoint/services
   nats_service.py1281688%76–78, 186–209, 216–218
TOTAL497656089% 

Tests Skipped Failures Errors Time
895 6 💤 0 ❌ 0 🔥 4m 44s ⏱️

Copy link

Coverage

K8s Regression Test Coverage
FileStmtsMissCoverMissing
app
   main.py80298%121–122
app/models
   wallet.py36489%100–105
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
app/services
   acapy_ledger.py631970%44–50, 80, 111–112, 125–141, 147–150, 200–201
   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.py971288%63, 97–106, 110, 126–127, 172, 225–226, 252
app/services/onboarding
   tenants.py634922%30–103, 113–143
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py95595%100–102, 276–281
   set_endorser_metadata.py724044%32–34, 58–60, 85–87, 118–137, 149–160, 172–185, 198–212
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/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
   save_exchange_record.py13192%29
   string.py15473%15–16, 20, 24
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
   transaction_acked.py14750%21–39
shared
   log_config.py532062%41–94, 103–110, 152, 161–173
shared/models
   connection_record.py24196%47
   credential_exchange.py43784%85–88, 101–104
   endorsement.py866920%36–70, 92–122, 132–181
   presentation_exchange.py40978%54–56, 62–64, 82, 87, 91
   protocol.py10190%18
   trustregistry.py63789%22, 44, 75–83
shared/services
   nats_jetstream.py36489%56, 60, 64, 68
shared/util
   api_router.py14193%17
   mock_agent_controller.py55689%23, 74–78
trustregistry
   main.py84495%49–51, 113
waypoint
   main.py50198%67
waypoint/services
   nats_service.py1281688%76–78, 186–209, 216–218
TOTAL497661088% 

Tests Skipped Failures Errors Time
895 46 💤 0 ❌ 0 🔥 4m 59s ⏱️

@@ -93,6 +96,11 @@
subscription = await self.js_context.pull_subscribe(
config=config, **subscribe_kwargs
)

# Get consumer info to verify that the subscription was successful
# TODO test if this is necessary/helps

Check notice

Code scanning / Pylintpython3 (reported by Codacy)

TODO test if this is necessary/helps Note

TODO test if this is necessary/helps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working 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.

3 participants