Apache Hop and Putki testing
Integration tests against real services
Apache Hop's own integration tests run on Apache's build servers, which have no accounts with cloud or software vendors. Putki runs a second set every night against the real services: Amazon S3, Google Cloud Storage, Microsoft Azure, Odoo and Putki. The accounts and the hardware are Putki's, and the results are below.
Updated daily from the results of every nightly run.
Since 18 October 2026
12 nights, 2026-10-18 to 2026-10-29.
5
suites run every night
32 tests against live services
100%
of test runs passed
264 of 264
11
nights on which every suite passed
of 11 nights with results
24/24
tests passed in the last run
2026-10-29
Night by night
One square per suite per night. Hover over a square for its counts.
Amazon S3
Google Cloud Storage
Microsoft Azure
Odoo
Putki
Salesforce
18 Oct29 Oct
- Every test passed
- One or more tests failed
- Did not run
Per suite
Pass rate over the nights above; run time is the median for one night's run of the suite.
| Suite | Build tested | Tests | Pass rate | Last run | Run time |
|---|---|---|---|---|---|
| Amazon S3 | Apache Hop nightly | 8 | 100%88 of 88 | 8 of 8 | 7 min |
| Google Cloud Storage | Apache Hop nightly | 9 | 100%99 of 99 | 9 of 9 | 5 min |
| Microsoft Azure | Apache Hop nightly | 8 | No results yet | — | — |
| Odoo | Putki development build | 4 | 100%44 of 44 | 4 of 4 | 4 min |
| Putki | Putki development build | 3 | 100%33 of 33 | 3 of 3 | 3 min |
| Salesforce | Apache Hop nightly | 11 | Paused | — | — |
- Amazon S3Listing, unzipping, copying, moving, processing and deleting files and folders in S3 buckets with Apache Hop's file actions and transforms.List S3 bucket contents · Unzip action · Copy files action · Move files · Delete files folders · Process files transform · Delete folder with files
- Google Cloud StorageThe same file operations against Google Cloud Storage buckets, including buckets with a hierarchical namespace.Google storage filenames simple · Unzip action · Copy files action · Move files · Delete files folders · Process files transform · Delete folder with files · Delete folder with files HNS
- Microsoft AzureFile operations against Azure Blob Storage, and reading variables from Azure Key Vault.Azure variable resolver simple · Unzip action · Copy files action · Move files · Delete files folders · Process files transform · Delete folder with files
- OdooInserting, updating, upserting and deleting Odoo records through Putki's Odoo transforms.Odoo insert users · Odoo update users · Odoo upsert users · Odoo delete users
- PutkiPutki-only features against a live Odoo instance, and the SQL parser.Odoo helpdesk input · SQL parser example queries
- Salesforce (paused)Reading and writing Salesforce objects, with password and OAuth sign-in.Salesforce input account · Salesforce input campaign · Salesforce input query · Salesforce insert account · Salesforce update account · Salesforce upsert account · Salesforce upsert account external ID · Salesforce delete account · Salesforce input account OAuth client · Salesforce input account OAuth bearer · Salesforce input MDI
How we test
- Where. Every night at 03:00 UTC, on Putki's own build server, against live services on accounts Putki pays for. Nothing is simulated: a storage test writes to and reads from a real bucket.
- A test is one Apache Hop workflow that prepares its data, runs the feature under test and checks the result. It passes when the workflow succeeds. A suite is the set of tests for one service.
- Builds. Amazon S3, Google Cloud Storage and Microsoft Azure run Apache Hop's nightly build, so a regression shows up before it reaches a release. Odoo and Putki run Putki's development build, because they test Putki's own plugins. Neither is a release.
- Pass rate is the number of test runs that passed, divided by the runs that passed or failed, over the nights shown. A night on which a suite did not run counts for neither.
- History starts on 18 October 2026. Before then, a suite with a failing test left no report, so earlier nights would only show the suites that passed.
- Paused: Salesforce. A paused suite is switched off for now; it is listed so the page shows everything we have.
- Not published: logs, error messages and the details of a failure. They can contain account details. The full results are kept with every run.