Test Coverage Report
Coverage measured via npx @sasjs/cli c -t server-ci against the server-ci target.
Test Coverage Report
Coverage measured via npx @sasjs/cli c -t server-ci against the server-ci target.
The error message exposes the internal table_id value to the end user via mp_abort. Consider whether a more generic message (e.g. "staged table could not be located") is preferable for end-user UX, or if exposing table_id is intentional for support/debugging purposes. Stylistic choice, not a defect.
Hardcoded DCTEST libref couples the test to a specific library that must exist in the server-ci environment. If that library is renamed, the test fails for an environmental reason rather than a code regression. Consider deriving the libref from a macro variable if one is available in the test harness.
The test asserts the DDL contains CREATE TABLE / INSERT INTO but does not verify the DDL is well-formed or targets the correct schema. For a breaking-change bump of @sasjs/core (where mp_getddl was renamed to mp_ds2ddl), a regression returning truncated/malformed DDL would still pass as long as the keyword appears anywhere. Consider asserting against a known table name (e.g. &dc_libref..MPE_TABLES) to make the test more robust against partial output.
Test Coverage Report
Coverage measured via npx @sasjs/cli c -t server-ci against the server-ci target.
Test Coverage Report
Coverage measured via npx @sasjs/cli c -t server-ci (static dependency coverage — which test files reference which source files) from the sas/sasjs/ directory on PR…
Pre-existing TODO carried forward: REMOVE THAT LAST MACRO refers to the @li mp_execute.sas entry on line 13, which lists a macro that is not called anywhere in this file (only mp_init, mpeinit2, dc_getsettings are invoked). Consider removing both the @li mp_execute.sas line and this stray comment to close out the TODO.
Same as exportdb: showlog=NO is newly added vs the old mp_getddl(..., applydttm=YES) call, so the public DDL-download service no longer writes DDL to the log. Intentional and fine; just flagging it's more than a mechanical rename. Positional args (&libref,&ds) and keyword args (fref=tmp, applydttm=YES) all map correctly onto mp_ds2ddl's signature.
Behavior change: showlog=NO is new here (the old mp_getddl call did not pass it, so DDL was echoed to the log by default). This is a reasonable improvement — the admin export should not dump generated DDL into the SAS log — but it is a semantic change beyond a pure rename. Worth noting in the PR description if not already. The call signature otherwise matches mp_ds2ddl(libref, ds, fref=, flavour=, showlog=, schema=, applydttm=) correctly (library-level mode, ds intentionally omitted).