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

Conformance additions for 2.2 (second attempt) #1426

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
f9940fc
Merge branch 'conformance-tests-into-docs' into fdc3-for-web-conforma…
kriswest Nov 11, 2024
5b98bfd
Add getAgent test (connection test) + more lint
kriswest Nov 11, 2024
31f4410
Merge branch 'fdc3-for-web' into fdc3-for-web-conformance2
kriswest Nov 11, 2024
d53ff6c
Adding userChannelChanged event test
kriswest Nov 11, 2024
512960c
Merge branch 'conformance-tests-into-docs' into fdc3-for-web-conforma…
kriswest Nov 11, 2024
16bab76
CHANGELOG
kriswest Nov 11, 2024
db0ebd3
Updating privatechannel lifecycle event tests to 2.2 spec
kriswest Nov 11, 2024
b054b1d
CHANGELOG corrections
kriswest Nov 11, 2024
3e790a2
Adjusting conformance test overview admonitions
kriswest Nov 11, 2024
80d57b8
Adding 2.2 label in basic tests
kriswest Nov 11, 2024
fc29072
Merge branch 'main' into fdc3-for-web-conformance2
kriswest Nov 13, 2024
32787de
remove warning about defining 2.2 conformance tests
kriswest Nov 13, 2024
9d884c6
Ensure privateChannel lifecycle events conformance tests also cover n…
kriswest Nov 25, 2024
cd6d613
Merge branch 'conformance-tests-into-docs' into fdc3-for-web-conforma…
kriswest Nov 25, 2024
c54ad56
Apply suggestions from code review
kriswest Dec 10, 2024
dbff0b9
Merge branch 'conformance-tests-into-docs' into fdc3-for-web-conforma…
kriswest Dec 16, 2024
b7bfc4c
minor formatting in intent tests
kriswest Dec 16, 2024
451c400
Merge branch 'main' into fdc3-for-web-conformance2
kriswest Jan 30, 2025
39b0911
Editorial comments from #1417
kriswest Jan 30, 2025
32fe58d
Adios smart quotes
kriswest Jan 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/api/conformance/App-Channel-Tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ hide_title: true
| B | 2. Retrieve `Channel` | Retrieve a `Channel` object representing the same 'App' channel A did (`test-channel`)|
| B | 3. Broadcast | B broadcasts both the instrument context and a contact context, using: <br /> `testChannel.broadcast(<fdc3.instrument>)` <br /> `testChannel.broadcast(<fdc3.contact>)` |
| A | 4. Add Context Listener | A adds a context listener to the channel _after_ B has completed all its broadcasts, via: <br />`await testChannel.addContextListener("fdc3.instrument", handler)` <br /> Ensure that A does NOT receive any context via these listeners (past context is only retrieved via a `getCurrentContext()` call on App channels). |
| A | 5. Retrieve Current Context | A is able to retrieve the most recent context of each context type from the `Channel` via: <br />`const instrument = await testChannel.getCurrentContext('fdc3.instrument')`<br />`const contact = await testChannel.getCurrentContext('fdc3.contact')`<br />Ensure that both contexts retrieved by A are identical to those sent by B|
| A | 5. Retrieve Current Context | A is able to retrieve the most recent context of each context type from the `Channel` via: <br />`const instrument = await testChannel.getCurrentContext("fdc3.instrument")`<br />`const contact = await testChannel.getCurrentContext("fdc3.contact")`<br />Ensure that both contexts retrieved by A are identical to those sent by B|

- `ACContextHistoryTyped`: Perform above test.
- `ACContextHistoryMultiple`: **B** Broadcasts multiple history items of both types. Ensure that only the last version of each type is received by **A**.
Expand Down
15 changes: 7 additions & 8 deletions docs/api/conformance/Basic-Tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,13 @@ _These are some basic sanity tests implemented in the FDC3 Conformance Framework

## Basic API Usage

- `BasicCL1`: You can create a context listener by calling `fdc3.addContextListener('fdc3.contact',<handler>)`. A `Listener` object is returned and can be used to remove the listener again by calling its `unsubscribe` function.
- `BasicCL2`: You can create an **unfiltered** context listener by calling `fdc3.addContextListener(null,<handler>)`. A `Listener` object is returned and can be used to remove the listener again by calling its `unsubscribe` function.
- `BasicIL1`: You can create an intent listener by calling `fdc3.addIntentListener(<intent name>,<handler>)`. A `Listener` object is returned and can be used to remove the listener again by calling its `unsubscribe` function.
- `BasicGI1`: An application can retrieve an `ImplementationMetadata` object to find out the version of FDC3 it is using and the provider details by calling:
- `await fdc3.getInfo()`
- `BasicAC1`: An application can retrieve a named 'App' channel via the `fdc3.getOrCreateChannel(<name>)` function. The `Channel` object returned conforms to the defined interface.
- `BasicUC1`: An application can query the available user/system channels, which are returned as an array of `Channel` Objects conforming to the defined interface. The API call is:
- `await fdc3.getUserChannels()`
- `BasicCL1`: A context listener can be created for a specific context type by calling `fdc3.addContextListener("fdc3.contact",<handler>)`. A `Listener` object is returned and can be used to remove the listener again by calling its `unsubscribe` function.
- `BasicCL2`: An **unfiltered** context listener can be created by calling `fdc3.addContextListener(null,<handler>)`. A `Listener` object is returned and can be used to remove the listener again by calling its `unsubscribe` function.
- `BasicIL1`: An intent listener can be created for a specific intent by calling `fdc3.addIntentListener(<intentName>,<handler>)`. A `Listener` object is returned and can be used to remove the listener again by calling its `unsubscribe` function.
- `BasicGI1`: An `ImplementationMetadata` object can be retrieved, to find out the version of FDC3 that is in use along with details of the provider, by calling:
- `await fdc3.getInfo()`. The FDC3 version should match the API version being tested for conformance.
- `BasicAC1`: A named 'App' channel can be retrieved by calling `fdc3.getOrCreateChannel(<name>)`. The `Channel` object returned conforms to the defined interface.
- `BasicUC1`: The list available user/system channels can be retrieved, as an array of `Channel` Objects conforming to the defined interface, by calling `await fdc3.getUserChannels()`.
- `BasicJC1`: A user/system channel can be joined with the with the channel's id by calling `fdc3.joinUserChannel(<channelId>)`. Having done so, the current channel, retrieved by calling `fdc3.getCurrentChannel()` should NOT be null and should match _the channel id given_. After leaving the current channel by calling `fdc3.leaveCurrentChannel()`, it should go back to being `null`.
- `BasicRI1`: A specified intent can be raised by invoking `fdc3.raiseIntent(<intent name>, <context>)`. A promise should be returned.
- `BasicRI2`: An intent can be raised for some item of context by invoking: `fdc3.raiseIntentForContext(<context>)`. A promise should be returned.
Loading