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

2 0 conformance rm for the web merging main #252

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
7238542
Fix links to test specifications (after refactor/merge of the files)
Jun 13, 2023
8ad02fb
Merge pull request #237 from finos/fix-test-spec-links
robmoffat Jun 13, 2023
6a735db
add short waits to basic channel tests to allow context to arrive on …
kriswest Jul 28, 2023
4c779ba
Adjusting timeout and constants and making sure they are used
kriswest Aug 9, 2023
07e33f7
Merge pull request #242 from finos/make-races-less-likely
robmoffat Aug 11, 2023
c64a14d
core-plus key fix
robmoffat Aug 15, 2023
2137af9
Merge pull request #243 from finos/license-key-fix
robmoffat Aug 15, 2023
95e3aa5
Fix error in 2.0 findInstances validation function
kriswest Aug 30, 2023
b8e668f
Remove bTestingIntent from 2.0 appD records as its not used
kriswest Aug 30, 2023
f9a159a
Fix race condition in channel results tests
kriswest Aug 30, 2023
78bacf5
Use constants for control messages instead of magic strings!
kriswest Aug 30, 2023
77b9c56
Declaring test intent used by Conformance1 in its appD record
kriswest Aug 30, 2023
92c7111
Removing aTestingIntent listener from metadata app as its not used an…
kriswest Aug 30, 2023
f975a09
Change name of fdc3.conformanceListener to ConformanceListener as its…
kriswest Aug 30, 2023
e252f65
Merge pull request #244 from finos/Fix-error-in-FindInstances-validation
robmoffat Aug 31, 2023
ca8bd5c
Merge branch 'main' into fix-intent-channel-result-tests
robmoffat Sep 1, 2023
2c4b9fd
fix bad merge
kriswest Sep 1, 2023
59884d2
Merge pull request #245 from finos/fix-intent-channel-result-tests
robmoffat Sep 1, 2023
063dafc
Update DisplayName for Shared Testing Intents
openfin-johans Oct 27, 2023
747eb4f
Merge pull request #248 from openfin-johans/patch-3
robmoffat Oct 31, 2023
1ec9ef4
Using web client
robmoffat May 16, 2024
98cbe21
Merged main
robmoffat May 16, 2024
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
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@
[![FINOS - Incubating](https://cdn.jsdelivr.net/gh/finos/contrib-toolbox@master/images/badge-incubating.svg)](https://finosfoundation.atlassian.net/wiki/display/FINOS/Incubating)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/6456/badge)](https://bestpractices.coreinfrastructure.org/projects/6456)

|Version | Release | Specification |
|-----------|---------|--------|
|[FDC3 1.2](https://fdc3.finos.org/docs/1.2/fdc3-intro) | ![GitHub release (latest by date)](https://img.shields.io/github/v/release/finos/FDC3-Conformance-Framework) | [1.2 Tests Specification](https://github.com/finos/FDC3/blob/master/toolbox/fdc3-conformance/FDC3-1.2-Conformance-Test-Cases.md) |
|[FDC3 2.0](https://fdc3.finos.org/docs/fdc3-intro) | _in development_ | [2.0 Tests Specification](https://github.com/finos/FDC3/blob/8166c0e6aa872b2fc7b755384e5b2eeeaf88c732/toolbox/fdc3-conformance/FDC3-2.0-Conformance-Test-Cases.md) |

# FDC3 Conformance Framework

A framework for testing whether desktop containers implement the [FDC3 standard](https://fdc3.finos.org/).

The tests implemented for each FDC3 version are based on the FDC3 Conformance tests specifications defined by the FDC3 maintainers and provided in the main FDC3 repository. Please see [the README file in that repository](https://github.com/finos/FDC3/blob/master/toolbox/fdc3-conformance/README.md) for further details.

Tests are currently implemented for version [1.2](https://fdc3.finos.org/docs/1.2/fdc3-intro) and [2.0](https://fdc3.finos.org/docs/fdc3-intro) of the FDC3 Standard.

## What Is It?

- There are many vendors implementing Desktop Agents for the FDC3 standard.
Expand Down
34 changes: 20 additions & 14 deletions directories/local-conformance-2_0.v2.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"applications": [{
"applications": [
{
"appId": "Conformance1",
"name": "Conformance1",
"title": "FDC3 2.0 Conformance Framework",
Expand Down Expand Up @@ -42,7 +43,16 @@
"publisher": "FINOS",
"icons": [{
"src": "http://localhost:3001/finos-icon-256.png"
}]
}],
"interop": {
"intents": {
"listensFor": {
"ConformanceListener": {
"contexts": ["fdc3.nothing"]
}
}
}
}
},
{
"appId": "ChannelsAppId",
Expand Down Expand Up @@ -130,7 +140,7 @@
"contexts": ["testContextX", "testContextZ"]
},
"sharedTestingIntent1": {
"displayName": "Shared Testing Intent",
"displayName": "Shared Testing Intent 1",
"contexts": ["testContextX"]
}
}
Expand Down Expand Up @@ -180,12 +190,8 @@
"interop": {
"intents": {
"listensFor": {
"bTestingIntent": {
"displayName": "B Testing Intent",
"contexts": ["testContextY"]
},
"sharedTestingIntent1": {
"displayName": "Shared Testing Intent",
"displayName": "Shared Testing Intent 1",
"contexts": ["testContextX", "testContextY"],
"resultType": "testContextY"
}
Expand Down Expand Up @@ -289,7 +295,7 @@
"intents": {
"listensFor": {
"sharedTestingIntent2": {
"displayName": "Shared Testing Intent",
"displayName": "Shared Testing Intent 2",
"contexts": ["testContextX"],
"resultType": "testContextZ"
}
Expand Down Expand Up @@ -341,7 +347,7 @@
"intents": {
"listensFor": {
"sharedTestingIntent2": {
"displayName": "Shared Testing Intent",
"displayName": "Shared Testing Intent 2",
"contexts": ["testContextY"],
"resultType": "channel"
}
Expand Down Expand Up @@ -393,7 +399,7 @@
"intents": {
"listensFor": {
"sharedTestingIntent2": {
"displayName": "Shared Testing Intent",
"displayName": "Shared Testing Intent 2",
"contexts": ["testContextY"],
"resultType": "channel<testContextZ>"
}
Expand Down Expand Up @@ -445,7 +451,7 @@
"intents": {
"listensFor": {
"sharedTestingIntent2": {
"displayName": "Shared Testing Intent",
"displayName": "Shared Testing Intent 2",
"contexts": ["testContextY"]
}
}
Expand Down Expand Up @@ -496,7 +502,7 @@
"intents": {
"listensFor": {
"sharedTestingIntent2": {
"displayName": "Shared Testing Intent",
"displayName": "Shared Testing Intent 2",
"contexts": ["testContextY"],
"resultType": "testContextZ"
}
Expand Down Expand Up @@ -548,7 +554,7 @@
"intents": {
"listensFor": {
"sharedTestingIntent2": {
"displayName": "Shared Testing Intent",
"displayName": "Shared Testing Intent 2",
"contexts": ["testContextY"],
"resultType": "testContextZ"
}
Expand Down
6 changes: 5 additions & 1 deletion options/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,8 @@

For maintainers: Please add any vendor-specific code only in this directory.

For users: Please note that this directory contains vendor-specific extensions to aid in the testing of the conformance of different Desktop Agents. It doesn't form part of the Conformance Framework proper.
For users:

- Please note that this directory contains vendor-specific extensions to aid in the testing of the conformance of different Desktop Agents. It doesn't form part of the Conformance Framework proper.
- If you wish to test glue42 core-plus, you'll need to supply a license key.

7 changes: 1 addition & 6 deletions options/glue/v2.0/glue42/core-plus/startCorePlusRunner.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const init = async () => {
const config = {
licenseKey: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHBpcmF0aW9uIjoxNjkzNTE1NjAwLCJ0eXBlIjoidHJpYWwifQ.VOHEfGyNlgTfLexfDWfqUMLgH5pCjLqYjW3mON2J8Ec",
licenseKey: "<<add license key here>",
applications: {
local: [
{
Expand Down Expand Up @@ -53,11 +53,6 @@ const init = async () => {
height: 600,
},
intents: [
{
name: "bTestingIntent",
displayName: "B Testing Intent",
contexts: ["testContextY"],
},
{
name: "sharedTestingIntent1",
displayName: "Shared Testing Intent",
Expand Down
5 changes: 0 additions & 5 deletions options/glue/v2.0/glue42/startRunner.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,6 @@ const init = async () => {
height: 600,
},
intents: [
{
name: "bTestingIntent",
displayName: "B Testing Intent",
contexts: ["testContextY"],
},
{
name: "sharedTestingIntent1",
displayName: "Shared Testing Intent",
Expand Down
120 changes: 120 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"compile": "webpack build",
"replace-glue-core": "npm run copy && npx replace-in-file --configFile=options/glue-core-app-1.2.js && npx replace-in-file --configFile=options/glue-core-support-1.2.js && npx replace-in-file --configFile=options/glue-core-app-2.0.js && npx replace-in-file --configFile=options/glue-core-support-2.0.js",
"replace-glue-core-plus": "npm run copy && npx replace-in-file --configFile=options/glue-core-plus-app-2.0.js && npx replace-in-file --configFile=options/glue-core-support-2.0.js",
"copy-glue-libs" : "shx cp -R options/glue/* ./dist",
"copy-glue-libs": "shx cp -R options/glue/* ./dist",
"replace-connectifi": "npm run copy && npx replace-in-file --configFile=options/connectifi-adapter.js",
"serve": "npx http-server ./dist -p 3001 -c-1",
"start": "npm run copy && npm run compile && npm run serve",
Expand All @@ -15,6 +15,7 @@
"build-static": "npm run compile && npm run copy"
},
"dependencies": {
"@kite9/client": "0.0.17",
"buffer": "^6.0.3",
"chai": "^4.3.6",
"fdc3_1_2": "npm:@finos/fdc3@^1.2.0",
Expand All @@ -40,4 +41,4 @@
"webpack": "^5.69.1",
"webpack-cli": "^4.9.2"
}
}
}
6 changes: 3 additions & 3 deletions src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
const constants = {
ShortWait: 1000,
Fdc3Timeout: 500, // The amount of time to wait for the FDC3Ready event during initialisation
TestTimeout: 15000, // Tests that take longer than this (in milliseconds) will fail
WaitTime: 3000, // The amount of time to wait for mock apps to finish processing
WindowCloseWaitTime: 3000, // The amount of time to allow for clean-up of closed windows
TestTimeout: 20000, // Tests that take longer than this (in milliseconds) will fail
WaitTime: 5000, // The amount of time to wait for mock apps to finish processing
WindowCloseWaitTime: 1000, // The amount of time to allow for clean-up of closed windows
NoListenerTimeout: 120000, // the amount of time to allow for a DA to timeout waiting on a context or intent listener
// FDC3 does not define this timeout so this should be extended if the DA uses a longer timeout
ControlChannel: "app-control", //app channel used for passing messages between mock apps and tests
Expand Down
Loading
Loading