Skip to content

Commit a1fbca2

Browse files
Merge pull request #137 from sine-fdn/revert-merge-branch
Revert "Merge pull request #134 from sine-fdn/ileap-conformance"
2 parents 604312b + 0fb8d30 commit a1fbca2

File tree

1 file changed

+19
-194
lines changed

1 file changed

+19
-194
lines changed

specs/index.bs

+19-194
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ status tags are:
140140
: <dfn>Transport Service User</dfn>
141141
:: Refers to the party that purchases and or utilizes a transport service. It could be a [=shipper=] or a [=Transport Service Organizer=]. See [[!ISO14083]], Section 3.1.33.
142142

143+
143144
## Auxillary Definitions ## {#auxillary-definitions}
144145

145146
: <dfn>Access Token</dfn>
@@ -2501,108 +2502,6 @@ the links above for further details.
25012502
Any optional property that is not explicitly mentioned above MAY remain unset. All mandatory
25022503
properties that cannot be derived from `HOC` CAN be populated in a best-effort manner.
25032504

2504-
# Conformance # {#conformance}
2505-
2506-
The iLEAP Technical Specifications are designed to be incrementally adopted and
2507-
realized in [=host systems=] for different stakeholder groups. Therefore,
2508-
there are 2 kinds of <dfn>iLEAP conformance</dfn> defined:
2509-
2510-
1. [=iLEAP Emissions Data Conformance=]
2511-
1. [=iLEAP Activity Data Conformance=]
2512-
2513-
For each kind of iLEAP Conformance, a host system achieves conformity by
2514-
2515-
1. realizing the normative statements and relevant test cases referenced
2516-
in [[#ileap-conformance-matrix]] below,
2517-
2. successfully passing Bilateral Testing ([[#conformity-bilateral-testing]])
2518-
3. succesfully passing the [Automated Conformance Testing](https://act.sine.dev)
2519-
2520-
To achieve iLEAP Emissions Data Conformance, [=host systems=] are further REQUIRED to support the
2521-
following features:
2522-
1. fetching <{TAD}> from another host system and
2523-
2. using it to generate <{TOC}>, <{HOC}>, or <{ShipmentFootprint}> data.
2524-
2525-
It is RECOMMENDED for host systems to conform to both kinds of [=iLEAP conformance=].
2526-
2527-
Sections marked as non-normative, all authoring guidelines, diagrams, examples,
2528-
and notes in this specification are non-normative. Everything else in this
2529-
specification is normative.
2530-
2531-
The key words MAY, MUST, MUST NOT, OPTIONAL, RECOMMENDED, REQUIRED, SHOULD,
2532-
and SHOULD NOT in this document are to be interpreted as described in
2533-
[[!RFC2119]] [[!RFC8174]] when, and only when, they appear in all capitals,
2534-
as shown here.
2535-
2536-
Advisement: Currently, iLEAP Conformance ensures interoperability and syntactic correctness. Future
2537-
updates will extend coverage to include semantic correctness, ensuring that emissions calculations
2538-
are performed accurately in end-to-end scenarios.
2539-
2540-
## Conformance Matrix ## {#ileap-conformance-matrix}
2541-
2542-
<figure>
2543-
<table class="complex data">
2544-
<thead>
2545-
<tr>
2546-
<th style="text-align: left">Test Case
2547-
<th style="text-align: left">Conformance
2548-
<tbody >
2549-
<tr>
2550-
<td style="text-align: left">All [PACT Required Test Cases](https://wbcsd.github.io/pact-conformance-testing/checklist.html#required-tests)
2551-
<td rowspan="4"><dfn>iLEAP Emissions Data Conformance</dfn>
2552-
2553-
<tr>
2554-
<td style="text-align: left">[[#test-case-001]]
2555-
2556-
<tr>
2557-
<td style="text-align: left">[[#test-case-002]]
2558-
2559-
<tr>
2560-
<td style="text-align: left">[[#test-case-003]]
2561-
2562-
<tr>
2563-
<td style="text-align: left">[[#test-case-004]]
2564-
<td rowspan="5"><dfn>iLEAP Activity Data Conformance</dfn>
2565-
2566-
<tr>
2567-
<td style="text-align: left">[[#test-case-005]]
2568-
2569-
<tr>
2570-
<td style="text-align: left">[[#test-case-006]]
2571-
2572-
<tr>
2573-
<td style="text-align: left">[[#test-case-007]]
2574-
2575-
<tr>
2576-
<td style="text-align: left">[[#test-case-008]]
2577-
2578-
</table>
2579-
<figcaption>iLEAP Conformance Matrix</figcaption>
2580-
</figure>
2581-
2582-
2583-
## Bilateral Testing ## {#conformity-bilateral-testing}
2584-
2585-
A Bilateral Test is an interoperability test where two different [=host system=]
2586-
implementations participate to verify conformance ([[#conformance]]) and their
2587-
ability to work together.
2588-
2589-
One system acts as the [=data owner=]. It is called the <dfn>target host system</dfn> and is the system under test.
2590-
The second system acts as the testing party.
2591-
2592-
Note:
2593-
The objective of Bilateral Testing is to ensure that systems can effectively
2594-
communicate despite having independent codebases.
2595-
2596-
2597-
## Submission ## {#conformity-submission}
2598-
2599-
Note: non-normative
2600-
2601-
Once a [=host system=] achieved [=iLEAP conformance=] in 1 or all kinds of iLEAP conformance,
2602-
the implementer is requested to reach out to the authors of this Technical Specifications to
2603-
apply for additional support, materials, and marketing opportunities.
2604-
2605-
26062505
# Appendix A: Changelog # {#changelog}
26072506

26082507
## Version 0.2.1-20250129 (2025-01-29) ## {#version-20250129}
@@ -2964,17 +2863,17 @@ In order to test the conformance of an iLEAP implementation, the following tests
29642863
## PACT Conformance Tests ## {#pact-conformance-tests}
29652864

29662865
Since the iLEAP Technical Specifications were conceived as an extension to the PACT Data Model and
2967-
Data Exchange Protocol, any iLEAP conformant implementation must also implement [[!PACTDX]] v2.1.0 or above. For that
2968-
reason, the required tests in the [PACT Conformance Testing
2969-
Checklist](https://wbcsd.github.io/pact-conformance-testing/checklist.html#required-tests) should also be performed.
2866+
Data Exchange Protocol, any iLEAP conformant implementation must also be PACT Conformant. For that
2867+
reason, the tests in the [PACT Conformance Testing
2868+
Checklist](https://wbcsd.github.io/pact-conformance-testing/checklist.html) must be performed.
29702869

29712870
## iLEAP Specific Conformance Tests ## {#ileap-specific-conformance-tests}
29722871

29732872
The following tests are specific to the iLEAP Technical Specifications:
29742873

29752874
### Test Case 001: Get ProductFootprint with ShipmentFootprint ### {#test-case-001}
29762875

2977-
Tests the [=target host system=]'s ability to return `ProductFootprints` with `ShipmentFootprint`s as
2876+
Tests the target host system's ability to return `ProductFootprints` with `ShipmentFootprint`s as
29782877
extensions.
29792878

29802879
#### Request #### {#test-case-001-request}
@@ -2985,7 +2884,7 @@ system with a valid access token and the syntax specified in [PACT Tech Specs V2
29852884

29862885
#### Expected Response #### {#test-case-001-response}
29872886

2988-
The test [=target host system=] must respond with 200 OK with a JSON body containing a list of
2887+
The test target host system must respond with 200 OK with a JSON body containing a list of
29892888
`ProductFootprints` (as per the [PACT Tech Specs V2.2
29902889
§api-action-list-response](https://wbcsd.github.io/data-exchange-protocol/v2/#api-action-list-response)).
29912890
Those which include `productIds` with [the format specified for ShipmentFootprints](#pcf-mapping-sf)
@@ -2994,18 +2893,15 @@ must be conformant with the Data Model specified in [[#dt-sf]]. The relevant pro
29942893

29952894
### Test Case 002: Get ProductFootprint with TOC ### {#test-case-002}
29962895

2997-
Tests the [=target host system=]'s ability to return `ProductFootprints` with `TOC`s as
2998-
extensions.
2999-
30002896
#### Request #### {#test-case-002-request}
30012897

3002-
A `ListFootprints` GET request must be sent to the `/2/footprints` endpoint of the test [=target host
3003-
system=] with a valid access token and the syntax specified in [PACT Tech Specs V2.2
2898+
A `ListFootprints` GET request must be sent to the `/2/footprints` endpoint of the test target host
2899+
system with a valid access token and the syntax specified in [PACT Tech Specs V2.2
30042900
§api-action-list-request](https://wbcsd.github.io/data-exchange-protocol/v2/#api-action-list-request).
30052901

30062902
#### Expected Response #### {#test-case-002-response}
30072903

3008-
The test [=target host system=] must respond with 200 OK with a JSON body containing a list of
2904+
The test target host system must respond with 200 OK with a JSON body containing a list of
30092905
`ProductFootprints` (as per the [PACT Tech Specs V2.2
30102906
§api-action-list-response](https://wbcsd.github.io/data-exchange-protocol/v2/#api-action-list-response)).
30112907

@@ -3019,17 +2915,15 @@ relevant properties of the `ProductFootprint` must also be confomant with the gu
30192915

30202916
### Test Case 003: Get ProductFootprint with HOC ### {#test-case-003}
30212917

3022-
Tests the [=target host system=]'s ability to return `ProductFootprints` with `HOC`s as extensions.
3023-
30242918
#### Request #### {#test-case-003-request}
30252919

3026-
A `ListFootprints` GET request must be sent to the `/2/footprints` endpoint of the test [=target host
3027-
system=] with a valid access token and the syntax specified in [PACT Tech Specs V2.2
2920+
A `ListFootprints` GET request must be sent to the `/2/footprints` endpoint of the test target host
2921+
system with a valid access token and the syntax specified in [PACT Tech Specs V2.2
30282922
§api-action-list-request](https://wbcsd.github.io/data-exchange-protocol/v2/#api-action-list-request).
30292923

30302924
#### Expected Response #### {#test-case-003-response}
30312925

3032-
The test [=target host system=] must respond with 200 OK with a JSON body containing a list of
2926+
The test target host system must respond with 200 OK with a JSON body containing a list of
30332927
`ProductFootprints` (as per the [PACT Tech Specs V2.2
30342928
§api-action-list-response](https://wbcsd.github.io/data-exchange-protocol/v2/#api-action-list-response)).
30352929

@@ -3043,102 +2937,33 @@ relevant properties of the `ProductFootprint` must also be confomant with the gu
30432937

30442938
### Test Case 004: Get All TransportActivityData ### {#test-case-004}
30452939

3046-
Tests the [=target host system=]'s ability to return all `TransportActivityData`.
3047-
30482940
#### Request #### {#test-case-004-request}
30492941

3050-
A `TransportActivityData` GET request must be sent to the `/2/ileap/tad` endpoint of the test [=target
3051-
host system=] with a valid [=access token=] and the syntax specified in [[#action-tad-request]].
3052-
3053-
The access token must be obtained through the [PACT's Authentication Flow](https://wbcsd.github.io/tr/2023/data-exchange-protocol-20231207/#api-auth). This can be tested through PACT's Test Cases [001](https://wbcsd.github.io/pact-conformance-testing/checklist.html#tc001) and [002](https://wbcsd.github.io/pact-conformance-testing/checklist.html#tc002).
2942+
A `TransportActivityData` GET request must be sent to the `/2/ileap/tad` endpoint of the test target
2943+
host system with a valid access token and the syntax specified in [[#action-tad-request]].
30542944

30552945
#### Expected Response #### {#test-case-004-response}
30562946

3057-
The test [=target host system=] must respond with 200 OK and a JSON body containing a list of
2947+
The test target host system must respond with 200 OK and a JSON body containing a list of
30582948
`TransportActivityData`, in conformance with [[#action-tad-response]] and following the data model
30592949
specified at [[#dt-tad]].
30602950

30612951
### Test Case 005: Get Filtered List of TransportActivityData ### {#test-case-005}
30622952

3063-
Tests the [=target host system=]'s ability to return a filtered list of `TransportActivityData`.
3064-
3065-
#### Request #### {#test-case-005-request}
3066-
3067-
A `TransportActivityData` GET request must be sent to the `/2/ileap/tad` endpoint of the test [=target
3068-
host system=] with a valid [=access token=] and the syntax specified in [[#action-tad-request]].
3069-
3070-
The request must include a query parameter [=Filter=]. Any property can be used as a filter, but we
3071-
recomen using {{TransportMode}}, iterating over all possible values:
3072-
3073-
- `GET /2/ileap/tad?mode=Road HTTP/1.1`
3074-
- `GET /2/ileap/tad?mode=Rail HTTP/1.1`
3075-
- `GET /2/ileap/tad?mode=Air HTTP/1.1`
3076-
- `GET /2/ileap/tad?mode=Sea HTTP/1.1`
3077-
- `GET /2/ileap/tad?mode=InlandWaterway HTTP/1.1`
3078-
3079-
The access token must be obtained through the [PACT's Authentication Flow](https://wbcsd.github.io/tr/2023/data-exchange-protocol-20231207/#api-auth). This can be tested through PACT's Test Cases [001](https://wbcsd.github.io/pact-conformance-testing/checklist.html#tc001) and [002](https://wbcsd.github.io/pact-conformance-testing/checklist.html#tc002).
3080-
3081-
#### Expected Response #### {#test-case-005-response}
3082-
3083-
For at least one filter, the test [=target host system=] must respond with 200 OK and a JSON body
3084-
containing a list of `TransportActivityData` matching the filter, in conformance with
3085-
[[#action-tad-response]] and following the data model specified at [[#dt-tad]].
2953+
Issue: TBD
30862954

30872955
### Test Case 006: Get Limited List of TransportActivityData ### {#test-case-006}
30882956

3089-
Tests the [=target host system=]'s ability to return a limited list of `TransportActivityData`.
3090-
3091-
#### Request #### {#test-case-006-request}
3092-
3093-
A `TransportActivityData` GET request must be sent to the `/2/ileap/tad` endpoint of the test
3094-
[=target host system=] with a valid [=access token=] and the syntax specified in
3095-
[[#action-tad-request]]. The request must include a query parameter [=Limit=] with value `1`.
3096-
3097-
The access token must be obtained through the [PACT's Authentication
3098-
Flow](https://wbcsd.github.io/tr/2023/data-exchange-protocol-20231207/#api-auth). This can be tested
3099-
through PACT's Test Cases
3100-
[001](https://wbcsd.github.io/pact-conformance-testing/checklist.html#tc001) and
3101-
[002](https://wbcsd.github.io/pact-conformance-testing/checklist.html#tc002).
3102-
3103-
#### Expected Response #### {#test-case-006-response}
3104-
3105-
The test [=target host system=] must respond with 200 OK and a JSON body containing one or less
3106-
`TransportActivityData`, in conformance with [[#action-tad-response]] and following the data model
3107-
specified at [[#dt-tad]].
2957+
Issue: TBD
31082958

31092959
### Test Case 007: Attempt TransportActivityData with Invalid Token ### {#test-case-007}
31102960

3111-
Tests the [=target host system=]'s ability to handle a `TransportActivityData` request with an invalid
3112-
access token.
3113-
3114-
#### Request #### {#test-case-007-request}
3115-
3116-
A `TransportActivityData` GET request must be sent to the `/2/ileap/tad` endpoint of the test [=target
3117-
host system=] with an invalid access token and the syntax specified in [[#action-tad-request]].
3118-
3119-
#### Expected Response #### {#test-case-007-response}
3120-
3121-
The test [=target host system=] must respond with a 401 Unauthorized status code.
2961+
Issue: TBD
31222962

31232963
### Test Case 008: Attempt TransportActivityData with Expired Token ### {#test-case-008}
31242964

3125-
Tests the [=target host system=]'s ability to handle a `TransportActivityData` request with an expired
3126-
access token.
3127-
3128-
#### Request #### {#test-case-008-request}
3129-
3130-
A `TransportActivityData` GET request must be sent to the `/2/ileap/tad` endpoint of the test [=target
3131-
host system=] with an expired access token and the syntax specified in [[#action-tad-request]].
3132-
3133-
The access token must have been obtained through the [PACT's Authentication
3134-
Flow](https://wbcsd.github.io/tr/2023/data-exchange-protocol-20231207/#api-auth). This can be tested
3135-
through PACT's Test Cases
3136-
[001](https://wbcsd.github.io/pact-conformance-testing/checklist.html#tc001) and
3137-
[002](https://wbcsd.github.io/pact-conformance-testing/checklist.html#tc002).
3138-
3139-
#### Expected Response #### {#test-case-008-response}
2965+
Issue: TBD
31402966

3141-
The test [=target host system=] must respond with a 401 Unauthorized status code.
31422967

31432968
<pre class=biblio>
31442969
{

0 commit comments

Comments
 (0)