- **docker-compose.yml**
- Added Redis service configuration to support token storage.
- Set up health checks and volume for Redis persistence.
- Configured VRCAuthProxy service to depend on Redis.
- **HttpClientCookieContainer.cs**
- Added `Username` property to support user-specific token management.
- **Program.cs**
- Integrated Redis for storing and retrieving authentication tokens.
- Updated login and token rotation logic to utilize Redis.
- Improved async/await usage for better reliability.
- **VRCAuthProxy.csproj**
- Added `StackExchange.Redis` package for Redis connectivity.
- Corrected `Otp.NET` package reference.
- **API.cs**
- Updated `TotpVerifyResponse` and `User` classes to be nullable-aware.
- **RedisService.cs**
- Implemented Redis service for managing authentication tokens.
- Added methods for saving, retrieving, and deleting tokens.
Add comprehensive test automation setup with GitHub Actions:
- Create test.yml for running tests on main/develop branches
- Add pr-test.yml for PR validation with test results comments
- Add update-badges.yml for dynamic test status badge updates
- Configure code coverage reporting with Codecov integration
Documentation:
- Add BADGE_SETUP.md with instructions for configuring test status badges
- Add WORKFLOWS_GUIDE.md explaining CI/CD workflow setup
- Update README.md with build and test status badges
Test Framework:
- Configure test project to use .NET 9.0
- Set up test coverage reporting with coverlet
- Add integration tests with WireMock for API mocking
- Add unit tests for configuration and HTTP client components
- Document testing strategy in TestingStrategy.md
Build:
- Add Dockerfile.test for containerized testing
- Update .gitignore for test artifacts
- Configure test dependencies in VRCAuthProxy.Tests.csproj
This change enables automated testing on PRs and branches, with visual status indicators and detailed test results in PR comments.