Open
Description
Specification
This is not about integration testing, this is about our unit tests
Not all of our tests are passing on Windows/Mac, both in the CI/CD and on matrix-win-1
/matrix-mac-1
. Some of these are due to obvious platform differences (e.g. the usage of /
vs \
), but others may be more difficult to debug.
Failing tests on windows:
tests/bin
/vaults/vaults.test.ts
- should clone and pull a vault
/agent
/start.test.ts
- start in foreground
- start in background
- concurrent starts results in 1 success
- concurrent with bootstrap results in 1 success
- start with existing state
- start when interrupted, requires fresh on next start
- start from recovery code
- start with network configuration
/stop.test.ts
- stopping is idempotent during concurrent calls and STOPPING or DEAD status
- stopping starting agent results in error
/status.test.ts
- status on STARTING, STOPPING, DEAD agent
/secrets/secrets.test.ts
- commandNewDir › should make a directory
- commandNewDirSecret › should add a directory of secrets
/bootstrap.test.ts
- concurrent bootstrapping results in 1 success
- bootstrap when interrupted, requires fresh on next bootstrap
/utils.test.ts
- errors in human and json format
tests/keys/KeyManager.test.ts
- can reset root key pair
- can renew root key pair
tests/network/Proxy.test.ts
- connection to port 0 fails
- open connection to port 0 fails
- closed connection due to ending server
tests/nodes/NodeConnection.test.ts
- should call `killSelf and throw if the server exit's during testUnaryFail
- should call `killSelf and throw if the server kill's during testUnaryFail
- should call `killSelf and throw if the server sigkill's during testUnaryFail
- should call `killSelf and throw if the server exit's during testStreamFail
- should call `killSelf and throw if the server kill's during testStreamFail
- should call `killSelf and throw if the server sigkill's during testStreamFail
tests/vaults
/VaultInternal.test.ts
- does not allow changing to an unrecognised commit
- cannot checkout old commits after branching commit
- can recover from dirty state
- clean errant commits recovering from dirty state
- garbage collection
- can create an existing vault with CreateVaultInternal
/VaultManager.test.ts
- With remote agents › clone vaults from a remote keynode using a vault name
- With remote agents › clone vaults from a remote keynode using a vault name with no history
- With remote agents › clone and pull vaults using a vault id
- With remote agents › should reject Pulling when permissions are not set
- With remote agents › can pull a cloned vault
- With remote agents › manage pulling from different remotes
- With remote agents › throw when trying to commit to a cloned vault
- With remote agents › pullVault respects locking
/utils.test.ts
- EFS can be read recursively
/VaultOps.test.ts
- able to make directories
- deleting a secret
- deleting a secret within a directory
- renaming a secret within a directory
- listing secrets
- adding hidden files and directories
- updating and deleting hidden files and directories
- adding a directory of 1 secret
- adding a directory of 100 secrets with some secrets already existing
Failing tests on Mac (all timeouts, even when only a single test is run):
tests/network/proxy.test.ts
- connection to port 0 fails
- open connection to port 0 fails
tests/bin/agent/start.test.ts
- start with network configuration
Additional context
Tasks
- Group tests by similar failures
- ...
- ...