Add detection of some new error screens
This commit is contained in:
parent
c17fcee052
commit
6f06410133
5 changed files with 89 additions and 1 deletions
|
@ -16,7 +16,7 @@ ext {
|
|||
moshi = "1.13.0"
|
||||
}
|
||||
|
||||
version = "2.0.5"
|
||||
version = "2.0.6-SNAPSHOT"
|
||||
group = "io.github.wulkanowy"
|
||||
|
||||
nexusPublishing {
|
||||
|
|
|
@ -60,6 +60,12 @@ internal class ErrorInterceptor(
|
|||
} else throw BadCredentialsException(errorMessage)
|
||||
}
|
||||
|
||||
doc.select(".app-error-container").takeIf { it.isNotEmpty() }?.let {
|
||||
if (it.select("h2").text() == "Informacja") {
|
||||
throw ServiceUnavailableException(it.select("span").firstOrNull()?.text().orEmpty())
|
||||
}
|
||||
}
|
||||
|
||||
doc.select("#MainPage_ErrorDiv div").let {
|
||||
if (it.text().contains("Trwa aktualizacja bazy danych")) throw ServiceUnavailableException(it.last()?.ownText().orEmpty())
|
||||
if (it.last()?.ownText()?.contains("czasowo wyłączona") == true) throw TemporarilyDisabledException(it.last()?.ownText().orEmpty())
|
||||
|
|
|
@ -7,6 +7,8 @@ import io.github.wulkanowy.sdk.scrapper.exception.VulcanException
|
|||
import io.github.wulkanowy.sdk.scrapper.login.LoginTest
|
||||
import io.github.wulkanowy.sdk.scrapper.login.PasswordChangeRequiredException
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
|
||||
|
@ -21,6 +23,18 @@ class ErrorInterceptorTest : BaseLocalTest() {
|
|||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `eduOne update`() = runTest {
|
||||
runCatching {
|
||||
getStudentRepo(ErrorInterceptorTest::class.java, "AktualizacjaEduOne.html", Scrapper.LoginType.STANDARD).getNotes()
|
||||
}.onFailure {
|
||||
assertTrue(it is ServiceUnavailableException)
|
||||
assertEquals("Trwa aktualizacja bazy danych.", it.message)
|
||||
return@runTest
|
||||
}
|
||||
assert(false)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun passwordChangeRequired() {
|
||||
try {
|
||||
|
@ -39,4 +53,16 @@ class ErrorInterceptorTest : BaseLocalTest() {
|
|||
assertTrue(e.message?.startsWith("Błąd") == true)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `technical break eduOne`() = runTest {
|
||||
runCatching {
|
||||
getStudentRepo(ErrorInterceptorTest::class.java, "Przerwa.html", Scrapper.LoginType.STANDARD).getNotes()
|
||||
}.onFailure {
|
||||
assertTrue(it is ServiceUnavailableException)
|
||||
assertEquals("Przerwa", it.message)
|
||||
return@runTest
|
||||
}
|
||||
assert(false)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
<!DOCTYPE html>
|
||||
<html class=" njwkvjhvie idc0_347 ikflewkcjx" lang="pl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Dziennik UONET+</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="app-error-container">
|
||||
<h2>Informacja</h2>
|
||||
<span>Trwa aktualizacja bazy danych.</span>
|
||||
<span>Dostęp do bazy został wyłączony.</span>
|
||||
<span>Proszę uruchomić aplikację ponownie za kilka minut.</span>
|
||||
<span>© 2023 VULCAN sp. z o.o., UONET+</span>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,39 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html class=" pwuya idc0_347">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Przerwa</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="page_error">
|
||||
<div id="content_error">
|
||||
<div class="box_error">
|
||||
<div id="info_error">
|
||||
<div class="icon_error">
|
||||
</div>
|
||||
<div class="info_error">
|
||||
<h1>Przerwa techniczna</h1>
|
||||
<p class="info_error_main">Aktualnie trwają prace konserwacyjne.</p>
|
||||
<p class="info_error_main">Witryna będzie dostępna za kilka minut.</p>
|
||||
</div>
|
||||
<div class="info_error" style="display: none;">
|
||||
<h1>Problemy z dostępnością</h1>
|
||||
<p class="info_error_main">Informujemy, że wystąpiły nieoczekiwane problemy z dostępnością aplikacji.</p>
|
||||
<p class="info_error_main">Państwa dane są bezpieczne.</p>
|
||||
<p class="info_error_main">Podjęliśmy pilne działania mające na celu przywrócenie stabilnego działania systemu
|
||||
w jak najkrótszym czasie.</p>
|
||||
<p class="info_error_details">Szczegóły dotyczące postępów prac pojawią się w pierwszej kolejności na stronie
|
||||
<a href="https://www.vulcan.edu.pl/">www.vulcan.edu.pl</a>
|
||||
oraz na naszym profilu na FB <a href="https://www.facebook.com/vulcan.oswiata">www.facebook.com/vulcan.oswiata</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="error_link">
|
||||
<p>155</p>
|
||||
<p id="details">Fri May 19 2023 22:17:29 GMT+0200 (czas środkowoeuropejski letni)</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue