rahil-c commented on code in PR #9782:
URL: https://github.com/apache/iceberg/pull/9782#discussion_r1566713074
##########
core/src/main/java/org/apache/iceberg/rest/RESTSessionCatalog.java:
##########
@@ -278,14 +286,26 @@ public void setConf(Object newConf) {
@Override
public List<TableIdentifier> listTables(SessionContext context, Namespace
ns) {
checkNamespaceIsValid(ns);
+ Map<String, String> queryParams = Maps.newHashMap();
+ List<TableIdentifier> tables = Lists.newArrayList();
+ String pageToken = "";
+ if (restPageSize != null) {
+ queryParams.put("pageToken", pageToken);
+ queryParams.put("pageSize", restPageSize);
+ }
+ do {
+ ListTablesResponse response =
+ client.get(
+ paths.tables(ns),
+ queryParams,
+ ListTablesResponse.class,
+ headers(context),
+ ErrorHandlers.namespaceErrorHandler());
+ pageToken = response.nextPageToken();
Review Comment:
@nastra I was wondering if I get your thoughts on this issue I have been
seeing with the tests that leverage `Mockito.verify`. For demo purposes I added
a test called `testCatalogWithPagaintionTokenIssue` which is basically similar
to the test you mentioned above but i haved added this snippet, hitting the
list namespaces endpoint
```
Mockito.verify(adapter)
.execute(
eq(HTTPMethod.GET),
eq("v1/namespaces"),
any(),
any(),
eq(ListNamespacesResponse.class),
eq(catalogHeaders),
any());
```
This test however always fail for the following exception
```
Wanted but not invoked:
rESTCatalogAdapter.execute(
GET,
"v1/namespaces",
<any>,
<any>,
class org.apache.iceberg.rest.responses.ListNamespacesResponse,
{"Authorization" = "Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjE5OTk5OTk5OTk5fQ._3k92KJi2NTyTG6V1s2mzJ__GiQtL36DnzsZSkBdYPw"},
<any>
);
-> at
org.apache.iceberg.rest.RESTCatalogAdapter.execute(RESTCatalogAdapter.java:517)
However, there were exactly 4 interactions with this mock:
```
When i setup a debugger, for some reason when it goes into the
`RestCatalogAdapater.execute` it does not recognize any params of the function
and then errors out. Any thoughts on how to get past this?
```
public <T extends RESTResponse> T execute(
HTTPMethod method,
String path,
Map<String, String> queryParams,
Object body,
Class<T> responseType,
Map<String, String> headers,
Consumer<ErrorResponse> errorHandler) {
ErrorResponse.Builder errorBuilder = ErrorResponse.builder();
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]