Closed Joe-Dunleavy closed 1 year ago
@Joe-Dunleavy I'm not sure why Finsemble it is immediately rejecting (possibly due to interop metadata not containing the intent - I was expecting a timeout to apply - which i think it does in our current pre-release). However (and as discussed at the last maintainers meeting) the OpenError.AppTimeout
error (and ResolveError.IntentDeliveryFailed
which is similar) are both specified in the docs and sources:
enum OpenError {
...
/** Returned if the specified application launches but fails to add a context
* listener in order to receive the context passed to the `fdc3.open` call.
*/
AppTimeout = 'AppTimeout',
https://fdc3.finos.org/docs/api/ref/Errors#openerror
export enum ResolveError {
...
/** Returned if the intent and context could not be delivered to the selected
* application or instance, for example because it has not added an intent
* handler within a timeout.
*/
IntentDeliveryFailed = 'IntentDeliveryFailed',
}
it was agreed at the meeting to drop the testing of these in 1.2 (as poorly documented) but to retain it in 2.0 (as it is documented). AOpensBNoListenTest
is one of the tests dropped in 1.2, AOpensBWithWrongContextTest
is the other. AFailsToOpenB2-3 should both be implemented in 1.2 tests... However, AFailsToOpenB1-3 all differ in 2.0 as signatures based on name
were deprecated (so only the new signature based on AppIdentifier
needs to be tested)
We may seek to make the docs more explicit/easier to find in future by adding something to the relevant function reference entries.
This is a pretty big change - I am tempted to say we should leave this change for after we've completed the 1.2 conformance badging (big assumption I know).
I'm glad you've done it, but since it (should) only materially impact 2.0 I think we should defer the merge.
wdyt?
@robmoffat I need to create a separate PR that removes those two tests that Kris mentioned above from 1.2 if you'd rather not merge this in straight away. Aside from that, the changes here only affect 2.0 tests. Changes to 1.2 open tests are cosmetic.
@ksgeorgieva - please could you run this PR against Glue and check that there are no regressions for the 1.2 tests.
Implements V2 open tests + refactors v1 & v2 open tests
Notes:
I noticed a discrepancy in the behaviour of the Finsemble and Glue desktop agents when opening a mock and expecting it to reject the promise with an AppTimeout error. Finsemble immediately rejects and the next line of code after await opening the app is never hit, whereas with Glue, the next line of code after
await open()
gets hit. We need to clarify which of these two behaviours is correct.I noticed that the following test definitions are missing for v1.2 open tests: AFailsToOpenB2, AFailsToOpenB3, AOpensBNoListenTest.
Needs an issue in Glue related to not being able to add a listener without joining a channel first to be fixed in order to fully test v2 tests