Commit graph

15 commits

Author SHA1 Message Date
MiscFrizzy
30d631d246 feat: An Initias Redis Store Implementation
- **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.
2025-04-07 07:47:27 -04:00
MiscFrizzy
eb4349031b ### Commit Summary
- **TestSetup.cs**
  - Updated `CreateTestConfig` method to initialize `Config` with required properties using object initializer syntax.

- **ProxyIntegrationTests.cs**
  - Added null checks for `mockServer.Urls` before accessing it to prevent potential null reference exceptions.
  - Improved error handling for mock server URL access.

- **VRChatAuthenticationTests.cs**
  - Added null checks for `mockServer.Urls` before accessing it to prevent potential null reference exceptions.
  - Enhanced the mock server setup to include null checks for request body content.

- **Config.cs**
  - Added the `required` modifier to non-nullable properties in `ConfigAccount` and `iConfig` classes.
  - Updated the `Load` method to initialize the `Config` instance with required properties using object initializer syntax.

- **Program.cs**
  - Added a null check for `result.CloseStatus` in WebSocket handling to prevent potential null reference exceptions.
2025-04-07 07:30:34 -04:00
MiscFrizzy
319f1071bf feat(ci): Add GitHub Actions workflows for test automation and status badges
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.
2025-04-07 06:30:31 -04:00
9a409bcab0 if rotating account does not work, re login 2025-02-22 12:54:55 -05:00
aefed18612 add account rotating on 401 and 429 2025-01-11 20:49:48 -05:00
93d3cae034 no way it was that simple. 2025-01-10 14:45:36 -05:00
cb8b4b5f0c revert all that because somehow it fixes it???? 2025-01-10 14:37:00 -05:00
266dc9232e different constructor for the HttpRequestMessage? 2025-01-10 14:25:53 -05:00
03628aa2e5 dont add content headers if there is no contemnt 2025-01-10 13:57:11 -05:00
255b273f65 feat: support websockets 2024-12-22 19:22:15 -05:00
5e19348a11 remove dependency on VRChat.API 2024-12-14 11:35:37 -05:00
db4c283210 move dockerfile to correct spot 2024-12-13 13:13:24 -05:00
d3d92332a0 proxy user agent 2024-12-10 18:04:50 -05:00
21a9fca745 use asp.net in dockerfile 2024-11-11 14:26:16 -05:00
22c2de9cc6 Initial Commit 2024-11-11 14:15:51 -05:00