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:

  1. switch one of your own instances to connect against the agrirouter 2.0 QA instead of the old agrirouter Production or QA system

  2. 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

https://goto.my-agrirouter.com

https://agrirouter-qa.cfapps.eu10.hana.ondemand.com

https://app.qa.agrirouter.farm

Registration URL

https://onboard.my-agrirouter.com

https://agrirouter-registration-service-hubqa-eu10.cfapps.eu10.hana.ondemand.com

https://endpoint-service.qa.agrirouter.farm

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

  • Go to: https://app.qa.agrirouter.farm

  • 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

Onboard your application

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: https://io-ar2.my-agrirouter.com

  • 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.