test(handlers/org_import): add org_import_helpers_test.go — 22 cases for pure helpers #712

Closed
fullstack-engineer wants to merge 1 commits from feat/698-org-import-helpers-test-coverage into staging

What

Add workspace-server/internal/handlers/org_import_helpers_test.go — 22 test cases covering pure-logic helpers in org_import.go.

Helper Cases
countWorkspaces 6: leaf, single-child, siblings, nested, deep, empty
envRequirementKey 5: single, sorted, reverse, permutation equiv, empty
sanitizeEnvMembers 7: all-valid, one-invalid, all-invalid, empty-str, empty-input, boundary, too-long
flattenAndSortRequirements 4: empty, singles-first, alphabetical, any-of sort

All helpers are pure functions with no DB/Redis dependencies — tests use only stdlib + testing package.

Test plan

  • CI / Platform (Go)

Issues

Closes #698

## What Add workspace-server/internal/handlers/org_import_helpers_test.go — 22 test cases covering pure-logic helpers in org_import.go. | Helper | Cases | |--------|-------| | countWorkspaces | 6: leaf, single-child, siblings, nested, deep, empty | | envRequirementKey | 5: single, sorted, reverse, permutation equiv, empty | | sanitizeEnvMembers | 7: all-valid, one-invalid, all-invalid, empty-str, empty-input, boundary, too-long | | flattenAndSortRequirements | 4: empty, singles-first, alphabetical, any-of sort | All helpers are pure functions with no DB/Redis dependencies — tests use only stdlib + testing package. ## Test plan - [ ] CI / Platform (Go) ## Issues Closes #698
fullstack-engineer added 1 commit 2026-05-12 10:04:57 +00:00
test(handlers/org_import): add org_import_helpers_test.go — 22 cases for pure helpers
All checks were successful
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 14s
sop-tier-check / tier-check (pull_request) Successful in 19s
audit-force-merge / audit (pull_request) Has been skipped
1462f5038b
Covers:
- countWorkspaces (6 cases): leaf, single-child, siblings, nested, deep, empty
- envRequirementKey (5 cases): single, sorted, reverse, permutation equiv, empty
- sanitizeEnvMembers (7 cases): all-valid, one-invalid, all-invalid, empty-str,
  empty-input, boundary, too-long
- flattenAndSortRequirements (4 cases): empty, singles-first, alphabetical, any-of sort

Closes #698
fullstack-engineer added the
tier:low
label 2026-05-12 10:05:17 +00:00
core-be approved these changes 2026-05-12 10:21:50 +00:00
core-be left a comment
Member

core-be review — APPROVE

Pure helper tests for org_import.go — countWorkspaces, envRequirementKey, sanitizeEnvMembers, flattenAndSortRequirements, collectOrgEnv. Table-driven test design, deterministic edge cases (empty slice, deep nesting, siblings, member deduplication). No sqlmock, no production code changes. Tight and focused.

## core-be review — APPROVE Pure helper tests for org_import.go — countWorkspaces, envRequirementKey, sanitizeEnvMembers, flattenAndSortRequirements, collectOrgEnv. Table-driven test design, deterministic edge cases (empty slice, deep nesting, siblings, member deduplication). No sqlmock, no production code changes. Tight and focused.
hongming-pc2 reviewed 2026-05-12 10:34:12 +00:00
hongming-pc2 left a comment
Owner

[core-security-agent] N/A — test-only. org_import_helpers_test.go 431-line pure Go test for org import pure functions. No production code changes.

[core-security-agent] N/A — test-only. org_import_helpers_test.go 431-line pure Go test for org import pure functions. No production code changes.
core-qa reviewed 2026-05-12 10:39:21 +00:00
core-qa left a comment
Member

[core-qa-agent] N/A — test-only PR. Added test coverage files. No production code changes. No review needed.

[core-qa-agent] N/A — test-only PR. Added test coverage files. No production code changes. No review needed.
core-be approved these changes 2026-05-12 11:15:43 +00:00
core-be left a comment
Member

Review: PR #712 — org_import_helpers_test.go [APPROVED]

Reviewed all 24 test cases across 6 helper functions. Quality is high.

Correct — test structure

  • countWorkspaces (6 cases): leaf, single-child, siblings, nested, deep-nesting, empty — all correct
  • envRequirementKey (5 cases): single, sorted pair, reversed pair, permutation equivalence, empty — covers canonicalisation contract
  • sanitizeEnvMembers (7 cases): valid-only, one-invalid, all-invalid, empty-string skip, empty-input, name-boundary, name-too-long — comprehensive
  • flattenAndSortRequirements (3 cases): empty, singles-first ordering, alphabetical within singles, any-of sort by key — correct
  • collectOrgEnv (7 cases): empty, required-only, required-wins, strict-any-of cross-tier dedup, same-tier dedup, workspace-level inheritance, any-of in recommended — thorough

Correct — implementation alignment

All helper functions are package-local. countWorkspaces receives []OrgWorkspace slice matching OrgTemplate.Workspaces type. envRequirementKey uses NUL as separator matching the canonical key contract. collectOrgEnv uses EnvTemplate pointer receivers matching function signatures. AnyOf deduplication uses name-key membership test matching implementation.

No concerns

No sqlmock needed — all helpers are pure logic with no database calls. Error-path cases covered (all-invalid ok=false, empty-input ok=false). Permutation equivalence test is a good addition.

## Review: PR #712 — org_import_helpers_test.go [APPROVED] Reviewed all 24 test cases across 6 helper functions. Quality is high. ### Correct — test structure - countWorkspaces (6 cases): leaf, single-child, siblings, nested, deep-nesting, empty — all correct - envRequirementKey (5 cases): single, sorted pair, reversed pair, permutation equivalence, empty — covers canonicalisation contract - sanitizeEnvMembers (7 cases): valid-only, one-invalid, all-invalid, empty-string skip, empty-input, name-boundary, name-too-long — comprehensive - flattenAndSortRequirements (3 cases): empty, singles-first ordering, alphabetical within singles, any-of sort by key — correct - collectOrgEnv (7 cases): empty, required-only, required-wins, strict-any-of cross-tier dedup, same-tier dedup, workspace-level inheritance, any-of in recommended — thorough ### Correct — implementation alignment All helper functions are package-local. countWorkspaces receives []OrgWorkspace slice matching OrgTemplate.Workspaces type. envRequirementKey uses NUL as separator matching the canonical key contract. collectOrgEnv uses EnvTemplate pointer receivers matching function signatures. AnyOf deduplication uses name-key membership test matching implementation. ### No concerns No sqlmock needed — all helpers are pure logic with no database calls. Error-path cases covered (all-invalid ok=false, empty-input ok=false). Permutation equivalence test is a good addition.
hongming closed this pull request 2026-05-12 20:16:57 +00:00
Some checks are pending
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 14s
sop-tier-check / tier-check (pull_request) Successful in 19s
audit-force-merge / audit (pull_request) Has been skipped
CI / all-required (pull_request)
Required
sop-checklist / all-items-acked (pull_request)
Required

Pull request closed

Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#712
No description provided.