hana-developer-cli-tool-example e2e-test-creation.instructions.md

Guidance for end-to-end tests, which run a real CLI command from start to finish and check its output and behavior.

In plain words
What is it for?
Use it when testing real commands through node bin/cli.js, especially command output, options, documentation, and system-level behavior.
Why use it?
It checks the complete command workflow, including flags, help text, sequences, integrations, errors, and edge cases that isolated tests may not cover.

Instructions file for GitHub Copilot

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/sap-samples/hana-developer-cli-tool-example/e2e-test-creation
Clone the repo
git clone --depth 1 https://github.com/SAP-samples/hana-developer-cli-tool-example

Made for: GitHub Copilot.

Per session 4,789 This file is loaded in full into every session.
When invoked 4,789 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.04789 $0.04789
Opus 5 $0.02395 $0.02395
Sonnet 5 $0.00958 $0.00958
Haiku 4.5 $0.00479 $0.00479

Measured 2d ago against content hash e15f2aed60c6, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

hana-developer-cli-tool-example e2e-test-creation.instructions.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.github/instructions/e2e-test-creation.instructions.md · 619 lines

How it starts

The opening of the file, as written. The whole thing — 619 lines — stays where its author put it; the contents beside it link to each section on GitHub.

End-to-End (E2E) Test Creation Guide

Use this guide when creating end-to-end tests that validate complete CLI command workflows through subprocess execution. E2E tests execute real commands and verify their output, behavior, flags, and integration scenarios.

What Are E2E Tests?

E2E tests are subprocess-based tests that:

  • Execute real CLI commands via node bin/cli.js <command>
  • Validate actual command output (stdout/stderr)
  • Verify flag behavior and combinations
  • Test help output and documentation
  • Validate error conditions and edge cases
  • Ensure commands work independently and in sequences

When to use E2E tests:

  • Testing CLI command behavior and output
  • Validating command flags and options work correctly
  • Verifying help/documentation output
  • Testing commands that require real execution (not mock-friendly)
  • Integration tests between command and system

When NOT to use E2E tests:

  • Unit testing utility functions (use tests/utils/*.test.js instead)
  • Testing route handlers (use tests/routes/*.test.js instead)
  • Testing internal class methods (use unit tests instead)

File Naming and Organization

  • Naming Convention: commandName.e2e.Test.js
  • Location: tests/e2e/ directory (use tests/e2e/routes/ for route/WebSocket E2E tests)
  • Pattern: Files matching tests/e2e/**/*.e2e.Test.js are discovered and run by E2E test scripts

Examples:

  • tests/e2e/version.e2e.Test.js - E2E tests for version command
  • tests/e2e/tables.e2e.Test.js - E2E tests for tables command
  • tests/e2e/status.e2e.Test.js - E2E tests for status command

Test Infrastructure

Base Module (tests/base.js)

The base.js module provides core functionality for E2E tests:

import * as base from '../base.js'

// Execute a CLI command and capture output
base.exec(command, (error, stdout, stderr) => {
  // error: null if command succeeded, otherwise Error object
  // stdout: standard output as string
  // stderr: standard error as string
})

// Add test context to mochawesome report
base.addContext(this, { title: 'Label', value: 'content' })

// Assertion library
import { expect } from 'chai'
expect(value).to.equal(expected)

Read the full file on GitHub · 619 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 619 lines · 4,789 tokens per session scan A e15f2aed60c6

Subscribe to this mod's changes

hana-developer-cli-tool-example e2e-test-creation.instructions.md is an instructions file published in the GitHub repository SAP-samples/hana-developer-cli-tool-example (109 stars, last pushed 7d ago), licensed Apache-2.0. It adds 4,789 tokens to every session, about $0.0239 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.