|
|
|
@ -5,15 +5,18 @@
|
|
|
|
|
package org.mozilla.fenix.ui
|
|
|
|
|
|
|
|
|
|
import androidx.core.net.toUri
|
|
|
|
|
import okhttp3.mockwebserver.MockWebServer
|
|
|
|
|
import org.junit.After
|
|
|
|
|
import org.junit.Ignore
|
|
|
|
|
import org.junit.Before
|
|
|
|
|
import org.junit.Rule
|
|
|
|
|
import org.junit.Test
|
|
|
|
|
import org.mozilla.fenix.R
|
|
|
|
|
import org.mozilla.fenix.customannotations.SmokeTest
|
|
|
|
|
import org.mozilla.fenix.helpers.AndroidAssetDispatcher
|
|
|
|
|
import org.mozilla.fenix.helpers.HomeActivityTestRule
|
|
|
|
|
import org.mozilla.fenix.helpers.MatcherHelper.itemWithResId
|
|
|
|
|
import org.mozilla.fenix.helpers.RetryTestRule
|
|
|
|
|
import org.mozilla.fenix.helpers.TestAssetHelper.getGenericAsset
|
|
|
|
|
import org.mozilla.fenix.helpers.TestHelper.getStringResource
|
|
|
|
|
import org.mozilla.fenix.helpers.TestHelper.setNetworkEnabled
|
|
|
|
|
import org.mozilla.fenix.ui.robots.browserScreen
|
|
|
|
@ -29,6 +32,7 @@ class BrowsingErrorPagesTest {
|
|
|
|
|
private val unwantedSoftwareWarning =
|
|
|
|
|
getStringResource(R.string.mozac_browser_errorpages_safe_browsing_unwanted_uri_title)
|
|
|
|
|
private val harmfulSiteWarning = getStringResource(R.string.mozac_browser_errorpages_safe_harmful_uri_title)
|
|
|
|
|
private lateinit var mockWebServer: MockWebServer
|
|
|
|
|
|
|
|
|
|
@get: Rule
|
|
|
|
|
val mActivityTestRule = HomeActivityTestRule.withDefaultSettingsOverrides()
|
|
|
|
@ -37,10 +41,19 @@ class BrowsingErrorPagesTest {
|
|
|
|
|
@JvmField
|
|
|
|
|
val retryTestRule = RetryTestRule(3)
|
|
|
|
|
|
|
|
|
|
@Before
|
|
|
|
|
fun setUp() {
|
|
|
|
|
mockWebServer = MockWebServer().apply {
|
|
|
|
|
dispatcher = AndroidAssetDispatcher()
|
|
|
|
|
start()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@After
|
|
|
|
|
fun tearDown() {
|
|
|
|
|
// Restoring network connection
|
|
|
|
|
setNetworkEnabled(true)
|
|
|
|
|
mockWebServer.shutdown()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@SmokeTest
|
|
|
|
@ -87,34 +100,23 @@ class BrowsingErrorPagesTest {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Ignore("Failing, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1833874")
|
|
|
|
|
// Failing with network interruption, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1833874
|
|
|
|
|
// This tests the server ERROR_CONNECTION_REFUSED
|
|
|
|
|
@Test
|
|
|
|
|
fun connectionFailureErrorMessageTest() {
|
|
|
|
|
val url = "example.com"
|
|
|
|
|
fun connectionRefusedErrorMessageTest() {
|
|
|
|
|
val testUrl = getGenericAsset(mockWebServer, 1)
|
|
|
|
|
|
|
|
|
|
navigationToolbar {
|
|
|
|
|
}.enterURLAndEnterToBrowser(url.toUri()) {
|
|
|
|
|
}.enterURLAndEnterToBrowser(testUrl.url) {
|
|
|
|
|
waitForPageToLoad()
|
|
|
|
|
verifyPageContent("Example Domain")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setNetworkEnabled(false)
|
|
|
|
|
|
|
|
|
|
browserScreen {
|
|
|
|
|
verifyPageContent(testUrl.content)
|
|
|
|
|
// Disconnecting the server
|
|
|
|
|
mockWebServer.shutdown()
|
|
|
|
|
}.openThreeDotMenu {
|
|
|
|
|
}.refreshPage {
|
|
|
|
|
waitForPageToLoad()
|
|
|
|
|
verifyConnectionErrorMessage()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setNetworkEnabled(true)
|
|
|
|
|
|
|
|
|
|
browserScreen {
|
|
|
|
|
}.openThreeDotMenu {
|
|
|
|
|
}.refreshPage {
|
|
|
|
|
waitForPageToLoad()
|
|
|
|
|
verifyPageContent("Example Domain")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|