@@ -34,27 +34,6 @@ const mockRedisAclListResponse_2: string[] = [
34
34
'user test_2 on nopass ~* &* +@all' ,
35
35
] ;
36
36
37
- const mockRedisModulesResponse_1 = [
38
- { name : 'ai' , ver : 10000 } ,
39
- { name : 'graph' , ver : 10000 } ,
40
- { name : 'rg' , ver : 10000 } ,
41
- { name : 'bf' , ver : 10000 } ,
42
- { name : 'ReJSON' , ver : 10000 } ,
43
- { name : 'search' , ver : 10000 } ,
44
- { name : 'timeseries' , ver : 10000 } ,
45
- { name : 'customModule' , ver : 10000 } ,
46
- ] . map ( ( item ) => ( [ ] . concat ( ...Object . entries ( item ) ) ) ) ;
47
-
48
- const mockRedisModulesResponse_2 = [
49
- { name : 'ai' , ver : 10000 } ,
50
- { name : 'graph' , ver : 10000 } ,
51
- { name : 'rg' , ver : 10000 } ,
52
- { name : 'bf' , ver : 10000 } ,
53
- { name : 'ReJSON' , ver : 10000 } ,
54
- { name : 'timeseries' , ver : 10000 } ,
55
- { name : 'customModule' , ver : 10000 } ,
56
- ] . map ( ( item ) => ( [ ] . concat ( ...Object . entries ( item ) ) ) ) ;
57
-
58
37
const mockFTListResponse_1 = [ ] ;
59
38
const mockFTListResponse_2 = [ 'idx' ] ;
60
39
@@ -566,25 +545,7 @@ describe('RecommendationProvider', () => {
566
545
} ) ;
567
546
568
547
describe ( 'determineRediSearchRecommendation' , ( ) => {
569
- it ( 'should not return rediSearch recommendation when rediSearch module was download with indexes' , async ( ) => {
570
- when ( nodeClient . sendCommand )
571
- . calledWith ( jasmine . objectContaining ( { name : 'module' } ) )
572
- . mockResolvedValue ( mockRedisModulesResponse_1 ) ;
573
-
574
- when ( nodeClient . sendCommand )
575
- . calledWith ( jasmine . objectContaining ( { name : 'FT._LIST' } ) )
576
- . mockResolvedValue ( mockFTListResponse_2 ) ;
577
-
578
- const redisServerRecommendation = await service
579
- . determineRediSearchRecommendation ( nodeClient , [ mockJSONKey ] ) ;
580
- expect ( redisServerRecommendation ) . toEqual ( null ) ;
581
- } ) ;
582
-
583
548
it ( 'should return rediSearch recommendation when there is JSON key' , async ( ) => {
584
- when ( nodeClient . sendCommand )
585
- . calledWith ( jasmine . objectContaining ( { name : 'module' } ) )
586
- . mockResolvedValue ( mockRedisModulesResponse_1 ) ;
587
-
588
549
when ( nodeClient . sendCommand )
589
550
. calledWith ( jasmine . objectContaining ( { name : 'FT._LIST' } ) )
590
551
. mockResolvedValue ( mockFTListResponse_1 ) ;
@@ -595,10 +556,6 @@ describe('RecommendationProvider', () => {
595
556
} ) ;
596
557
597
558
it ( 'should return rediSearch recommendation when there is huge string key' , async ( ) => {
598
- when ( nodeClient . sendCommand )
599
- . calledWith ( jasmine . objectContaining ( { name : 'module' } ) )
600
- . mockResolvedValue ( mockRedisModulesResponse_1 ) ;
601
-
602
559
when ( nodeClient . sendCommand )
603
560
. calledWith ( jasmine . objectContaining ( { name : 'FT._LIST' } ) )
604
561
. mockResolvedValue ( mockFTListResponse_1 ) ;
@@ -609,10 +566,6 @@ describe('RecommendationProvider', () => {
609
566
} ) ;
610
567
611
568
it ( 'should not return rediSearch recommendation when there is small string key' , async ( ) => {
612
- when ( nodeClient . sendCommand )
613
- . calledWith ( jasmine . objectContaining ( { name : 'module' } ) )
614
- . mockResolvedValue ( mockRedisModulesResponse_1 ) ;
615
-
616
569
when ( nodeClient . sendCommand )
617
570
. calledWith ( jasmine . objectContaining ( { name : 'FT._LIST' } ) )
618
571
. mockResolvedValue ( mockFTListResponse_1 ) ;
@@ -622,31 +575,33 @@ describe('RecommendationProvider', () => {
622
575
expect ( redisServerRecommendation ) . toEqual ( null ) ;
623
576
} ) ;
624
577
625
- it ( 'should not return rediSearch recommendation when ft command execute with error' , async ( ) => {
626
- when ( nodeClient . sendCommand )
627
- . calledWith ( jasmine . objectContaining ( { name : 'module' } ) )
628
- . mockResolvedValue ( mockRedisModulesResponse_1 ) ;
629
-
578
+ it ( 'should not return rediSearch recommendation when there are no indexes' , async ( ) => {
630
579
when ( nodeClient . sendCommand )
631
580
. calledWith ( jasmine . objectContaining ( { name : 'FT._LIST' } ) )
632
- . mockRejectedValue ( "some error" ) ;
581
+ . mockResolvedValue ( mockFTListResponse_2 ) ;
633
582
634
583
const redisServerRecommendation = await service
635
584
. determineRediSearchRecommendation ( nodeClient , [ mockJSONKey ] ) ;
636
585
expect ( redisServerRecommendation ) . toEqual ( null ) ;
637
586
} ) ;
638
587
639
- it ( 'should not return rediSearch recommendation when module command execute with error' , async ( ) => {
588
+ it ( 'should ignore errors when ft command execute with error' , async ( ) => {
640
589
when ( nodeClient . sendCommand )
641
- . calledWith ( jasmine . objectContaining ( { name : 'module' } ) )
642
- . mockResolvedValue ( "some error" ) ;
590
+ . calledWith ( jasmine . objectContaining ( { name : 'FT._LIST' } ) )
591
+ . mockRejectedValue ( "some error" ) ;
592
+
593
+ const redisServerRecommendation = await service
594
+ . determineRediSearchRecommendation ( nodeClient , [ mockJSONKey ] ) ;
595
+ expect ( redisServerRecommendation ) . toEqual ( { name : RECOMMENDATION_NAMES . REDIS_SEARCH } ) ;
596
+ } ) ;
643
597
598
+ it ( 'should ignore errors when ft command execute with error' , async ( ) => {
644
599
when ( nodeClient . sendCommand )
645
600
. calledWith ( jasmine . objectContaining ( { name : 'FT._LIST' } ) )
646
- . mockResolvedValue ( mockFTListResponse_1 ) ;
601
+ . mockRejectedValue ( "some error" ) ;
647
602
648
603
const redisServerRecommendation = await service
649
- . determineRediSearchRecommendation ( nodeClient , [ mockJSONKey ] ) ;
604
+ . determineRediSearchRecommendation ( nodeClient , [ mockRediSearchStringKey_2 ] ) ;
650
605
expect ( redisServerRecommendation ) . toEqual ( null ) ;
651
606
} ) ;
652
607
} ) ;
0 commit comments