Commit Graph
95 Commits
Author SHA1 Message Date
Jordan Brown 2e8f1e701a Adds more integration tests 2020-12-30 22:41:41 -05:00
Jordan Brown 9cdaef0410 Remove all debug conditionals
- Add a down migrations comment
2020-12-30 11:43:41 -05:00
Cyberboss f25fda747d Improved cleanup in swarm test 2020-12-28 13:33:35 -05:00
Cyberboss bc90c13322 Adds swarm integration test 2020-12-28 11:00:10 -05:00
Cyberboss f5fcf331d3 Switch all DateTimeOffset.Now references to UtcNow 2020-12-27 20:21:30 -05:00
Jordan Brown cba2904292 Merge branch 'dev' into 1078-UserGroups 2020-12-18 00:32:45 -05:00
Jordan Brown eb709d136b Adds pagination
- Add generic Paginated<TModel> for pagination responses.
- Added pagination helper to ApiController.
- Implemented pagination for all previously IEnumerable<T> response endpoints.
- Added IApiTransformable<TApiModel> for host models finally.
- Added PaginationSettings to client List endpoints.
- Use two deprecated ErrorCodes for page parameter validation.
- Re-enabled to OpenAPI root array response lint.
- Add some integration tests with users.
2020-12-17 23:49:06 -05:00
Jordan Brown 47fe8306bf Small amount of test logging 2020-12-16 11:54:38 -05:00
Jordan Brown 19cd1aac19 Stop using a groups user in integration test
We know it works. If we really need to test it we should make a dedicated paralled instance test. Currently it just causes permissions issues.
2020-12-16 11:14:05 -05:00
Jordan Brown 23205978f6 Fix integration test permission issues 2020-12-14 22:14:08 -05:00
Jordan Brown 3e62191257 Adds UserGroups
- Added MinimumLength to several existing and new
StringLengthAttributes.
- Refactored permissions off User model to new PermissionSet model.
- Added UserGroups, which contain their own PermissionSet. A user can
have either a UserGroup or dedicated PermissionSet.
- Added UserGroupController and client for handling groups.
- Renamed InstanceUser to InstancePermissionSet and associated it with
PermissionSets instead of Users.
- Inject active permission sets into AuthenticationContext.
- Sanitize away top level child properties of client request bodies
(hopefully).
- Added groups integration tests. Main test now runs in a group context.
- Added migrations with hand-written transition SQL.
- Resetting the admin user disassociates them from any groups.

