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

✨ Pagination support for fetching wallets, connections, cred ex and proof records #850

Merged
merged 21 commits into from
Jul 15, 2024

Conversation

ff137
Copy link
Collaborator

@ff137 ff137 commented Jun 27, 2024

Closes #621

Adds limit and offset query parameters to endpoints for:

  • fetching wallets
  • fetching connection records
  • fetching v1 or v2 credential exchange records
  • fetching v1 or v2 presentation exchange records

Todo:

  • add more e2e tests, asserting pagination works as expected

Later todo:

  • add custom ordering support, when added in askar

@ff137 ff137 requested a review from cl0ete June 27, 2024 14:46
@ff137 ff137 self-assigned this Jun 27, 2024
@ff137 ff137 added the enhancement New feature or request label Jun 27, 2024
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
   jsonld.py604722%23–93, 104–137
   messaging.py241154%43–52, 85–95
   oob.py462839%58–99, 131–144, 170–181
   verifier.py1483378%95–97, 102, 162–164, 169, 245, 253–255, 260, 304–309, 315–317, 383–385, 391, 430–432, 437, 473–475, 517–519
   webhooks.py16475%32–36, 57–61
   websocket_endpoint.py23865%24–25, 37–42, 54–57, 70–76
app/routes/wallet
   credentials.py775232%32–45, 54–66, 75–86, 95–109, 120–136, 148–162, 171–183, 192–203
   jws.py422736%35–60, 76–99
   sd_jws.py422736%36–61, 78–101
app/services
   acapy_ledger.py611280%110–111, 124–140, 196–197
   acapy_wallet.py40490%60–61, 98–99
   revocation_registry.py1532882%117–142, 185–189, 356–360, 399–404, 437–441, 469–474
   webhooks.py271833%17–25, 29–39
   websocket.py514120%19–22, 29–36, 47–91
app/services/event_handling
   websocket_manager.py732664%64–68, 87–90, 97–108, 115–125, 139
app/services/issuer
   acapy_issuer_v1.py871484%36, 76–110, 201–202
   acapy_issuer_v2.py1011288%63, 97–106, 110, 126–127, 173, 223–224, 251
app/services/onboarding
   tenants.py594524%30–98, 108–138
   verifier.py37392%67, 83–87
app/services/onboarding/util
   register_issuer_did.py86397%100–102
   set_endorser_metadata.py724044%28–30, 50–52, 76–78, 109–128, 140–151, 163–176, 189–203
app/services/trust_registry
   actors.py107992%95–100, 110, 209–210, 212–217, 282–285
   schemas.py49492%56–61, 91–96
app/services/trust_registry/util
   actor.py31294%26–27
   issuer.py23483%39–40, 48–49
app/tests/e2e
   conftest.py23578%46–54
   test_jsonld.py591673%134–169
   test_tenants.py3491596%186, 230–231, 263, 716, 754–755, 764–765, 774–775, 787–788, 797–798
   test_wallet_credentials.py30197%55
   test_wallet_dids.py691086%93–108
app/tests/e2e/issuer
   test_save_exchange_record.py72199%177
app/tests/e2e/verifier
   test_proof_revoked_credential.py451273%130–203
   test_verifier.py2281295%658–729
app/tests/exception_handling
   test_handle_model_with_validation.py23196%22
app/tests/fixtures
   credentials.py1193769%176, 270–351, 364–436
   definitions.py662661%29–50, 64–65, 94–124, 143–144
   member_acapy_clients.py36489%47–50, 73–74
   member_connections.py43881%80–91, 130–141
   member_wallets.py611575%29–34, 49–54, 69–74, 89–94, 111–118
app/tests/routes/issuer
   test_create_offer.py39197%150
   test_send_credential.py36197%129
app/tests/routes/wallet/dids
   test_get_public_did.py29197%40
app/tests/services
   test_revocation_registry.py135299%75, 106
app/tests/services/issuer
   test_issuer.py160299%347–351
app/tests/util
   connections.py852768%104–129, 138–155, 172–181, 236–253
   ledger.py501080%35, 43, 55, 63–67, 77, 83
   regression_testing.py351751%33, 41–68, 74–81
   sse_listener.py41880%50–55, 79–84
   trust_registry.py29390%24, 27–28
   webhooks.py54591%19, 74–77, 100, 124
app/util
   acapy_issuer_utils.py18194%22
   acapy_verifier_utils.py137596%108–111, 191–195, 272
   credentials.py13285%11, 18
   retry_method.py361558%20–35, 76–77, 91–103
   tenants.py451762%24–29, 44–45, 52–59, 90–91, 97, 124
endorser/services
   endorsement_processor.py137696%90, 152–162
webhooks/models
   conversions.py63690%70, 83, 91, 112, 149, 168
webhooks/services
   acapy_events_processor.py1862288%98, 161–171, 219–223, 251, 279–280, 308–312, 325–329, 354–367
   billing_manager.py175498%91, 98–99, 132
   sse_manager.py2353685%153, 155–168, 206–216, 245–246, 259–273, 328–332, 338–341, 343–346, 371–372, 415–417, 451, 462–463
   webhooks_redis_service.py1401986%70, 237–238, 354, 378–398, 411–422
webhooks/tests/services
   test_sse_manager.py180398%211–212, 218
webhooks/web/routers
   sse.py102397%168–171
TOTAL1386898793% 

Tests Skipped Failures Errors Time
993 10 💤 0 ❌ 0 🔥 12m 20s ⏱️

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

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

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

Tests Skipped Failures Errors Time
993 10 💤 0 ❌ 0 🔥 12m 44s ⏱️

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

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

Copy link
Collaborator

@cl0ete cl0ete left a comment

Choose a reason for hiding this comment

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

GGWP

app/tests/e2e/issuer/test_get_records_paginated.py Dismissed Show dismissed Hide dismissed
app/tests/e2e/verifier/test_get_records_paginated.py Dismissed Show dismissed Hide dismissed
app/tests/e2e/issuer/test_get_records_paginated.py Dismissed Show dismissed Hide dismissed
app/services/verifier/acapy_verifier_v1.py Dismissed Show dismissed Hide dismissed
… on dev that create records that aren't yet cleaned up. This must first get merged to apply those cleanup changes
Copy link

github-actions bot commented Jul 9, 2024

Coverage

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

Tests Skipped Failures Errors Time
997 4 💤 0 ❌ 0 🔥 12m 31s ⏱️

Copy link

github-actions bot commented Jul 9, 2024

Coverage

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

Tests Skipped Failures Errors Time
997 36 💤 0 ❌ 0 🔥 4m 21s ⏱️

@ff137 ff137 marked this pull request as draft July 11, 2024 13:22
@ff137 ff137 marked this pull request as ready for review July 11, 2024 14:33
Copy link

sonarcloud bot commented Jul 15, 2024

Copy link

Coverage

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

Tests Skipped Failures Errors Time
997 4 💤 0 ❌ 0 🔥 12m 18s ⏱️

Copy link

Coverage

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

Tests Skipped Failures Errors Time
997 36 💤 0 ❌ 0 🔥 4m 19s ⏱️

@ff137 ff137 merged commit b79ab26 into development Jul 15, 2024
45 checks passed
@ff137 ff137 deleted the feat/pagination branch July 15, 2024 21:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Paginate long responses
2 participants