Skip to content

release: v0.3.4 — test coverage & documentation for awesome-go#5

Merged
kolkov merged 5 commits intomainfrom
release/v0.3.4
Mar 5, 2026
Merged

release: v0.3.4 — test coverage & documentation for awesome-go#5
kolkov merged 5 commits intomainfrom
release/v0.3.4

Conversation

@kolkov
Copy link
Contributor

@kolkov kolkov commented Mar 5, 2026

Summary

Prepare fursy for awesome-go submission: improved test coverage, fixed documentation, updated release files.

Test Coverage (93.8%, up from 91.7%)

  • internal/binding: 64.4% -> 97.7% (all setField types, edge cases, invalid inputs)
  • box_test.go: Added Unauthorized and Forbidden tests
  • router_generic_test.go: New file - tests for HEAD[Req,Res]() and OPTIONS[Req,Res]()
  • openapi_test.go: WriteJSON and WriteYAML tests
  • middleware/circuitbreaker_test.go: 6 new tests (constructors, state, counts, reset)
  • middleware/logger_test.go, recovery_test.go: Default constructor tests

Documentation Fixes (5 critical API mismatches)

  • JWT() signature: config struct -> JWT(signingKey) / JWTWithConfig(config)
  • RateLimit() signature: config struct -> RateLimit(rate, burst) / RateLimitWithConfig(config)
  • CircuitBreaker() signature: removed non-existent fields, added helper functions
  • router.Run() -> http.ListenAndServe() (Run method does not exist)
  • Package godoc: *fursy.Box without type params -> *fursy.Context

Release Files

  • CHANGELOG.md: Full v0.3.4 entry with all changes
  • ROADMAP.md: Updated version, coverage, awesome-go status

Test plan

  • go test ./... - all tests pass
  • golangci-lint run - 0 issues
  • Coverage verified: 93.8% total

kolkov added 3 commits March 5, 2026 16:07
- Total coverage: 90.1% -> 93.8% (+3.7%)
- Binding: 64.4% -> 97.7% (+33.3%)
- Core: 93.1% -> 94.3%, Middleware: 91.7% -> 95.6%
- New tests for all 0% coverage public API functions
- Updated README.md and CHANGELOG.md with current metrics
- JWT: JWT() takes signingKey, not config; use JWTWithConfig for config
- RateLimit: RateLimit() takes (float64, int), not config struct
- CircuitBreaker: CircuitBreaker() takes no args; show helper functions
- Remove non-existent router.Run(), use http.ListenAndServe
- Fix godoc: *fursy.Box -> *fursy.Context in package comments
- Update coverage numbers to 93.8% in README
@codecov
Copy link

codecov bot commented Mar 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

kolkov added 2 commits March 5, 2026 16:33
- Remove push triggers for feature/release/hotfix/develop branches
- Keep only push:main + pull_request:main
- PRs run tests once (not twice)
@kolkov kolkov merged commit 7e9b498 into main Mar 5, 2026
6 checks passed
@kolkov kolkov deleted the release/v0.3.4 branch March 5, 2026 13:38
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.

1 participant