11import * as NodeServices from "@effect/platform-node/NodeServices" ;
2- import { expect , it } from "@effect/vitest" ;
2+ import { assert , it } from "@effect/vitest" ;
33import * as Cause from "effect/Cause" ;
44import * as Deferred from "effect/Deferred" ;
55import * as Effect from "effect/Effect" ;
66import * as FileSystem from "effect/FileSystem" ;
77import * as Layer from "effect/Layer" ;
8+ import * as Option from "effect/Option" ;
89import * as Ref from "effect/Ref" ;
910import * as PlatformError from "effect/PlatformError" ;
1011
@@ -145,13 +146,13 @@ const makeConcurrentCreateSecretStoreLayer = () =>
145146 ) ;
146147
147148it . layer ( NodeServices . layer ) ( "ServerSecretStore.layer" , ( it ) => {
148- it . effect ( "returns null when a secret file does not exist" , ( ) =>
149+ it . effect ( "returns Option.none when a secret file does not exist" , ( ) =>
149150 Effect . gen ( function * ( ) {
150151 const secretStore = yield * ServerSecretStore . ServerSecretStore ;
151152
152153 const secret = yield * secretStore . get ( "missing-secret" ) ;
153154
154- expect ( secret ) . toBeNull ( ) ;
155+ assert . isTrue ( Option . isNone ( secret ) ) ;
155156 } ) . pipe ( Effect . provide ( makeServerSecretStoreLayer ( ) ) ) ,
156157 ) ;
157158
@@ -162,7 +163,7 @@ it.layer(NodeServices.layer)("ServerSecretStore.layer", (it) => {
162163 const first = yield * secretStore . getOrCreateRandom ( "session-signing-key" , 32 ) ;
163164 const second = yield * secretStore . getOrCreateRandom ( "session-signing-key" , 32 ) ;
164165
165- expect ( Array . from ( second ) ) . toEqual ( Array . from ( first ) ) ;
166+ assert . deepEqual ( Array . from ( second ) , Array . from ( first ) ) ;
166167 } ) . pipe ( Effect . provide ( makeServerSecretStoreLayer ( ) ) ) ,
167168 ) ;
168169
@@ -178,10 +179,10 @@ it.layer(NodeServices.layer)("ServerSecretStore.layer", (it) => {
178179 { concurrency : "unbounded" } ,
179180 ) ;
180181 const persisted = yield * secretStore . get ( "session-signing-key" ) ;
182+ const persistedBytes = Option . getOrThrow ( persisted ) ;
181183
182- expect ( persisted ) . not . toBeNull ( ) ;
183- expect ( Array . from ( first ) ) . toEqual ( Array . from ( persisted ?? new Uint8Array ( ) ) ) ;
184- expect ( Array . from ( second ) ) . toEqual ( Array . from ( persisted ?? new Uint8Array ( ) ) ) ;
184+ assert . deepEqual ( Array . from ( first ) , Array . from ( persistedBytes ) ) ;
185+ assert . deepEqual ( Array . from ( second ) , Array . from ( persistedBytes ) ) ;
185186 } ) . pipe ( Effect . provide ( makeConcurrentCreateSecretStoreLayer ( ) ) ) ,
186187 ) ;
187188
@@ -217,10 +218,10 @@ it.layer(NodeServices.layer)("ServerSecretStore.layer", (it) => {
217218
218219 yield * secretStore . set ( "session-signing-key" , Uint8Array . from ( [ 1 , 2 , 3 ] ) ) ;
219220
220- expect ( chmodCalls . some ( ( call ) => call . mode === 0o700 && call . path . endsWith ( "/secrets" ) ) ) . toBe (
221- true ,
221+ assert . isTrue (
222+ chmodCalls . some ( ( call ) => call . mode === 0o700 && call . path . endsWith ( "/secrets" ) ) ,
222223 ) ;
223- expect ( chmodCalls . filter ( ( call ) => call . mode === 0o600 ) . length ) . toBeGreaterThanOrEqual ( 2 ) ;
224+ assert . isAtLeast ( chmodCalls . filter ( ( call ) => call . mode === 0o600 ) . length , 2 ) ;
224225 } ) . pipe ( Effect . provide ( NodeServices . layer ) ) ,
225226 ) ;
226227
@@ -230,10 +231,10 @@ it.layer(NodeServices.layer)("ServerSecretStore.layer", (it) => {
230231
231232 const error = yield * Effect . flip ( secretStore . getOrCreateRandom ( "session-signing-key" , 32 ) ) ;
232233
233- expect ( error ) . toBeInstanceOf ( ServerSecretStore . SecretStoreError ) ;
234- expect ( error . message ) . toContain ( "Failed to read secret session-signing-key." ) ;
235- expect ( error . cause ) . toBeInstanceOf ( PlatformError . PlatformError ) ;
236- expect ( ( error . cause as PlatformError . PlatformError ) . reason . _tag ) . toBe ( "PermissionDenied" ) ;
234+ assert . instanceOf ( error , ServerSecretStore . SecretStoreError ) ;
235+ assert . include ( error . message , "Failed to read secret session-signing-key." ) ;
236+ assert . instanceOf ( error . cause , PlatformError . PlatformError ) ;
237+ assert . equal ( ( error . cause as PlatformError . PlatformError ) . reason . _tag , "PermissionDenied" ) ;
237238 } ) . pipe ( Effect . provide ( makePermissionDeniedSecretStoreLayer ( ) ) ) ,
238239 ) ;
239240
@@ -245,10 +246,10 @@ it.layer(NodeServices.layer)("ServerSecretStore.layer", (it) => {
245246 secretStore . set ( "session-signing-key" , Uint8Array . from ( [ 1 , 2 , 3 ] ) ) ,
246247 ) ;
247248
248- expect ( error ) . toBeInstanceOf ( ServerSecretStore . SecretStoreError ) ;
249- expect ( error . message ) . toContain ( "Failed to persist secret session-signing-key." ) ;
250- expect ( error . cause ) . toBeInstanceOf ( PlatformError . PlatformError ) ;
251- expect ( ( error . cause as PlatformError . PlatformError ) . reason . _tag ) . toBe ( "PermissionDenied" ) ;
249+ assert . instanceOf ( error , ServerSecretStore . SecretStoreError ) ;
250+ assert . include ( error . message , "Failed to persist secret session-signing-key." ) ;
251+ assert . instanceOf ( error . cause , PlatformError . PlatformError ) ;
252+ assert . equal ( ( error . cause as PlatformError . PlatformError ) . reason . _tag , "PermissionDenied" ) ;
252253 } ) . pipe ( Effect . provide ( makeRenameFailureSecretStoreLayer ( ) ) ) ,
253254 ) ;
254255
@@ -258,10 +259,10 @@ it.layer(NodeServices.layer)("ServerSecretStore.layer", (it) => {
258259
259260 const error = yield * Effect . flip ( secretStore . remove ( "session-signing-key" ) ) ;
260261
261- expect ( error ) . toBeInstanceOf ( ServerSecretStore . SecretStoreError ) ;
262- expect ( error . message ) . toContain ( "Failed to remove secret session-signing-key." ) ;
263- expect ( error . cause ) . toBeInstanceOf ( PlatformError . PlatformError ) ;
264- expect ( ( error . cause as PlatformError . PlatformError ) . reason . _tag ) . toBe ( "PermissionDenied" ) ;
262+ assert . instanceOf ( error , ServerSecretStore . SecretStoreError ) ;
263+ assert . include ( error . message , "Failed to remove secret session-signing-key." ) ;
264+ assert . instanceOf ( error . cause , PlatformError . PlatformError ) ;
265+ assert . equal ( ( error . cause as PlatformError . PlatformError ) . reason . _tag , "PermissionDenied" ) ;
265266 } ) . pipe ( Effect . provide ( makeRemoveFailureSecretStoreLayer ( ) ) ) ,
266267 ) ;
267268} ) ;
0 commit comments