You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to test my integration with the Youtube API.
For that one i'm creating a mockHttpTransport with a mockResponse (or a mockRequest, the same issue presented below arises):
val mockHttpTransport =MockHttpTransport.Builder()
// .setLowLevelHttpRequest(mockRequest)
.setLowLevelHttpResponse(mockResponse)
.build()
val youtube =YouTube.Builder(
mockHttpTransport,
mockGoogleCredential.jsonFactory,
mockGoogleCredential
).build()
I want to get all my subscriptions, but they are more than 50 so I get a paged response ("nextPageToken": "CAUQAA"), so i need to make a second request to execute:
val request = youtube
.subscriptions()
.list(listOf("snippet", "contentDetails"))
.setMaxResults(5000)
.setMine(true)
.setFields("*")
.setPrettyPrint(true)
val responseWhichReturnsTheCorrectSubscriptionListPage:SubscriptionListResponse= request.execute()
println(responseWhichReturnsTheCorrectSubscriptionListPage)
val responseWhichThrowsIAE:SubscriptionListResponse= request.setPageToken("CAUQAA").execute()
println(responseWhichThrowsIAE)
Q1: why can't i return the same mock response multiple times? the second iteration throws java.lang.IllegalArgumentException: no JSON input found
Q2: How can i pass multiple different mockResponses to the transport, to simulate that i have to fetch multiple pages from youtube?
Hello,
Sample repro here: https://github.com/TheBestPessimist/Youtube-Subscriptions-Mailer/blob/2bf38ec27b2841102e3e1431b6d318bb378ccd0a/src/test/kotlin/land/tbp/youtube/SubscriptionsFetcherTest.kt#L214-L220
I am trying to test my integration with the Youtube API.
For that one i'm creating a
mockHttpTransport
with amockResponse
(or amockRequest
, the same issue presented below arises):I want to get all my subscriptions, but they are more than 50 so I get a paged response (
"nextPageToken": "CAUQAA"
), so i need to make a second request to execute:Q1: why can't i return the same mock response multiple times? the second iteration throws java.lang.IllegalArgumentException: no JSON input found
Q2: How can i pass multiple different mockResponses to the transport, to simulate that i have to fetch multiple pages from youtube?
I have already tried searching on Stackoverflow, but i had little success: https://stackoverflow.com/search?tab=votes&q=%5bgoogle-cloud-platform%5d%20%20mock.
The text was updated successfully, but these errors were encountered: