17 Commits
Author SHA1 Message Date
Jordan Dominion 439001eb13 Fix test logging 2026-01-11 20:37:35 -05:00
Jordan Dominion 8b59884bf9 Final ValueTask conversion 2023-10-07 17:41:19 -04:00
Jordan Dominion a705339fdd Do not perform initial node health check immediately after registering 2023-07-07 12:05:34 -04:00
Jordan Dominion fdec2b3d17 Hopefully fix swarm test spurious errors
Also add more logging
2023-06-26 10:22:38 -04:00
Dominion 09208ade36 Swarm updates single source downloads
When running a distributed swarm server update, only the initiator server will download the update package directly from GitHub. It will then make the package available to the other nodes via a `SwarmController` hosted variant of the `FileTransferService` which they will use to retrieve their copies of the package.

Because of this, it's possible for the update package to be accessed via the regular `TransferController` duing this process. This is acceptable for three reasons:

- We use crytographically secure strings for the transfer service tickets
- If a malicious user steals one or more of the Swarm's update package tickets, the update will simply be aborted.
- An update package is not considered secure data what with this being OSS.
2023-06-10 16:13:29 -04:00
Dominion 395ee7d316 Add DummyGitHubService for live testing
- Also enable repo additional features for testing if possible
- Change a bunch of `TestInitialize`rs to `ClassInitialize`rs
2023-06-04 13:15:09 -04:00
Dominion 77154c9d9b I think this is the key solution to the race condition we were missing 2023-04-22 19:31:19 -04:00
Dominion 1f7872d224 Race condition this, mf'er 2023-04-22 19:21:25 -04:00
Dominion fe478be8ae Cleanup this test again 2023-04-22 18:41:11 -04:00
Dominion b3426ae758 Test at commit stage, not prepare stage 2023-04-22 18:32:31 -04:00
Dominion ec068333d4 More swarm protocol test logging 2023-04-22 11:40:11 -04:00
Dominion 783b58aaa3 Additional logging attempting to find cause of flaky tests 2023-04-22 10:51:43 -04:00
Dominion 5f27726e92 Increase swarm protocol test max delays 2023-04-22 10:28:30 -04:00
Dominion 079ab20752 Swarm test framework cleanup 2023-04-22 10:05:53 -04:00
Dominion b83f382f45 Tested swarm controller and fixed some edge cases
- No longer registers for restart unnecessarily
- Fixed infinite wait when committing update
- Fixed unregistering without a registration
- Abort updates if the controller health check fails
2023-04-22 01:02:22 -04:00
Dominion e30799d0f2 Code cleanups 2023-04-21 15:18:47 -04:00
Dominion 1c219ebadd Framework for testing Swarm protocol 2023-04-21 15:11:44 -04:00