@@ -681,14 +681,21 @@ public async Task ForgetAsync()
681
681
public void Get ( )
682
682
{
683
683
var commands = new JsonCommands ( redisFixture . Redis . GetDatabase ( ) ) ;
684
- var keys = CreateKeyNames ( 2 ) ;
684
+ var keys = CreateKeyNames ( 3 ) ;
685
685
var key = keys [ 0 ] ;
686
686
var complexKey = keys [ 1 ] ;
687
+ var caseInsensitiveKey = keys [ 2 ] ;
687
688
commands . Set ( key , "$" , new Person ( ) { Age = 35 , Name = "Alice" } ) ;
688
689
commands . Set ( complexKey , "$" , new { a = new Person ( ) { Age = 35 , Name = "Alice" } , b = new { a = new Person ( ) { Age = 35 , Name = "Alice" } } } ) ;
690
+ commands . Set ( caseInsensitiveKey , "$" , new { name = "Alice" , AGE = 35 } ) ;
689
691
var result = commands . Get < Person > ( key ) ;
690
692
Assert . Equal ( "Alice" , result ! . Name ) ;
691
693
Assert . Equal ( 35 , result . Age ) ;
694
+ var jsonOptions = new JsonSerializerOptions { PropertyNameCaseInsensitive = true } ;
695
+ result = commands . Get < Person > ( caseInsensitiveKey , "$" , jsonOptions ) ;
696
+ Assert . NotNull ( result ) ;
697
+ Assert . Equal ( "Alice" , result ! . Name ) ;
698
+ Assert . Equal ( 35 , result . Age ) ;
692
699
var people = commands . GetEnumerable < Person > ( complexKey , "$..a" ) . ToArray ( ) ;
693
700
Assert . Equal ( 2 , people . Length ) ;
694
701
Assert . Equal ( "Alice" , people [ 0 ] ! . Name ) ;
@@ -701,14 +708,21 @@ public void Get()
701
708
public async Task GetAsync ( )
702
709
{
703
710
var commands = new JsonCommandsAsync ( redisFixture . Redis . GetDatabase ( ) ) ;
704
- var keys = CreateKeyNames ( 2 ) ;
711
+ var keys = CreateKeyNames ( 3 ) ;
705
712
var key = keys [ 0 ] ;
706
713
var complexKey = keys [ 1 ] ;
714
+ var caseInsensitiveKey = keys [ 2 ] ;
707
715
await commands . SetAsync ( key , "$" , new Person ( ) { Age = 35 , Name = "Alice" } ) ;
708
716
await commands . SetAsync ( complexKey , "$" , new { a = new Person ( ) { Age = 35 , Name = "Alice" } , b = new { a = new Person ( ) { Age = 35 , Name = "Alice" } } } ) ;
717
+ await commands . SetAsync ( caseInsensitiveKey , "$" , new { name = "Alice" , AGE = 35 } ) ;
709
718
var result = await commands . GetAsync < Person > ( key ) ;
710
719
Assert . Equal ( "Alice" , result ! . Name ) ;
711
720
Assert . Equal ( 35 , result . Age ) ;
721
+ var jsonOptions = new JsonSerializerOptions { PropertyNameCaseInsensitive = true } ;
722
+ result = await commands . GetAsync < Person > ( caseInsensitiveKey , "$" , jsonOptions ) ;
723
+ Assert . NotNull ( result ) ;
724
+ Assert . Equal ( "Alice" , result ! . Name ) ;
725
+ Assert . Equal ( 35 , result . Age ) ;
712
726
var people = ( await commands . GetEnumerableAsync < Person > ( complexKey , "$..a" ) ) . ToArray ( ) ;
713
727
Assert . Equal ( 2 , people . Length ) ;
714
728
Assert . Equal ( "Alice" , people [ 0 ] ! . Name ) ;
@@ -730,8 +744,8 @@ public void MSet()
730
744
new KeyPathValue ( key1 , "$" , new { a = "hello" } ) ,
731
745
new KeyPathValue ( key2 , "$" , new { a = "world" } )
732
746
} ;
733
- commands . MSet ( values )
734
- ;
747
+ commands . MSet ( values ) ;
748
+
735
749
var result = commands . MGet ( keys . Select ( x => new RedisKey ( x ) ) . ToArray ( ) , "$.a" ) ;
736
750
737
751
Assert . Equal ( "[\" hello\" ]" , result [ 0 ] . ToString ( ) ) ;
@@ -753,8 +767,8 @@ public async Task MSetAsync()
753
767
new KeyPathValue ( key1 , "$" , new { a = "hello" } ) ,
754
768
new KeyPathValue ( key2 , "$" , new { a = "world" } )
755
769
} ;
756
- await commands . MSetAsync ( values )
757
- ;
770
+ await commands . MSetAsync ( values ) ;
771
+
758
772
var result = await commands . MGetAsync ( keys . Select ( x => new RedisKey ( x ) ) . ToArray ( ) , "$.a" ) ;
759
773
760
774
Assert . Equal ( "[\" hello\" ]" , result [ 0 ] . ToString ( ) ) ;
0 commit comments