@@ -503,105 +503,6 @@ describe("AuthClientProvider", () => {
503503 } ) ;
504504 } ) ;
505505
506- describe ( "proxy fetchers" , ( ) => {
507- it ( "should cache proxy fetcher by key" , async ( ) => {
508- const provider = new AuthClientProvider ( {
509- domain : "example.auth0.com" ,
510- createAuthClient : createAuthClientMock
511- } ) ;
512-
513- const fetcher1 = { mock : "fetcher1" } ;
514- const fetcher2 = { mock : "fetcher2" } ;
515-
516- const factory1 = vi . fn ( ) . mockResolvedValue ( fetcher1 ) ;
517- const factory2 = vi . fn ( ) . mockResolvedValue ( fetcher2 ) ;
518-
519- const result1a = await provider . getProxyFetcher ( "key1" , factory1 ) ;
520- const result1b = await provider . getProxyFetcher ( "key1" , factory1 ) ;
521- const result2 = await provider . getProxyFetcher ( "key2" , factory2 ) ;
522-
523- expect ( result1a ) . toBe ( fetcher1 ) ;
524- expect ( result1b ) . toBe ( fetcher1 ) ; // Same fetcher from cache
525- expect ( result1a ) . toBe ( result1b ) ; // From cache
526- expect ( result2 ) . toBe ( fetcher2 ) ;
527- expect ( factory1 ) . toHaveBeenCalledTimes ( 1 ) ; // Only called once
528- expect ( factory2 ) . toHaveBeenCalledTimes ( 1 ) ;
529- } ) ;
530-
531- it ( "should not call factory if fetcher is cached" , async ( ) => {
532- const provider = new AuthClientProvider ( {
533- domain : "example.auth0.com" ,
534- createAuthClient : createAuthClientMock
535- } ) ;
536-
537- const factory = vi . fn ( ) . mockResolvedValue ( { mock : "fetcher" } ) ;
538-
539- await provider . getProxyFetcher ( "key" , factory ) ;
540- await provider . getProxyFetcher ( "key" , factory ) ;
541- await provider . getProxyFetcher ( "key" , factory ) ;
542-
543- expect ( factory ) . toHaveBeenCalledTimes ( 1 ) ;
544- } ) ;
545-
546- it ( "should use LRU behavior for proxy fetchers" , async ( ) => {
547- const provider = new AuthClientProvider ( {
548- domain : "example.auth0.com" ,
549- createAuthClient : createAuthClientMock
550- } ) ;
551-
552- // Fill cache to near capacity (MAX_PROXY_FETCHERS is 100)
553- const factories : { [ key : string ] : any } = { } ;
554- const fetchers : { [ key : string ] : any } = { } ;
555-
556- // Create 99 fetchers to fill most of the cache
557- for ( let i = 0 ; i < 99 ; i ++ ) {
558- const key = `key${ i } ` ;
559- const factory = vi . fn ( ) . mockResolvedValue ( { id : `fetcher-${ i } ` } ) ;
560- factories [ key ] = factory ;
561- fetchers [ key ] = await provider . getProxyFetcher ( key , factory ) ;
562- }
563-
564- // Now we have 99 cached fetchers
565- // Add fetcher A (will be candidate for eviction if we exceed limit)
566- const factoryA = vi . fn ( ) . mockResolvedValue ( { id : "fetcher-a" } ) ;
567- const fetcherA = await provider . getProxyFetcher ( "keyA" , factoryA ) ;
568- expect ( fetcherA . id ) . toBe ( "fetcher-a" ) ;
569- expect ( factoryA ) . toHaveBeenCalledTimes ( 1 ) ;
570-
571- // We now have 100 cached fetchers (at max)
572-
573- // Access A again - should promote it to end
574- const fetcherAAgain = await provider . getProxyFetcher ( "keyA" , factoryA ) ;
575- expect ( fetcherAAgain ) . toBe ( fetcherA ) ;
576- expect ( factoryA ) . toHaveBeenCalledTimes ( 1 ) ; // Still 1 call
577-
578- // Add 2 more fetchers to trigger eviction
579- // This should evict the oldest entries (key0 and key1)
580- const factoryB = vi . fn ( ) . mockResolvedValue ( { id : "fetcher-b" } ) ;
581- const factoryC = vi . fn ( ) . mockResolvedValue ( { id : "fetcher-c" } ) ;
582- await provider . getProxyFetcher ( "keyB" , factoryB ) ;
583- await provider . getProxyFetcher ( "keyC" , factoryC ) ;
584-
585- // Now key0 should be evicted (it was the oldest)
586- const factory0New = vi . fn ( ) . mockResolvedValue ( { id : "fetcher-0-new" } ) ;
587- const _fetcher0Again = await provider . getProxyFetcher (
588- "key0" ,
589- factory0New
590- ) ;
591- // key0 should have been evicted and factory should be called
592- expect ( factory0New ) . toHaveBeenCalledTimes ( 1 ) ;
593-
594- // A should still be cached (it was promoted)
595- const factoryANew = vi . fn ( ) . mockResolvedValue ( { id : "fetcher-a-new" } ) ;
596- const fetcherAAgain2 = await provider . getProxyFetcher (
597- "keyA" ,
598- factoryANew
599- ) ;
600- expect ( fetcherAAgain2 ) . toBe ( fetcherA ) ; // Same instance
601- expect ( factoryANew ) . not . toHaveBeenCalled ( ) ; // Factory not called - was cached
602- } ) ;
603- } ) ;
604-
605506 describe ( "mode detection" , ( ) => {
606507 it ( "should detect static mode" , ( ) => {
607508 const provider = new AuthClientProvider ( {
0 commit comments