Skip to content

Commit e892c57

Browse files
test: validate we'll get the ready event after polling once (#90)
1 parent 9777214 commit e892c57

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

unleashandroidsdk/src/test/java/io/getunleash/android/DefaultUnleashTest.kt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,4 +483,37 @@ class DefaultUnleashTest : BaseTest() {
483483
await().atMost(2, TimeUnit.SECONDS).until { inspectableCache.toggles.size == 8 }
484484
assertThat(server.requestCount).isEqualTo(1)
485485
}
486+
487+
@Test
488+
fun `when polling is disable you should eventually get the ready event after manually polling`() {
489+
val server = MockWebServer()
490+
server.enqueue(
491+
MockResponse().setBody(
492+
this::class.java.classLoader?.getResource("sample-response.json")!!.readText()
493+
)
494+
)
495+
496+
var readyState = false
497+
val unleash = DefaultUnleash(
498+
androidContext = mock(Context::class.java),
499+
unleashConfig = UnleashConfig.newBuilder("test-android-app")
500+
.proxyUrl(server.url("").toString())
501+
.clientKey("key-123")
502+
.pollingStrategy.enabled(false)
503+
.metricsStrategy.enabled(false)
504+
.localStorageConfig.enabled(false)
505+
.delayedInitialization(false)
506+
.build(),
507+
unleashContext = UnleashContext(userId = "123"),
508+
lifecycle = mock(Lifecycle::class.java),
509+
eventListeners = listOf(object : UnleashReadyListener {
510+
override fun onReady() {
511+
readyState = true
512+
}
513+
})
514+
)
515+
unleash.refreshTogglesNowAsync()
516+
await().atMost(3, TimeUnit.SECONDS).until { readyState }
517+
assertThat(server.requestCount).isEqualTo(1)
518+
}
486519
}

0 commit comments

Comments
 (0)