Commit Graph
972 Commits
Author SHA1 Message Date
Dominion 1214cfbbfd Regression tests for #1490 2023-05-20 19:30:18 -04:00
Dominion ddc7130887 Fix a lint 2023-05-20 19:23:32 -04:00
Dominion af9b5f7eb3 Add IsSystemChannel flag to ChatChannels 2023-05-20 18:28:33 -04:00
Dominion 9410795046 Nuget updates + project file cleanups 2023-05-20 16:25:40 -04:00
Jordan DominionandGitHub c09b854315 Merge branch 'master' into MrStonedOne-patch-1 2023-05-20 12:55:49 -04:00
Dominion 39692bec2c Actually enable node request logging in swarm mode 2023-05-17 23:10:38 -04:00
Dominion e4debac5bc Switch tests from updating to 4.8.1 to 5.11.0 2023-05-17 22:08:02 -04:00
Dominion 47c44b1a58 Add regression test for chat bot connection string viewing 2023-05-17 19:06:21 -04:00
Dominion d8aa40011b Create a new connection for each test attempt 2023-05-14 21:53:09 -04:00
Dominion ff42a1f5b8 Remove unused usings 2023-04-30 10:59:37 -04:00
Dominion 44da043e94 Ensure database is available before starting live tests 2023-04-30 10:44:15 -04:00
Dominion 0ef83b872b Improve logging for swarm update test 2023-04-29 22:59:46 -04:00
Dominion ec2e4be6e3 Merge branch 'dev' of https://github.com/tgstation/tgstation-server into 1458-AddMapThreadsParam 2023-04-29 18:04:33 -04:00
Dominion 4793012413 Test resistance to rate limit issues
- Unsealed ApiClient to allow tests to override with rate limit aware client that waits for rate limits to clear.
- Allowed injecting into ServerClientFactory's static ApiClientFactory.
- Use Octokit provided function for calculating retry delays.
- Fixed a rogue newline semicolon.
- Moved downgrade migrations test out of live tests.
- Admin tests now check for V5 releases.
- Fixed not disposing a StringContent in ApiClient.
- Bump client patch version.
- Added missing .ConfigureAwait(false) to async ApiClient call.
2023-04-29 15:14:22 -04:00
Dominion a7a8c92f75 Add additional testing for BYOND features like dd.exe and -map-threads. 2023-04-28 23:11:43 -04:00
Dominion e1f471beb6 Add -map-threads parameter support 2023-04-28 21:24:01 -04:00
Dominion 16673034f7 Fix WaitForJobProgress never taking the early out 2023-04-25 08:00:16 -04:00
Dominion 99c4537aa9 Implement BYOND installation deletion
- Add ErrorCode for if a BYOND installation delete attempt is made for the active version.
- Added ByondVersionDeleteRequest new parent of ByondVersionRequest.
- Added ByondRights.DeleteInstall.
- Added BYOND install delete support to client
- Made ByondExecutableLock use the reference counting system.
- Moved TrustDmbPath to ByondManager internals. Removes ByondExecutableLock's dependency on IIOManager.
- Ensured ByondManager doesn't deal in Versions where .Build == 0.
- Fixed race condition where ByondController could attempt to install a version in the scope of a request.
- Fixed long running DMAPI test code specifying a minimum security level of Ultrasafe when it writes files.
- Added JobsRequiredTest.WaitForJobProgress.
- Added BYOND installation deletion integration tests.
- Fixed modifying the user BYOND configuration having a race condition across instances.
- Various code cleanups.
2023-04-24 20:15:10 -04:00
Dominion 501ea583d0 Remove unused using 2023-04-24 20:04:17 -04:00
Dominion bff92e8a1f Fix race condition in repository test 2023-04-24 18:37:01 -04:00
Dominion d31145f87b Remove extraneous neline 2023-04-24 18:33:26 -04:00
Dominion 4ecdf8afe1 Move duplicate concrete IAbstractHttpClientFactorys to Common.HttpClientFactory 2023-04-23 13:57:57 -04:00
Dominion 43e1fec1b0 Move a bunch of non-core classes to new Utils namespace
- Clean up VS messages, primarily in SessionController.cs
2023-04-23 13:42:16 -04:00
Dominion 86f9d350f6 Clean up LogContext templating and properties
- Bring Serilog LogContext related items into new SerilogContextHelper class.
- ODR LogContext property names.
- InstanceController now inherits InstanceRequiredController and no longer holds an IInstanceManager reference.
- InstanceRequiredController.ValidateInstanceOnlineStatus() no longer static
- Subinterface IInstanceOperations created to reduce surface area InstanceController uses.
- Extracted much of InstanceRequiredController's functionality into new parent ComponentInterfacingController to not break swagger generation type checking (InstanceRequiredController adds the mandatory InstanceId header in the spec but InstanceController inherits ComponentInterfacingController without those checks).
- Added code paths to allow add swarm node identifer to LogContext. Use in Live tests.
- IInstanceManager retrieved via DI in Application for UseAsyncInitialization().
- Correct controller doc comments.
- Minor code cleanups.
2023-04-23 13:07:40 -04:00
Dominion d771da71b9 Add General:DeploymentDirectoryCopyTasksPerCore config option 2023-04-23 02:34:11 -04:00
Dominion 6443ca8223 Workaround std stream race condition in tests 2023-04-22 23:17:07 -04:00
Dominion 6199e0e12e Increase delay in stdout/err reading test 2023-04-22 19:42:44 -04:00
Dominion b5618d9e29 - Fix test issues.
- Fix non-swarm mode updates.
- Add node ID logging context for live test.
2023-04-22 18:14:17 -04:00
Dominion 930c0e6ab5 Workaround for timeout not working on CI runners 2023-04-22 17:25:53 -04:00
Dominion 7663296099 Test std error and file reading 2023-04-22 12:19:20 -04:00
Dominion 86e103b86b More integration test reorganization 2023-04-22 10:33:39 -04:00
Dominion 8ab819a414 Reorganize integration tests 2023-04-22 10:27:52 -04:00
Dominion c52cbcef31 Add configuration option to set expected number of nodes in swarm 2023-04-21 10:11:18 -04:00
Dominion a1b5dbe6ac Abstract HttpClient and FileDownloader
- Set all requests to use assemblyInformationProvider UserAgent by default.
- Removed DefaultIOManager's dependency on IAssemblyInformationProvider.
- Fixed bad Dispose scope for requests under construction in SwarmService.
2023-04-21 03:15:39 -04:00
Dominion e8c89f4271 Set a timeout for TestOneServerSwarmUpdate 2023-04-21 01:50:25 -04:00
Dominion 458793d928 Buff time for repository long clone job test slightly 2023-04-17 12:16:17 -04:00
Dominion a7333e5095 Fix Byond Test 2023-04-17 00:28:07 -04:00
Dominion fee7484447 Fix watchdog test 2023-04-17 00:08:49 -04:00
Dominion a719809c50 GitHub CI speedup attempt
- Switch off verbose console logger, should still run on errors.
- Add GitHubActionsTestLogger, use in CI.
- Pre-build integration tests to get better time metrics.
2023-04-16 23:47:37 -04:00
Dominion 9e72e47bbc Various cleanups and test parallelization
- Fix a bunch of linter messages
- Document whitebox testing
- Fix race condition in deployment test with BYOND install
2023-04-16 23:28:18 -04:00
Dominion fce684f407 Closes #1457
- Delay bridge requests while detached up to one minute before failing
- Add test coverage
2023-04-16 21:56:28 -04:00
Dominion ee99a799c2 Greatly speed up integration tests by cloning a small repo 2023-04-16 19:23:30 -04:00
Dominion 4926fef98a Watchdog tests improvements
- Reorganize Watchdog Tests slightly
- Add test for chat overloading
- Add additional error logging
2023-04-16 19:23:10 -04:00
Dominion 9e6c043383 Utilize commands for parallel SessionController/DMAPI chunking testing 2023-04-16 17:35:52 -04:00
Dominion 8552ba32b8 More DMAPI constants tests 2023-04-16 17:34:38 -04:00
Dominion 70689d8036 The big topic chunking commit
- Implemented topic request and response chunking
- Removed GitHub workflows from .sln as they are auto-detected
- Interop version bump to 5.6.0
- DMAPI version bump to 6.4.0
- Split common chunking code into its own DMAPI/v5 file
- Added DMAPI/v5 file just for all the new topic handling methods
- Fixed runtime errors duing Topic calls not being reported to TGS
- Fixed certain topic requests returning lists instead of JSON
- Bridge and topic response chunk handling merged into `BridgeRequestChunker` now just `Chunker`
- `CombinedTopicResponse` is no longer used outside of SessionController
2023-04-16 17:31:48 -04:00
Dominion 7cee137e43 Implement and test bridge request chunking
- Minor cleanups included
2023-04-15 20:18:03 -04:00
Dominion 1b6d9d5998 Minor message cleanups 2023-04-15 19:12:10 -04:00
Dominion da24b32cf0 Add and test DMAPI5_BRIDGE_REQUEST_LIMIT 2023-04-15 16:56:06 -04:00
Dominion 1f910d87f8 Remove unused var 2023-04-15 16:55:19 -04:00