Testing your solution against agrirouter 2.0 QA
On 1 July 2024, our public test phase started. This test phase will enable you to ensure that your system still works against agrirouter 2.0.
Our goal is to be completely backwards compatible and not require any changes in your code for the production environments. But because of, sometimes even very small, implementation details, there might be situations that require adjustments of our implementation to ensure that we can fulfill that goal.
The test phase lets you discover any such issues, so we can learn about and fix them.
Preparing your systems
Choosing the right stage
There are generally two ways to approach testing your systems against the agrirouter 2.0 QA:
-
switch one of your own instances to connect against the agrirouter 2.0 QA instead of the old agrirouter Production or QA system
-
implement a bit of logic allowing your system to choose on a per-user basis what agrirouter environment to use; the parameters you need to think about are: which environment you use for onboarding and which router device you use for communication with that specific endpoint
Depending on your development and deployment processes, one might be easier to do than the other. We recommend using b, because it provides more flexibility, even for the future.
Switching the environment
If you are using an SDK, the easiest solution is to upgrade to the latest versions, which include a class for connecting to the agrirouter 2.0 QA instance. The minimum versions are:
-
.NET → 3.8.0
-
Python → 2.1.0a1
-
PHP → d341490
-
Java → 3.2.0
Then you just need to replace all references to a Production or QA class to the class named Ar2QualityAssuranceEnvironment
(.NET/PHP), Ar2QA
(Java) or Ar2Qa
(Python).
If you are not using an SDK or you don’t want to upgrade, you need to replace the following values:
URL | Prod | Old QA | ar 2.0 QA |
---|---|---|---|
Base URL/ Authorization URL |
|||
Registration URL |
https://agrirouter-registration-service-hubqa-eu10.cfapps.eu10.hana.ondemand.com |
Additionally, the public key used for signing the authorize redirect needs to be replaced, if you use it. You can find it on the Keys page.
Setting up your agrirouter account
Create an account and ask for developer privileges
-
Click on
Get started
-
Manufacturers and office details are only useful for the farmer
-
Enter your company information
-
Everything in agrirouter is identified by a tenant. This step is where you are creating yours
-
-
Enter your credentials
-
Go to your settings to ask to become a developer
-
Continue after being approved as a developer
Create an application
-
Go to: https://app.qa.agrirouter.farm/en/developer/applications and the follow the steps to add an application
-
Add a new version to your newly created application
-
Submit your version and ask for approval
Onboard your application
-
Make sure your application has a public key and a redirect_url set in its settings (if appropriate)
-
Onboard the application:
-
If your application provide an easy way to onboard an endpoint this should be the preferred way
-
Onboard manually using the authorize page:
-
Click on
connect
-
Your application should appear in the office column of your farmer page
-
If you need a way to send messages to your application you could use the IO Tool
-
Onboard the IO tool
This is a separate instance of the IO-Tool, but using the same credentials
-
If you do not have an account yet, contact [email protected]
-
Go to settings and onboard the IO tool on QA
-
You will be redirected to the connect page of the agrirouter, click on connect.
-
You can go to your farmer page to see the endpoint onboarded via the IO Tool
Testing
You can use the Certification guideline for an idea which processes to test.
Be aware that certain feature deployments to QA may destroy some data. Most notably, this includes feed messages and onboarded endpoints. However, we guarantee persistence of user accounts, registered applications and application versions. We will inform all active developers on QA with a lead time of 2 days about such deployments.
If you want to conduct load tests, as opposed to functional tests, please contact us at [email protected] before to align on expected volume and increments.
Reporting issues
All discussions about (potential) issues and other questions should take place in the agrirouter GitHub project.
We are stil polishing the UI, so we don’t need feedback on UI details right now.
Note: This repository does on purpose not contain any code. It’s only meant for issue management.