Skip to content

A framework for testing whether desktop containers implement the FDC3 standard

License

Notifications You must be signed in to change notification settings

finos/FDC3-conformance-framework

Repository files navigation

FINOS - Incubating CII Best Practices

FDC3 Conformance Framework

A framework for testing whether desktop containers implement the FDC3 standard.

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 for further details.

Tests are currently implemented for version 1.2 and 2.0 of the FDC3 Standard.

What Is It?

  • There are many vendors implementing Desktop Agents for the FDC3 standard.
  • Developers building apps interoperating with the FDC3 standard want to be sure that their apps will work with every Desktop Agent.
  • This suite of conformance tests allows for programmatic verification of an FDC3 Desktop Agent implementation.

Why Is This Important?

✔️ Multiple Platforms

It can be annoying for users to find that features in their apps that they rely on don't work when changing between Desktop Agents. Hopefully these conformance tests will add security around that.

✔️ Marketing

FINOS has created badges to indicate conformance with the FDC3 standard. By passing the conformance tests and joining the conformance program, firms are able to use those badges in their own marketing materials.

✔️ Backwards Compatibility

There are multiple versions of the FDC3 standard. A Desktop Agent could host apps written in any one of these versions. For that reason, it's important that Desktop Agents are tested to make sure that they keep on supporting apps written against older versions of FDC3.

How Does It Work?

There are two main parts to conformance:

  • Running the tests locally, then
  • Joining the Conformance Program

Running The Conformance Tests

You can either run the hosted conformance tests listed in the FINOS App Directory, or run them on your local machine (useful if you are making changes). Instructions for doing either of those things are here:

Using The FINOS App Directory

If you have a Desktop Agent supporting the AppD v2 standard, you can point it at The FINOS App Directory which contains not only the current conformance suite but also many other sample FDC3 applications. The endpoint for your agent is:

Local Installation

  1. Check Out The Repo

This repository currently contains:

  • tests - the FDC3 conformance tests, implemented using Mocha / TypeScript, making use of the FDC3 type definitions, @finos/fdc3.
  • static - HTML files used to create the static server
  • directory - Some JSON files in the FDC3 V2 Directory format that you can use to set up your desktop agent with either 1.2 or 2.0 test suites.
  • terms-conditions - Terms and Conditions of the Conformance Program. Instructions for joining the program are here
  1. Install Dependencies

In order to get started, install all the dependencies with:

npm install
  1. Run The Apps Locally

To run the conformance suite locally on port 3001:

npm run start
  1. Set Up Your Desktop Agent

You will need to set up your desktop agent so that it has an App Directory containing all the conformance apps.
This step is vendor-dependent, but examples of AppD records can be found in the directory folder.

Running The Tests

Once you have configured your desktop agent correctly, open the conformance app and select the tests you wish to run:

Selecting Tests

The tests run and produce an output in the window. Failure are shown with a stack trace in red:

Running Tests

Successful runs look something like this:

Success

Joining The Conformance Program

If you've had a clean run of all the tests locally, why not join the conformance program?

Instructions to join the Certified FDC3 Desktop Agent Conformance Program

Once you have followed these steps, you will be allowed to display the FDC3 Compliance Badges within your marketing literature.

Conformance with FDC3 1.2Conformance with FDC3 2.0

Who Is Conformant?

We publish the details of conformant desktop agents on the FDC3 Community Page. Please check there to find out who FINOS has certified!

Read the latest blog post here about the certification announcements at OSFF New York

Contributing

Please see CONTRIBUTING page.

License

Copyright 2022 FINOS

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0