adash-services
The backend service behind ADASH Cli, exposing ABAP Unit test runs and coverage as REST and OData services for CI/CD pipelines, with a report scheduled to run tests per package.
Running ABAP Unit tests from a CI/CD pipeline needs an interface outside the ABAP system itself, which ADASH Services supplies as the backend for ADASH Cli and ADASH Monitor. It exposes a REST API for the CLI and other tools, OData services for the monitor or any other interface adapted to consume them, and a report, zpr_adash_setup_runner, scheduled to run and monitor tests for the packages it is set up to watch. The maintainer recommends two independent runs of that report, one without coverage every fifteen minutes and one with coverage every half day, because the Coverage Analyzer can take a long time. It was developed on AS ABAP 753 and the maintainer expects it to work down to 740 SP08, with little effort down to 740 SP05, below which the CDS views the services depend on did not yet exist.
Facts
Where it sits
Who is behind it
In the atlas: maintains 2, contributes to 3@xinitrc86maintainerEduardo Ferrari CopatContributes to this
In the atlas: contributes to 2@eduardocopatLars HvamContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1@larshp2 contributors
Before choosing this
Signals
ActivityQuietRelease and repository quiet for 37 months
Both observable publication channels have been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.
What it declares
Every artifact
- Type
- Package
- Origin
- Independently maintained
As a package
- Where it runs
- Inside its host
- Distributed through
- abapGit
Connections
Testing application logic, with test doubles for its dependencies
Exposes ABAP class methods as REST services with Swagger UI
Git client written in ABAP that runs inside the system
Download
Install
npm add adash-servicesDerived from the package name. No recipe recorded; the README has the configuration.
README
quoted from xinitrc86/adash-services under MIT, readADASH Services
ADASH Services is the backend part of ADASH Cli. It can be used in conjunction with ADASH Monitor or any other interface adapted to consume its OData services.
It consists of:
- An exposed rest API for usage by the cli or other tools.
- Exposed OData services for usage by the monitor or other interfaces
- A report for job schedulling of tests runs.
Usage
Please refer to ADASH Cli.
Installation
- Clone it or import the zip with ABAPGit.
- This will activate ADASH services in /iwfnd/maint_services. Make sure they have a proper system alias after clonning.
- Expose API in SICF with handler class zcl_adash_sicf_api_handler.
- If you wish to change the defult /sap/zadash path, you will need to change zcl_adash_sicf_api_handler with the new path too.
- Schedulle zpr_adash_setup_runner for monitoring.
Compatibility
Was developed on AS v753, should work on versions as low as v740sp08. Should require little effort to go as low as v740sp05. Lower than that is not possible, for now, as this was the first release with CDSs on. If you are up to creating the Gateway OData services for older versions, we can help.
Dependencies
Make sure you clone the following repositories before this one. zassert ABAP Swagger
Monitoring
Schedule report zpr_adash_setup_runner for an automatic monitoring of your set up packages. We recommend two independent runs: One without coverage that you can run every 15 minutes (unless somehow all of your tests takes longer than that). One with coverage that you can run every half a day. Coverage Analyzer can take a long time depending on the amount of code it needs to analyze. Never go below 1 hour runs and keep an eye on your server loads from time to time.
API
https://<path_to_your_sys>:<your_sys>/<path to adash sicf node>
GET /{type}/{component}/add
Adds a component to the automatic monitoring, executing a first test run and a first coverage run at the backround.
i.e: GET /devc/zpackage/add
GET /{type}/{component}/test
Run tests on given component and return is results.
i.e: GET /devc/zpackage/test
Response:
{
"DATA": {
"STATUS": "string",
"SUMARIES": [
{
"MANDT": "string",
"EXECUTION": "string",
"TOTAL_TESTS": 0,
"TOTAL_FAILED": 0,
"TOTAL_SUCCESS": 0,
"STATEMENTS_COUNT": 0,
"STATEMENTS_COVERED": 0,
"STATEMENTS_UNCOVERED": 0,
"TIMESTAMP": 0,
"NAME": "string",
"TYPE": "string",
"PACKAGE_OWN": "string",
"PARENT_PACKAGE": "string"
}
],
"TESTS": [
{
"MANDT": "string",
"EXECUTION": "string",
"TEST_CLASS": "string",
"TEST_METHOD": "string",
"STATUS": "string",
"FAILURE_HEADER": "string",
"FAILURE_DETAILS": "string",
"TIMESTAMP": 0,
"NAME": "string",
"TYPE": "string",
"PACKAGE_OWN": "string",
"PARENT_PACKAGE": "string"
}
]
}
}
History
Others providing
Compare all 21 on the Unit testing page →- abap2UI5 headless frontendabap2UI5 headless frontendPlays the frontend's side of the abap2UI5 request/response contract in ABAP, so an app class is driven and asserted on from a plain ABAP Unit test.community org, abapDrives abap2UI5 app classes from ABAP Unit tests
- @abap2ui5/mcp-server@abap2ui5/mcp-serverAn MCP server that puts the abap2UI5 development loop on the machine an agent runs on: check the view the ABAP builds, photograph it, deploy the class into a sandbox, boot the app headless and read the errors.community org, abapMCP server for the abap2UI5 check, deploy and run loop
- assertassertA fluent assertion helper for ABAP Unit tests that wraps cl_abap_unit_assert in chained calls such as assert(x)->equals(y), also usable outside tests through ZCL_ASSERTABLE.independent, abapFluent assertion helper for ABAP Unit tests
- @abaplint/transpiler@abaplint/transpilerTranspiles ABAP 7.02 syntax to ES6 JavaScript, so ABAP code and its unit tests run on Node.js in CI without an ABAP system, with optional SQLite, PostgreSQL, Snowflake or SAP HANA drivers.community org, abapTranspiles ABAP to JavaScript to run on Node.js
- Modernization Agents for SAP on AWSModernization Agents for SAP on AWSAWS's suite of agents for SAP modernisation work: custom ABAP converted for S/4HANA, PI/PO interfaces moved to Integration Suite, BW objects moved to SAP Datasphere, deployed into a customer's own AWS account and reached only after registration.partner, abapAWS agents for ABAP, PI/PO and BW modernisation work
- abap_db_preparatorabap_db_preparatorA wrapper over ABAP's OpenSQL replacement service that exports chosen rows into a stored bundle and, in a unit test's setup, replays it as fake table content in two method calls.independent, abapReplays stored database snapshots in ABAP unit tests
- cacamber-BDD-for-ABAPcacamber-BDD-for-ABAPA BDD framework for ABAP that turns Gherkin-style Given/When/Then scenarios into ABAP Unit test steps, matching each step against a regular expression and calling the test class method it maps to.independent, abapBDD framework turning Given/When/Then into ABAP Unit steps
- abap-utesthelpabap-utesthelpTwo helper classes for ABAP Unit tests: one verifies a domain constant class against its domain's fixed values, the other creates test doubles without naming the interface.independent, abapHelper classes for ABAP Unit tests and test doubles
- regression_testregression_testA snapshot library for ABAP that records a value once and compares against it on every later run, from either the debugger or a unit test, storing snapshots in eCATT test data containers.independent, abapSnapshot testing library for ABAP, from debugger or unit test
- abapCovabapCovA report, ZABAPCOV, that uploads ABAP Unit test code coverage results to codecov.io, once the repository is installed through abapGit and codecov.io's certificates through STRUST.independent, abapUploads ABAP Unit code coverage to codecov.io
- ABAP remote filesystemABAP remote filesystemA Visual Studio Code extension that opens an ABAP system over ADT as an editable filesystem and exposes system tools to GitHub Copilot and external MCP clients.independent, abapVS Code extension editing ABAP systems over ADT as a filesystem
- open-steamgateopen-steamgateAn ABAP application server you clone and run on your own machine: transpiled ABAP serving classic /IWBEP/ OData v2 to Fiori over a local database, with no SAP system attached.independent, abapLocal ABAP server serving /IWBEP/ OData v2 without an SAP system
- express-icf-shimexpress-icf-shimA shim that runs an ABAP ICF handler written against if_http_extension behind an Express 4.x server, for ABAP transpiled to JavaScript and run on Node.js in testing and continuous integration.community org, abapShim running an ABAP ICF handler behind an Express 4.x server
- open-abap-coreopen-abap-coreReusable ABAP functionality for code transpiled by @abaplint/transpiler: the core ABAP artifacts that code runs against on Node.js.community org, abapCore ABAP artifacts for code transpiled by @abaplint/transpiler
- mockup_loadermockup_loaderA tool that loads ABAP unit test data prepared in Excel as TAB-delimited text into ABAP structures and tables, and generates interface stubs that return that mock data.independent, abapLoader of Excel-prepared ABAP unit test data, with stub generation
- mockAmockAA free mocking framework for ABAP, published under the Apache License 2.0.independent, abapA free mocking framework for ABAP, published under the Apache License 2.0.
- Vise_for_ABAPVise_for_ABAPA characterisation-test helper: ZCL_VISE=>GRIP records a field's value once and fails a later run if it has changed.independent, abapA characterisation-test helper: `ZCL_VISE=>GRIP` records a field's value once and fails a later run if it has changed.
- abap-senchaabap-senchaA BDD/TDD assertion library for ABAP Unit, styled after the JavaScript library Chai.js, that wraps cl_abap_unit_assert in chainable expect, should and assert styles.independent, abapBDD/TDD assertion library for ABAP Unit, styled after Chai.js
- abap-test-containerabap-test-containerA test data container for ABAP Cloud that loads unit test data in JSON, XML or raw formats from GitHub and maps it onto the target structure, filling the platform's missing native one.independent, abapGitHub-hosted test data container for ABAP Cloud
- abap-unit-runnerabap-unit-runnerAn application job that runs and schedules ABAP Unit tests in SAP's ABAP Environment through the SAP_COM_0735 API, where the on-premise test runner has no SAP GUI to run from.independent, abapApplication job that runs and schedules ABAP Unit tests in the cloud
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
abaplint
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:xinitrc86-adash-services- JSON
- /artifacts/xinitrc86-adash-services.json
- MCP
- Connecting an agent