Fuck this huge commit
2020-12-14 17:07:59 -05:00
Jordan Brown bc505c2446 Diverse test merging big commit 2020-12-06 19:37:20 -05:00
Jordan Brown 2838170350 Merge branch 'dev' into 786-GitHostAgnosia 2020-12-05 00:16:16 -05:00
Jordan Brown 1e52811434 Abstract test merging per git provider 2020-12-04 23:49:20 -05:00
Jordan Brown a513c22c23 Fix integration tests 2020-11-24 16:06:15 -05:00
Jordan Brown 8b189d9fd3 Minor integration test timeout buff [DMDeploy] 2020-10-20 13:36:09 -04:00
Jordan Brown 21dac248eb Fix a certain reattach timeout 2020-08-20 17:56:20 -04:00
Jordan Brown 1003c22481 Tired of these fucking rate limits GitHub!!! 2020-08-19 22:25:06 -04:00
Jordan Brown 02d2ee723a Give a longer timeout to reattach jobs in integration test 2020-08-05 00:36:59 -04:00
Jordan Brown 722567ded8 Fix auto updates not clearing merged PRs 2020-07-27 22:23:58 -04:00
Jordan Brown 6399c4cbf1 Process output streaming fixes 2020-07-27 13:12:58 -04:00
Jordan Brown b158bfbd1e More CI cleanups 2020-07-25 12:59:47 -04:00
Jordan Brown abd5e016ec More test fixes 2020-07-21 19:35:18 -04:00
Jordan Brown 7c0030180c Chungus refactors
- Added a new ErrorCode for when chat bots fail to connect
- Made IProvider IAsyncDispsable
- Removed IDatabaseContextFactory dependency from watchdogs
- Jobs will no longer start until instance manager startup is complete
- Chat provider connection is now done as a job, there is no way to retrieve directly this job through the API currently
- Fixed disabled chat bots connecting when their instance onlined
- Fixed issue with chat provider reconnection channel remapping
- IJobManager can now accept a null user in most cases which it will substitute for the TGS user
- Fixed some watchdog issues relating to accessing disposed session controllers
2020-07-19 17:54:27 -04:00
Jordan Brown e4255b0a7e Fix test suite 2020-07-18 10:29:36 -04:00
Jordan Brown 561f9216ba Add down migration tests 2020-07-14 13:29:04 -04:00
Jordan Brown fece7567fb Disallow address reuse for port bind tests 2020-07-14 10:26:24 -04:00
Jordan Brown f923d0c87d Component instance usage cleanup
- GetInstance now returns null instead of throwing when the instance is offline. To be honest, we should wrap this in a using.
- Add safe accessor class for controllers that also performs request validation.
- API bump to 7.1.0
- Added ErrorCode 90 for offline instances, replacing the 403 response
- Move jobs now move the directory and are more fail safe
- Creating instances no longer uppercases the path on disk on Windows
2020-07-12 13:53:28 -04:00
Jordan Brown ba0f63ef9c Minor code formatting change 2020-07-11 10:58:23 -04:00
Jordan Brown ec48e20bed Regression test for #1065 2020-07-11 09:53:32 -04:00
Jordan Brown a24bb50190 More integration test sanity 2020-07-09 13:20:22 -04:00
Jordan Brown d6bf75b439 Lots of test improvements
- More deployment tests
- More job error code asserts
2020-07-09 11:24:15 -04:00
Jordan Brown ea7235b198 Oh that's why 2020-07-06 03:16:01 -04:00
Jordan Brown 5c348958d1 THAT IS A VERY STRANGE ASSERT TO FAIL 2020-07-06 03:12:33 -04:00
Jordan Brown a5c498e0f7 Various things
- Remove lagacy user/pass header auth
- Use .WithToken on octokit calls
- Cleaned up ApiHeader validation failures and responses
- ApiController constructor parameter requireHeaders now defaults to true
- Added integration test for a bunch of 4XX errors
2020-07-05 11:07:33 -04:00
Jordan Brown 68f080d976 Remove the ExperimentalWatchdog
- Remove config and classes
- Remove launch parameters SecondaryPort. Rename PrimaryPort to Port
- Deprecate ErrorCode 40
- Rename SetPorts right to SetPort
- Remove DualReattachInformation and code surrounding it changed to work with a single ReattachInformation.
- Extra reattach informations will be killed by the ReattachInfoHandler on instance onlining
- Deployment no longer duplicates game folders
- Cleaned up watchdog/monitor dead code
- DmbFactory will check if A/B dirs exist and remap IDmbProvider appropriately
- Migrate everything
- Adjusted integration tests to use 4.3.0 for downgrade test
- Integration test checks setting port to 0 throws a 400
2020-06-29 17:53:59 -04:00
Jordan Brown a68d6cc489 Fix a typo 2020-06-26 16:39:50 -04:00
Jordan Brown 4d2c70fe33 Refactor watchdog running into status enum 2020-06-24 17:31:22 -04:00
Jordan Brown 3220d2aeec Fix Postgres Update test again 2020-05-29 12:47:57 -04:00
Jordan Brown 179cd39468 Assert Inconclusive on update test 2020-05-29 10:31:42 -04:00
Jordan Brown 2701305a85 Hmmmm 2020-05-28 14:05:45 -04:00
Jordan Brown 5d00e23a97 Add auto refresh functionality to IServerClient 2020-05-24 17:57:28 -04:00
Jordan Brown 823dab7b85 Port client/api libraries to .netstandard 2.1
- Enable nullable references
- Client v7, API v6.4.1
2020-05-24 16:42:31 -04:00
Jordan Brown 76a73c7922 Oops 2020-05-22 14:19:38 -04:00
Jordan Brown 24d6b648ef Improve integration test timeouts 2020-05-22 13:39:25 -04:00
Jordan Brown f466957007 Slightly shorter timespan as we need to not hit the Travis timeout 2020-05-22 11:38:37 -04:00
Jordan Brown f174dfa63a Cap integration tests to 10 minutes so we can better diagnose why Travis hangs 2020-05-22 11:26:11 -04:00
Jordan Brown 5ec4945125 IProcessSuspender -> IProcessFeatures
- Add support for getting the username of the executor.
2020-05-15 14:34:23 -04:00
Jordan Brown f993f52a85 Remove unused using 2020-05-14 20:15:38 -04:00
Jordan Brown 3f86492590 More testing 2020-05-14 18:02:00 -04:00