@@ -134,4 +134,66 @@ public async Task ServerExecuteLease()
134134 Assert . Equal ( "abc def" , value4 ) ;
135135 }
136136 }
137+
138+ [ Fact ]
139+ public async Task DBExecuteLeaseExplicit ( )
140+ {
141+ using var conn = Create ( ) ;
142+
143+ var db = conn . GetDatabase ( ) ;
144+ var key = Me ( ) ;
145+
146+ // sync tests
147+ {
148+ db . StringSet ( key , "hello world" ) ;
149+
150+ using var lease = db . ExecuteLeaseExplicit ( "GET" , new [ ] { ( RedisKey ) key } , new [ ] { ( RedisValue ) key } ) ;
151+ Assert . NotNull ( lease ) ;
152+
153+ var value = lease . DecodeString ( ) ;
154+ Assert . Equal ( "hello world" , value ) ;
155+ }
156+
157+ // async tests
158+ {
159+ await db . StringSetAsync ( key , "abc def" ) ;
160+
161+ using var lease = await db . ExecuteLeaseExplicitAsync ( "GET" , new [ ] { ( RedisKey ) key } , new [ ] { ( RedisValue ) key } ) ;
162+ Assert . NotNull ( lease ) ;
163+
164+ var value = lease . DecodeString ( ) ;
165+ Assert . Equal ( "abc def" , value ) ;
166+ }
167+ }
168+
169+ [ Fact ]
170+ public async Task ServerExecuteLeaseExplicit ( )
171+ {
172+ using var conn = Create ( ) ;
173+
174+ var server = conn . GetServer ( conn . GetEndPoints ( ) . First ( ) ) ;
175+ var key = Me ( ) ;
176+
177+ // sync tests
178+ {
179+ server . Execute ( "SET" , key , "hello world" ) ;
180+
181+ using var lease = server . ExecuteLeaseExplicit ( "GET" , new [ ] { ( RedisKey ) key } , new [ ] { ( RedisValue ) key } ) ;
182+ Assert . NotNull ( lease ) ;
183+
184+ var value = lease . DecodeString ( ) ;
185+ Assert . Equal ( "hello world" , value ) ;
186+ }
187+
188+ // async tests
189+ {
190+ await server . ExecuteAsync ( "SET" , key , "foo bar" ) ;
191+
192+ using var lease = await server . ExecuteLeaseExplicitAsync ( "GET" , new [ ] { ( RedisKey ) key } , new [ ] { ( RedisValue ) key } ) ;
193+ Assert . NotNull ( lease ) ;
194+
195+ var value = lease . DecodeString ( ) ;
196+ Assert . Equal ( "foo bar" , value ) ;
197+ }
198+ }
137199}
0 commit comments