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

Provide automatic validation of services (as they are added to the census?) #44

Open
awagner-mainz opened this issue Oct 13, 2022 · 2 comments

Comments

@awagner-mainz
Copy link

In the current list of available services, there are entries that do not comply to the spec (e.g. offering GET support for reconciliation only, not POST support). Maybe there could be way to automatically test submissions. Possibly even with results being mirrored in differentiated status/support values in the testbench list.

Maybe an automatic and a manual (with form values) test method?

@wetneb
Copy link
Member

wetneb commented Oct 13, 2022

Yes I think it would be nice to have a tool to automatically test compliance with the spec. I think it is difficult to do so only given the endpoint of the service, but I suspect we could already go a long way with:

  • the endpoint
  • the name of an entity exposed by the endpoint
  • the name of a property exposed by the endpoint (if any)
  • the name of a type supported by the endpoint (if any)

With those example names provided, we would already be able to generate quite a few requests to the service:

  • reconciliation queries with the exact name, or slight variations of it
  • suggest queries with any of the example names, or prefixes of them
    Those two sorts of queries should return some identifiers, which can be in turn used for:
  • data extension
  • property proposals
  • reconciliation queries with some properties
    and so on.

Just by checking the compliance of the responses with the JSON schemas we have, we should already be able to pick up quite a few issues.

Checking the access to the service (HTTPS, GET/POST, CORS headers…) would also be useful indeed.

@wetneb
Copy link
Member

wetneb commented Nov 10, 2022

Given that the testbench is a web app without a backend, we will be a bit restricted in how we check the service access (CORS, HTTP(S)) since we are bound by the browser restrictions, but I do not think it should be a huge problem (the current test bench works well despite that).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants