Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erronious user in spicedb #5371

Merged
merged 3 commits into from
Nov 4, 2024

Merge remote-tracking branch 'origin/main' into erronious_user_in_spi…

2be22aa
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

Erronious user in spicedb #5371

Merge remote-tracking branch 'origin/main' into erronious_user_in_spi…
2be22aa
Select commit
Loading
Failed to load commit list.
GitHub Actions / Server JUnit Tests succeeded Nov 4, 2024 in 0s

Server JUnit Tests ✅

Tests passed successfully

Report Passed Failed Skipped Time
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.annotations.AMRPropertyNamingStrategyTests.xml 1✅ 600ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.AuthoritiesTests.xml 4✅ 129ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.ArtifactControllerTests.xml 7✅ 2s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.AssetControllerTests.xml 3✅ 1s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.DatasetControllerTests.xml 10✅ 3s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.DocumentControllerTests.xml 8✅ 2s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.ModelConfigurationControllerTests.xml 4✅ 461ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.ModelControllerTests.xml 5✅ 3s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.NotebookSessionControllerTests.xml 4✅ 441ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.ProjectControllerTests.xml 6✅ 1s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.ProvenanceControllerTests.xml 3✅ 2s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.SimulationControllerTests.xml 3✅ 444ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.TDSCodeControllerTests.xml 7✅ 2s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.WorkflowControllerTests.xml 4✅ 497ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.events.EventTest.xml 4✅ 114ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.UserControllerTests.xml 2✅ 38ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.models.InterventionPolicyTests.xml 4✅ 22ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.models.SupportAdditionalPropertiesTests.xml 2✅ 22ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.models.TerariumAssetTests.xml 2✅ 26ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.proxy.ExampleProxyTests.xml 3✅ 70ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.ArtifactServiceTests.xml 7✅ 2s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.CodeServiceTests.xml 7✅ 2s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.DatasetServiceTests.xml 10✅ 5s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.DocumentServiceTests.xml 9✅ 3s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.ModelServiceTests.xml 7✅ 3s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.ProjectSearchServiceTests.xml 5✅ 904ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.TerariumAssetCloneServiceTests.xml 2✅ 2s
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.WorkflowServiceTests.xml 8✅ 976ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.notification.NotificationServiceTests.xml 3✅ 78ms
packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.UserServiceTests.xml 3✅ 142ms

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.annotations.AMRPropertyNamingStrategyTests.xml

1 tests were completed in 600ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.annotations.AMRPropertyNamingStrategyTests 1✅ 600ms

✅ software.uncharted.terarium.hmiserver.annotations.AMRPropertyNamingStrategyTests

✅ testAMRPropertyNamingStrategy()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.AuthoritiesTests.xml

4 tests were completed in 129ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.AuthoritiesTests 4✅ 129ms

✅ software.uncharted.terarium.hmiserver.controller.AuthoritiesTests

✅ testItCanPreauthorizeAuthorities()
✅ testItReturns403WhenPreauthorizedAuthoritiesAreNotPresent()
✅ testItCanPreauthorizeRoles()
✅ testItReturns403WhenPreauthorizedRolesAreNotPresent()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.ArtifactControllerTests.xml

7 tests were completed in 2s with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.dataservice.ArtifactControllerTests 7✅ 2s

✅ software.uncharted.terarium.hmiserver.controller.dataservice.ArtifactControllerTests

✅ testItCanDownloadArtifactAsText()
✅ testItCanUploadArtifact()
✅ testItCanUploadArtifactFromGithub()
✅ testItCanCreateArtifact()
✅ testItCanDeleteArtifact()
✅ testItCanGetArtifact()
✅ testItCanDownloadArtifact()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.AssetControllerTests.xml

3 tests were completed in 1s with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.dataservice.AssetControllerTests 3✅ 1s

✅ software.uncharted.terarium.hmiserver.controller.dataservice.AssetControllerTests

✅ testItCanVerifyAssetNameAvailabilityGenerally()
✅ testErrorConditions()
✅ testItCanVerifyAssetNameAvailabilityInProjects()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.DatasetControllerTests.xml

10 tests were completed in 3s with 10 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.dataservice.DatasetControllerTests 10✅ 3s

✅ software.uncharted.terarium.hmiserver.controller.dataservice.DatasetControllerTests

✅ testItCanGetDataset()
✅ testItCanGetDownloadUrl()
✅ testItCanGetUploadUrl()
✅ testItCanUploadDataset()
✅ testItCanCreateDataset()
✅ testItCanDownloadDataset()
✅ testItCanUploadDatasetCSV()
✅ testItCanUploadDatasetFromGithub()
✅ testItCanDownloadDatasetCSV()
✅ testItCanDeleteDataset()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.DocumentControllerTests.xml

8 tests were completed in 2s with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.dataservice.DocumentControllerTests 8✅ 2s

✅ software.uncharted.terarium.hmiserver.controller.dataservice.DocumentControllerTests

✅ testItCanDeleteDocument()
✅ testItCanUploadDocumentFromGithub()
✅ testItCanGetDocument()
✅ testItCanDownloadDocument()
✅ testItCanUploadDocument()
✅ testItCanDownloadDocumentAsText()
✅ testItCanCreateDocument()
✅ testItCanGetPublicModelWithoutProject()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.ModelConfigurationControllerTests.xml

4 tests were completed in 461ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.dataservice.ModelConfigurationControllerTests 4✅ 461ms

✅ software.uncharted.terarium.hmiserver.controller.dataservice.ModelConfigurationControllerTests

✅ testItCanGetModelConfiguration()
✅ testItCanUpdateModelConfiguration()
✅ testItCanCreateModelConfiguration()
✅ testItCanDeleteModelConfiguration()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.ModelControllerTests.xml

5 tests were completed in 3s with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.dataservice.ModelControllerTests 5✅ 3s

✅ software.uncharted.terarium.hmiserver.controller.dataservice.ModelControllerTests

✅ testItCanDeleteModel()
✅ testItCanGetModelDescription()
✅ testItCanUpdateModel()
✅ testItCanCreateModel()
✅ testItCanGetModel()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.NotebookSessionControllerTests.xml

4 tests were completed in 441ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.dataservice.NotebookSessionControllerTests 4✅ 441ms

✅ software.uncharted.terarium.hmiserver.controller.dataservice.NotebookSessionControllerTests

✅ testItCanDeleteNotebookSession()
✅ testItCanCreateNotebookSession()
✅ testItCanGetNotebookSession()
✅ testItCanGetNotebookSessions()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.ProjectControllerTests.xml

6 tests were completed in 1s with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.dataservice.ProjectControllerTests 6✅ 1s

✅ software.uncharted.terarium.hmiserver.controller.dataservice.ProjectControllerTests

✅ testItCanCreateProject()
✅ testItCanUpdateProject()
✅ testItCanCreateProjectAsset()
✅ testItCanDeleteProject()
✅ testItCanGetProject()
✅ testItCanDeleteProjectAsset()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.ProvenanceControllerTests.xml

3 tests were completed in 2s with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.dataservice.ProvenanceControllerTests 3✅ 2s

✅ software.uncharted.terarium.hmiserver.controller.dataservice.ProvenanceControllerTests

✅ testItCanSearchProvenanceConnectedNodes()
✅ testItCanSearchProvenanceModelsFromCode()
✅ testItCanCreateProvenance()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.SimulationControllerTests.xml

3 tests were completed in 444ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.dataservice.SimulationControllerTests 3✅ 444ms

✅ software.uncharted.terarium.hmiserver.controller.dataservice.SimulationControllerTests

✅ testItCanGetSimulation()
✅ testItCanCreateSimulation()
✅ testItCanDeleteSimulation()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.TDSCodeControllerTests.xml

7 tests were completed in 2s with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.dataservice.TDSCodeControllerTests 7✅ 2s

✅ software.uncharted.terarium.hmiserver.controller.dataservice.TDSCodeControllerTests

✅ testItCanUploadCodeFromGithub()
✅ testItCanUploadCode()
✅ testItCanUploadCodeFromGithubRepo()
✅ testItCanGetCode()
✅ testItCanCreateCode()
✅ testItCanDeleteCode()
✅ testItCanDownloadCodeAsText()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.dataservice.WorkflowControllerTests.xml

4 tests were completed in 497ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.dataservice.WorkflowControllerTests 4✅ 497ms

✅ software.uncharted.terarium.hmiserver.controller.dataservice.WorkflowControllerTests

✅ testItCanDeleteWorkflow()
✅ testItCanGetWorkflow()
✅ testItCanUpdateWorkflow()
✅ testItCanCreateWorkflow()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.events.EventTest.xml

4 tests were completed in 114ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.events.EventTest 4✅ 114ms

✅ software.uncharted.terarium.hmiserver.controller.events.EventTest

✅ canEventBeSavedThenRetrievedByUserId()
✅ canEventBeSavedThenRetrievedByLike()
✅ canEventBeSavedThenRetrievedWithByProjectId()
✅ canEventBeSavedThenRetrieved()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.controller.UserControllerTests.xml

2 tests were completed in 38ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.controller.UserControllerTests 2✅ 38ms

✅ software.uncharted.terarium.hmiserver.controller.UserControllerTests

✅ testItReturnsOkOnAuthorized()
✅ testItReturns401OnUnAuthorized()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.models.InterventionPolicyTests.xml

4 tests were completed in 22ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.models.InterventionPolicyTests 4✅ 22ms

✅ software.uncharted.terarium.hmiserver.models.InterventionPolicyTests

✅ testValidateSuccess()
✅ testValidateWithNegative()
✅ testValidateWithDuplicateInIntervention()
✅ testValidateWithDuplicateInPolicy()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.models.SupportAdditionalPropertiesTests.xml

2 tests were completed in 22ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.models.SupportAdditionalPropertiesTests 2✅ 22ms

✅ software.uncharted.terarium.hmiserver.models.SupportAdditionalPropertiesTests

✅ testSupportAdditionalProperties()
✅ testSupportAdditionalPropertiesWithNested()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.models.TerariumAssetTests.xml

2 tests were completed in 26ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.models.TerariumAssetTests 2✅ 26ms

✅ software.uncharted.terarium.hmiserver.models.TerariumAssetTests

✅ testSerializeWithoutTerariumFields()
✅ testCustomizeSerializeWithoutTerariumFields()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.proxy.ExampleProxyTests.xml

3 tests were completed in 70ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.proxy.ExampleProxyTests 3✅ 70ms

✅ software.uncharted.terarium.hmiserver.proxy.ExampleProxyTests

✅ testItLogsProxyResponses(CapturedOutput)
✅ testItCanGetExample()
✅ testItLogsProxyRequests(CapturedOutput)

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.ArtifactServiceTests.xml

7 tests were completed in 2s with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.service.data.ArtifactServiceTests 7✅ 2s

✅ software.uncharted.terarium.hmiserver.service.data.ArtifactServiceTests

✅ testItCanGetArtifacts()
✅ testItCanGetArtifactById()
✅ testItCanUpdateArtifact()
✅ testItCanCreateArtifact()
✅ testItCanDeleteArtifact()
✅ testItCanCloneArtifact()
✅ testItCantCreateDuplicates()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.CodeServiceTests.xml

7 tests were completed in 2s with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.service.data.CodeServiceTests 7✅ 2s

✅ software.uncharted.terarium.hmiserver.service.data.CodeServiceTests

✅ testItCanUpdateCode()
✅ testItCanCloneCode()
✅ testItCanCreateCode()
✅ testItCantCreateDuplicates()
✅ testItCanDeleteCode()
✅ testItCanGetCodeById()
✅ testItCanGetCodes()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.DatasetServiceTests.xml

10 tests were completed in 5s with 10 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.service.data.DatasetServiceTests 10✅ 5s

✅ software.uncharted.terarium.hmiserver.service.data.DatasetServiceTests

✅ testItCanCloneDataset()
✅ testItCanGetDataset()
✅ testItCanCreateDatasetAndAddColumnsLater()
✅ testItCanSyncToNewIndex()
✅ testItCanCreateDataset()
✅ testItCanGetDatasets()
✅ testItCanUpdateDataset()
✅ testItCanSearchAssets()
✅ testItCantCreateDuplicates()
✅ testItCanDeleteDataset()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.DocumentServiceTests.xml

9 tests were completed in 3s with 9 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.service.data.DocumentServiceTests 9✅ 3s

✅ software.uncharted.terarium.hmiserver.service.data.DocumentServiceTests

✅ testItCanSyncToNewIndex()
✅ testItCanGetDocumentAssets()
✅ testItCanGetDocumentAsset()
✅ testItCanDeleteDocumentAsset()
✅ testItCanUpdateDocumentAsset()
✅ testItCanSearchAssets()
✅ testItCantCreateDuplicates()
✅ testItCanCloneDocumentAsset()
✅ testItCanCreateDocument()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.ModelServiceTests.xml

7 tests were completed in 3s with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.service.data.ModelServiceTests 7✅ 3s

✅ software.uncharted.terarium.hmiserver.service.data.ModelServiceTests

✅ testItCanDeleteModel()
✅ testItCanGetModelById()
✅ testItCanUpdateModel()
✅ testItCanCreateModel()
✅ testItCantCreateDuplicates()
✅ testItCanCloneModel()
✅ testItCanGetModels()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.ProjectSearchServiceTests.xml

5 tests were completed in 904ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.service.data.ProjectSearchServiceTests 5✅ 904ms

✅ software.uncharted.terarium.hmiserver.service.data.ProjectSearchServiceTests

✅ testItCanSearchPublicProject()
✅ testPermissionsWithMultipleProjects()
✅ testItCanSearchPrivateProjectAsOwner()
✅ testItCanSearchPrivateProjectAsReader()
✅ testItCanIndexProject()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.TerariumAssetCloneServiceTests.xml

2 tests were completed in 2s with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.service.data.TerariumAssetCloneServiceTests 2✅ 2s

✅ software.uncharted.terarium.hmiserver.service.data.TerariumAssetCloneServiceTests

✅ testItCanCloneAndPersistAssets()
✅ testItCanExportImportProject()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.data.WorkflowServiceTests.xml

8 tests were completed in 976ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.service.data.WorkflowServiceTests 8✅ 976ms

✅ software.uncharted.terarium.hmiserver.service.data.WorkflowServiceTests

✅ testItCanDeleteWorkflow()
✅ testItCanCloneWorkflow()
✅ testItCanGetWorkflows()
✅ testItCanGetWorkflow()
✅ testWorkflowsAreOpaque()
✅ testItCanUpdateWorkflow()
✅ testItCanCreateWorkflow()
✅ testItCantCreateDuplicates()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.notification.NotificationServiceTests.xml

3 tests were completed in 78ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.service.notification.NotificationServiceTests 3✅ 78ms

✅ software.uncharted.terarium.hmiserver.service.notification.NotificationServiceTests

✅ testItCanCreateNotificationEvent()
✅ testItCanCreateNotificationGroup()
✅ testItCanAckNotificationGroup()

✅ packages/server/build/test-results/test/TEST-software.uncharted.terarium.hmiserver.service.UserServiceTests.xml

3 tests were completed in 142ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
software.uncharted.terarium.hmiserver.service.UserServiceTests 3✅ 142ms

✅ software.uncharted.terarium.hmiserver.service.UserServiceTests

✅ testItCreatesAndUpdateAndCachesUsers()
✅ testItCreatesAndCachesUsers()
✅ testItCachesUsers()