Skip to content

Commit df32901

Browse files
author
Ajay Kannan
committed
Propagate page size error to user
1 parent 6b322fa commit df32901

2 files changed

Lines changed: 15 additions & 2 deletions

File tree

gcloud-java-resourcemanager/src/main/java/com/google/gcloud/resourcemanager/testing/LocalResourceManagerHelper.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ private static String[] parseFields(String query) {
228228
return null;
229229
}
230230

231-
private static Map<String, Object> parseListOptions(String query) {
231+
private static Map<String, Object> parseListOptions(String query) throws IOException {
232232
Map<String, Object> options = new HashMap<>();
233233
if (query != null) {
234234
String[] args = query.split("&");
@@ -249,7 +249,9 @@ private static Map<String, Object> parseListOptions(String query) {
249249
break;
250250
case "pageSize":
251251
int pageSize = Integer.valueOf(argEntry[1]);
252-
checkArgument(pageSize > 0, "Page size must be greater than 0.");
252+
if (pageSize < 1) {
253+
throw new IOException("Page size must be greater than 0.");
254+
}
253255
options.put("pageSize", pageSize);
254256
break;
255257
}

gcloud-java-resourcemanager/src/test/java/com/google/gcloud/resourcemanager/LocalResourceManagerHelperTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,17 @@ public void testList() {
297297
}
298298
}
299299

300+
@Test
301+
public void testInvalidListPaging() {
302+
Map<ResourceManagerRpc.Option, Object> rpcOptions = new HashMap<>();
303+
rpcOptions.put(ResourceManagerRpc.Option.PAGE_SIZE, -1);
304+
try {
305+
rpc.list(rpcOptions);
306+
} catch (Exception e) {
307+
assertEquals("Page size must be greater than 0.", e.getMessage());
308+
}
309+
}
310+
300311
@Test
301312
public void testListPaging() {
302313
Map<ResourceManagerRpc.Option, Object> rpcOptions = new HashMap<>();

0 commit comments

Comments
 (0)