@@ -1131,7 +1131,7 @@ def test_multi_get_with_values(
11311131 int_encoded = serializer .serialize (Key ("k2" ), 42 )
11321132 list_encoded = serializer .serialize (Key ("k3" ), [1 , 2 ])
11331133
1134- memcache_socket .get_response . side_effect = [
1134+ memcache_socket .meta_multiget . return_value = [
11351135 Value (
11361136 size = len (str_encoded .data ),
11371137 value = str_encoded .data ,
@@ -1151,12 +1151,9 @@ def test_multi_get_with_values(
11511151
11521152 results = cache_client .multi_get (keys = [Key ("k1" ), Key ("k2" ), Key ("k3" )])
11531153
1154- calls = memcache_socket .send_meta_get .call_args_list
1155- assert len (calls ) == 3
1156- assert calls [0 ][0 ][0 ] == "k1"
1157- assert calls [1 ][0 ][0 ] == "k2"
1158- assert calls [2 ][0 ][0 ] == "k3"
1159- assert memcache_socket .get_response .call_count == 3
1154+ memcache_socket .meta_multiget .assert_called_once ()
1155+ keys_sent = memcache_socket .meta_multiget .call_args .args [0 ]
1156+ assert keys_sent == ["k1" , "k2" , "k3" ]
11601157 assert results == {
11611158 Key ("k1" ): "hello" ,
11621159 Key ("k2" ): 42 ,
@@ -1167,8 +1164,8 @@ def test_multi_get_with_values(
11671164def test_multi_get_with_touch_ttl (
11681165 memcache_socket : MemcacheSocket , cache_client : CacheClient
11691166) -> None :
1170- """Test multi_get passes touch_ttl through to the pipelining path ."""
1171- memcache_socket .get_response . side_effect = [
1167+ """Test multi_get passes touch_ttl through to meta_multiget ."""
1168+ memcache_socket .meta_multiget . return_value = [
11721169 Miss (),
11731170 Miss (),
11741171 ]
@@ -1178,54 +1175,49 @@ def test_multi_get_with_touch_ttl(
11781175 touch_ttl = 300 ,
11791176 )
11801177
1181- calls = memcache_socket .send_meta_get .call_args_list
1182- assert len (calls ) == 2
1183- assert calls [0 ][0 ][0 ] == "a"
1184- assert calls [1 ][0 ][0 ] == "b"
1185- # Verify the flags contain the touch TTL
1186- for c in calls :
1187- flags = c [0 ][1 ]
1188- assert flags is not None
1189- assert flags .cache_ttl == 300
1178+ memcache_socket .meta_multiget .assert_called_once ()
1179+ keys_sent = memcache_socket .meta_multiget .call_args .args [0 ]
1180+ flags = memcache_socket .meta_multiget .call_args .kwargs ["request_flags" ]
1181+ assert keys_sent == ["a" , "b" ]
1182+ assert flags is not None
1183+ assert flags .cache_ttl == 300
11901184 assert results == {Key ("a" ): None , Key ("b" ): None }
11911185
11921186
11931187def test_multi_get_with_recache (
11941188 memcache_socket : MemcacheSocket , cache_client : CacheClient
11951189) -> None :
1196- """Test multi_get with recache_policy passes recache_ttl in flags."""
1197- memcache_socket .get_response . side_effect = [Miss ()]
1190+ """Test multi_get with recache_policy passes recache_ttl in request flags."""
1191+ memcache_socket .meta_multiget . return_value = [Miss ()]
11981192
11991193 cache_client .multi_get (
12001194 keys = [Key ("x" )],
12011195 recache_policy = RecachePolicy (ttl = 60 ),
12021196 )
12031197
1204- calls = memcache_socket .send_meta_get .call_args_list
1205- assert len (calls ) == 1
1206- flags = calls [0 ][0 ][1 ]
1198+ memcache_socket .meta_multiget .assert_called_once ()
1199+ flags = memcache_socket .meta_multiget .call_args .kwargs ["request_flags" ]
12071200 assert flags is not None
12081201 assert flags .recache_ttl == 60
12091202
12101203
12111204def test_meta_multiget_no_reply (
12121205 memcache_socket : MemcacheSocket , cache_client : CacheClient
12131206) -> None :
1214- """Test meta_multiget with no_reply flag uses pipelining path correctly.
1207+ """Test meta_multiget with no_reply uses socket batch API."""
1208+ memcache_socket .meta_multiget .return_value = [
1209+ Success (flags = ResponseFlags ()),
1210+ Success (flags = ResponseFlags ()),
1211+ ]
12151212
1216- With no_reply on mg, the executor skips get_response and returns Success.
1217- """
12181213 results = cache_client .meta_multiget (
12191214 keys = [Key ("a" ), Key ("b" )],
12201215 flags = RequestFlags (no_reply = True , cache_ttl = 60 ),
12211216 )
12221217
1223- calls = memcache_socket .send_meta_get .call_args_list
1224- assert len (calls ) == 2
1225- assert calls [0 ][0 ][0 ] == "a"
1226- assert calls [1 ][0 ][0 ] == "b"
1227- # no_reply: get_response not called, executor returns Success directly
1228- memcache_socket .get_response .assert_not_called ()
1218+ memcache_socket .meta_multiget .assert_called_once ()
1219+ keys_sent = memcache_socket .meta_multiget .call_args .args [0 ]
1220+ assert keys_sent == ["a" , "b" ]
12291221 assert all (isinstance (r , Success ) for r in results .values ())
12301222
12311223
0 commit comments