Skip to content

Add unit tests system#21

Merged
HanXHX merged 4 commits intomasterfrom
unit_tests
Mar 12, 2026
Merged

Add unit tests system#21
HanXHX merged 4 commits intomasterfrom
unit_tests

Conversation

@HanXHX
Copy link
Copy Markdown
Contributor

@HanXHX HanXHX commented Mar 12, 2026

  • Add helpers in Makefile
  • Setup CI for unit tests
  • Global add tests

Copilot AI review requested due to automatic review settings March 12, 2026 18:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a unit testing setup across core packages of the CLI, plus local/CI coverage reporting, to improve confidence in API/auth/crypto/config behavior.

Changes:

  • Added unit tests for UI formatting, crypto (AGE), config/token persistence, OIDC auth flows, and API client endpoints.
  • Added a make test-coverage helper and ignored generated coverage artifacts.
  • Updated CI to print a coverage summary from coverage.out.

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
internal/ui/format_test.go Adds coverage for FormatSize human-readable byte formatting.
internal/crypto/age_test.go Adds tests for hybrid AGE key parsing + encrypt/decrypt helpers and edge cases.
internal/config/config_test.go Adds tests for viper defaults and token save/load/delete behavior and permissions.
internal/auth/oidc_test.go Adds tests for OIDC device-flow helpers, refresh/revoke, and token source behavior.
internal/api/client_test.go Adds tests for core HTTP client verbs, error handling, multipart upload, and UA transport.
internal/api/login_test.go Adds tests for fetching OIDC config + discovery error cases.
internal/api/transfer_test.go Adds tests for transfer listing/details/files and create/complete/enable/disable/chunk ops.
internal/api/user_test.go Adds tests for user profile/quota and active key (including null) behavior.
cmd/transfer.go Minor refactor in generateTransferPassphrase variable naming and whitespace cleanup.
cmd/helpers_test.go Adds tests for CLI helpers (expiry formatting, passphrase generator, JWT offline detection).
Makefile Adds test-coverage target (coverage.out/html generation + summary).
.gitignore Ignores coverage.out and coverage.html.
.github/workflows/_ci.yml Prints coverage summary after tests in CI.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread cmd/transfer.go Outdated
Comment thread Makefile Outdated
@HanXHX HanXHX merged commit 055ecc5 into master Mar 12, 2026
4 checks passed
@HanXHX HanXHX deleted the unit_tests branch March 12, 2026 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants