@@ -207,7 +207,8 @@ def init_session(api_root, api_key):
207207 return None
208208
209209 @staticmethod
210- def get_clobs (office_id , clob_id_like ):
210+ def get_clobs (office_id , clob_id_like , page_size = None ):
211+ calls .append (("get_clobs" , office_id , clob_id_like , page_size ))
211212 return pd .DataFrame ([{"id" : "TEST_CLOB" , "description" : "x" }])
212213
213214 monkeypatch .setitem (sys .modules , "cwms" , FakeCwms )
@@ -219,13 +220,86 @@ def get_clobs(office_id, clob_id_like):
219220 sort_by = [],
220221 desc = False ,
221222 limit = None ,
223+ page_size = None ,
222224 to_csv = None ,
223225 office = "SWT" ,
224226 api_root = "https://example.test/" ,
225227 api_key = "apikey 123" ,
226228 )
227229
228- assert calls == [("init_session" , "https://example.test/" , "apikey 123" )]
230+ assert calls == [
231+ ("init_session" , "https://example.test/" , "apikey 123" ),
232+ ("get_clobs" , "SWT" , "TEST_.*" , None ),
233+ ]
234+
235+
236+ def test_list_cmd_uses_limit_as_fetch_page_size (monkeypatch ):
237+ calls = []
238+
239+ class FakeCwms :
240+ @staticmethod
241+ def init_session (api_root , api_key ):
242+ return None
243+
244+ @staticmethod
245+ def get_clobs (office_id , clob_id_like , page_size = None ):
246+ calls .append ((office_id , clob_id_like , page_size ))
247+ return pd .DataFrame (
248+ [
249+ {"id" : "A" , "description" : "x" },
250+ {"id" : "B" , "description" : "y" },
251+ ]
252+ )
253+
254+ monkeypatch .setitem (sys .modules , "cwms" , FakeCwms )
255+ monkeypatch .setattr ("cwmscli.commands.clob.cwms" , FakeCwms )
256+
257+ list_cmd (
258+ clob_id_like = "TEST_.*" ,
259+ columns = [],
260+ sort_by = [],
261+ desc = False ,
262+ limit = 25 ,
263+ page_size = None ,
264+ to_csv = None ,
265+ office = "SWT" ,
266+ api_root = "https://example.test/" ,
267+ api_key = "apikey 123" ,
268+ )
269+
270+ assert calls == [("SWT" , "TEST_.*" , 25 )]
271+
272+
273+ def test_list_cmd_page_size_overrides_limit_for_fetch (monkeypatch ):
274+ calls = []
275+
276+ class FakeCwms :
277+ @staticmethod
278+ def init_session (api_root , api_key ):
279+ return None
280+
281+ @staticmethod
282+ def get_clobs (office_id , clob_id_like , page_size = None ):
283+ calls .append ((office_id , clob_id_like , page_size ))
284+ return pd .DataFrame ([{"id" : "A" , "description" : "x" }])
285+
286+ monkeypatch .setitem (sys .modules , "cwms" , FakeCwms )
287+ monkeypatch .setattr ("cwmscli.commands.clob.cwms" , FakeCwms )
288+
289+ list_cmd (
290+ clob_id_like = "TEST_.*" ,
291+ columns = [],
292+ sort_by = [],
293+ desc = False ,
294+ limit = 25 ,
295+ page_size = 200 ,
296+ to_csv = None ,
297+ office = "SWT" ,
298+ api_root = "https://example.test/" ,
299+ api_key = "apikey 123" ,
300+ )
301+
302+ assert calls == [("SWT" , "TEST_.*" , 200 )]
229303
230304
231305def test_list_cmd_anonymous_skips_api_key (monkeypatch ):
@@ -238,7 +312,8 @@ def init_session(api_root, api_key):
238312 return None
239313
240314 @staticmethod
241- def get_clobs (office_id , clob_id_like ):
315+ def get_clobs (office_id , clob_id_like , page_size = None ):
316+ calls .append (("get_clobs" , office_id , clob_id_like , page_size ))
242317 return pd .DataFrame ([{"id" : "TEST_CLOB" , "description" : "x" }])
243318
244319 monkeypatch .setitem (sys .modules , "cwms" , FakeCwms )
@@ -250,14 +325,18 @@ def get_clobs(office_id, clob_id_like):
250325 sort_by = [],
251326 desc = False ,
252327 limit = None ,
328+ page_size = None ,
253329 to_csv = None ,
254330 office = "SWT" ,
255331 api_root = "https://example.test/" ,
256332 api_key = "apikey 123" ,
257333 anonymous = True ,
258334 )
259335
260- assert calls == [("init_session" , "https://example.test/" , None )]
336+ assert calls == [
337+ ("init_session" , "https://example.test/" , None ),
338+ ("get_clobs" , "SWT" , "TEST_.*" , None ),
339+ ]
261340
262341
263342def test_delete_cmd_uses_query_override_for_special_char_ids (monkeypatch ):
0 commit comments