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

FIWARE / trusted-issuers-list / 91
88%

Build:
DEFAULT BRANCH: main
Ran 02 Sep 2026 12:54PM UTC
Jobs 1
Files 30
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

02 Sep 2026 12:52PM UTC coverage: 87.654% (+3.1%) from 84.584%
91

push

github

web-flow
Topic/order scoped credentials (#27)

* Scope credentials to what granted them

A credential entry was identified by its content, so revoking one grant removed a
credential another grant still required. That is a latent defect today - two
product orders can configure the same credential - and it becomes the normal case
once a ServiceSpecification shared by several products carries the
configuration.

Credentials now carry the identifier of whatever granted them, and grants are
addressed by it:

* PUT /issuer/{did}/credential?scope=<id> sets the credentials of one scope to
  exactly the ones provided, leaving every other scope - and every credential
  managed through the issuer endpoints, which carries no scope - untouched.
  Replacing rather than appending makes the call idempotent, which matters
  because the callers react to notifications that are redelivered on failure.
  The issuer is created when unknown, so callers need no create-or-update branch
  and cannot race on one.
* DELETE /issuer/{did}/credential?scope=<id> removes the credentials of one
  scope. The issuer itself is kept even when nothing remains, so an issuer
  somebody else manages is not deleted as a side effect. An issuer without
  credentials is trusted for nothing, which is the same outcome as before.
* A blank scope is rejected: it would create a grant no revocation can address
  precisely, which is the problem the scope exists to solve.

The scope is deliberately NOT part of the API models. Both registry projections
serialize the same CredentialsVO - v4 into the attribute body and hash, v5
additionally into the attribute id, which is a hash of those very bytes - so a
scope in that model would publish grant identifiers in a world-readable registry
and change every v5 attribute id. It travels as a query parameter instead and
lives only on the entity. Two regression tests pin that down by comparing the
projections of an unscoped and a scoped credential.

Because one credential can... (continued)

155 of 195 branches covered (79.49%)

Branch coverage included in aggregate %.

49 of 50 new or added lines in 3 files covered. (98.0%)

40 existing lines in 7 files now uncovered.

626 of 696 relevant lines covered (89.94%)

0.9 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
94.38
src/main/java/org/fiware/iam/rest/TrustedIssuerRegistryV5Controller.java

Coverage Regressions

Lines Coverage ∆ File
12
68.42
1.75% src/main/java/org/fiware/iam/TILMapper.java
9
0.0
0.0% src/main/java/org/fiware/iam/exception/CatchAllExceptionHandler.java
7
78.95
-11.38% src/main/java/org/fiware/iam/TIRMapper.java
5
0.0
0.0% src/main/java/org/fiware/iam/Application.java
3
50.0
0.0% src/main/java/org/fiware/iam/exception/ConflictException.java
3
91.76
3.81% src/main/java/org/fiware/iam/rest/TrustedIssuerRegistryController.java
1
72.73
0.0% src/main/java/org/fiware/iam/filter/ForwardedInfo.java
Jobs
ID Job ID Ran Files Coverage
1 91.1 02 Sep 2026 12:54PM UTC 30
87.65
GitHub Action Run
Source Files on build 91
  • Tree
  • List 30
  • Changed 27
  • Source Changed 27
  • Coverage Changed 25
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #91
  • 05dfade2 on github
  • Prev Build on main (#74)
  • Next Build on main (#95)
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