• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hyperledger / fabric-x-committer / 29747335649
91%

Build:
DEFAULT BRANCH: main
Ran 20 Jul 2026 01:44PM UTC
Jobs 3
Files 129
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Jul 2026 01:41PM UTC coverage: 91.545% (-0.2%) from 91.727%
29747335649

push

github

web-flow
[verifier] add SnapshotEndorsement/CheckpointEndorsement policy parsing and wiring (#683)

#### Type of change

- New feature
 
#### Description

- policy.ParseChannelPolicy(bundle, path) resolves a named channel
policy from the PolicyManager. policy.SystemNamespacePolicies lists the
{NamespaceID, PolicyPath} pairs for all three config-block policies
(_meta/LifecycleEndorsement, _snapshot/SnapshotEndorsement,
_checkpoint/CheckpointEndorsement) so callers loop over one table
instead of three near-identical named wrappers.
- createVerifiers's config-update branch loops SystemNamespacePolicies,
replacing three copy-pasted parse blocks.
- ValidateConfigTx loops the same table, so a config tx missing any of
the three policies (not just LifecycleEndorsement) is now rejected at
ingest time instead of only failing later inside the verifier.
- validateNamespaceIDInPolicy now also rejects committerpb.
SnapshotNamespaceID/CheckpointNamespaceID for ordinary ns__meta
namespace-policy updates, closing the gap where an operator/attacker
could otherwise overwrite the config-block-derived _snapshot/
_checkpoint verifiers via an ordinary _meta transaction.
- verifyRequest already does exact-key lookup (verifiers[ns.NsId]),
which already covers _snapshot/_checkpoint; no change needed (T033).

Tests:
- policy_test.go: TestParseChannelPolicy is table-driven over
SystemNamespacePolicies (lifecycle/snapshot/checkpoint share one test,
placed where the old lifecycle-only test used to live);
TestParsePolicyItem's invalid-namespace cases extended with
_snapshot/_checkpoint.
- verify_test.go: TestCreateVerifiersConfigNamespaces asserts
createVerifiers produces exactly the namespaces listed in
SystemNamespacePolicies after a config update, guarding the shared loop
against silently dropping an entry.

#### Additional details (Optional)

Negative case (policy absent in config block) deferred for
ValidateConfigTx/ParseChannelPolicy unit tests: fabric-x-common's test
config generator... (continued)

11 of 16 new or added lines in 2 files covered. (68.75%)

33 existing lines in 7 files now uncovered.

10449 of 11414 relevant lines covered (91.55%)

43174.87 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
92.21
-2.39% service/verifier/policy/policy.go
2
89.36
0.11% service/verifier/verify.go

Coverage Regressions

Lines Coverage ∆ File
20
76.89
-3.88% service/sidecar/sidecar.go
4
86.34
-1.09% service/vc/database.go
3
84.84
-0.41% service/sidecar/relay.go
2
81.9
-1.9% service/query/query.go
2
85.76
-0.68% service/query/batcher.go
1
92.58
-0.44% service/vc/validator_committer_service.go
1
94.95
-1.01% loadgen/adapters/common.go
Jobs
ID Job ID Ran Files Coverage
1 core-db-test - 29747335649.1 20 Jul 2026 01:44PM UTC 100
45.24
GitHub Action Run
2 unit-test - 29747335649.2 20 Jul 2026 01:47PM UTC 93
83.58
GitHub Action Run
3 db-test - 29747335649.3 20 Jul 2026 01:47PM UTC 129
79.77
GitHub Action Run
Source Files on build 29747335649
  • Tree
  • List 129
  • Changed 17
  • Source Changed 0
  • Coverage Changed 17
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • d4f61644 on github
  • Prev Build on main (#29740145923)
  • Next Build on main (#29751994877)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc