Tests: integration coverage for startHarper/teardownHarper against a real Harper
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- typescript
- Domain
- testing
Research direction
Start in the test/ suite and the existing fixture-based unit-test harness, then review startHarper, teardownHarper, killHarper, and setupHarperWithFixture. Configure the harper-integration-test-setup-loopback pool and a real Harper peer dependency, or skip when no Harper build is available. Done means the happy path, teardown cleanup, restart without EADDRINUSE, and pre-installed fixture coverage run successfully.
Written by the indexing model from the issue text.
Description
Summary
Follow-up from #8 / #9. The new test/ suite covers runHarperCommand, killHarper, and the port helpers in isolation, but the lifecycle orchestration (startHarper / teardownHarper) is not exercised end-to-end because that needs a real Harper instance (the package's harper peer dependency) and loopback-pool setup. Worth adding as a separate integration-test layer.
Coverage to add
- Happy path —
startHarper(ctx)→ make a request againstctx.harper.httpURL/operationsAPIURL→teardownHarper(ctx); assert the instance came up and was cleaned up. - Teardown orchestration —
teardownHarperkills the process, waits for the fixed ports to free, releases the loopback address back to the pool, and removes the data root dir. - Race 2 restart path —
killHarper(ctx)followed bystartHarper(ctx)reusing the samehostnamesucceeds withoutEADDRINUSE(verifies the port-wait-before-spawn added in #9). -
setupHarperWithFixture— a pre-installed component is available on first boot.
Notes
Needs a real Harper available (peer dependency) and the loopback pool configured (harper-integration-test-setup-loopback), so this likely lives in a separate harness from the fixture-based unit tests in test/. May be best run only where a Harper build is present (and skipped otherwise).
🤖 Generated with Claude Code
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from HarperFast/integration-testing
-
setupHarperWithFixture overwrites ctx.harper, dropping pre-set hostname (breaks multi-node add_node)Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 3/5 1-2 days Newbie friendliness 74/100
-
A listener on all interfaces silently receives a test node's connections on macOS; the conflict canary cannot see itPossibly taken @dawsontoth claimed this 5 days ago. Open
HarperFast/integration-testing#38 · 1 comment · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 58/100
All issues in HarperFast/integration-testing
Similar issues
-
[Bug] The shared instance selector's placeholder and no-match text ignore the display languagePossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
apache/rocketmq-dashboard#5561 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
CopilotKit/OpenDots#69 ·
Maintainers usually reply within 1 day
-
sendDefaultPii is reported as deprecated on ReactNativeOptions although dataCollection is hiddenOpenBug React-Native Waiting for: Product Owner
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
getsentry/sentry-react-native#6830 · 1 comment ·
Maintainers usually reply within 1 day
-
OSCI'26
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
GauravKarakoti/SecureFlow#1215 ·
Maintainers usually reply within 1 day
-
[quality] bundle e2e never drives plain /close or the /milestone refusals through dist/index.jsPossibly taken @hivecommons-hive claimed this today. Openagent/quality hive/covered-by-pr hive/hosted-available-lke648397-260827-5q9t kind/cleanup quality testing
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
cncf/prow-github-actions#295 · 1 comment ·
Maintainers usually reply within 1 day