Skip to content

Commit be173c5

Browse files
K2GO-434 refactor(setup): import the verdict types and add two verdict tests
Review nits on the slice-1 extraction: replace the fully-qualified setup.domain references in render() with imports, and cover the noRest-without-proot branch and a slow server restart in a REST run.
1 parent ada295c commit be173c5

2 files changed

Lines changed: 29 additions & 13 deletions

File tree

‎controller/app/src/main/java/org/appdevforall/k2go/redesign/SetupProgressActivity.java‎

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@
4343
import org.appdevforall.k2go.kolibri.presentation.KolibriSeedService;
4444
import org.appdevforall.k2go.kolibri.presentation.KolibriSeedState;
4545
import org.appdevforall.k2go.kolibri.presentation.KolibriSeedingFragment;
46+
import org.appdevforall.k2go.setup.domain.RunSnapshot;
47+
import org.appdevforall.k2go.setup.domain.RunVerdict;
48+
import org.appdevforall.k2go.setup.domain.StreamState;
4649
import org.appdevforall.k2go.system.data.PendingContent;
4750
import org.appdevforall.k2go.system.domain.OperationDispatcher;
4851
import org.appdevforall.k2go.system.domain.ContentType;
@@ -795,19 +798,16 @@ private void render() {
795798
int booksFailed = failedCount(booksSession ? BooksDownloadService.status() : null, BooksDownloadService.FAILED);
796799
boolean forgejoSeedFailed = forgejoSeedInSession()
797800
&& org.appdevforall.k2go.forgejo.presentation.ForgejoSeedRepository.get().isFailed();
798-
org.appdevforall.k2go.setup.domain.RunVerdict verdict =
799-
org.appdevforall.k2go.setup.domain.RunVerdict.of(new org.appdevforall.k2go.setup.domain.RunSnapshot.Builder()
800-
.noRest(noRest).prootShown(prootShown).moduleShown(moduleShown).drained(drained)
801-
.queueTerminalNotRunning(queueTerminalNotRunning).moduleServerSettled(moduleServerSettled)
802-
.batchServerSlow(batchServerSlow).seedPendingRun(seedPendingRun)
803-
.zim(new org.appdevforall.k2go.setup.domain.StreamState(
804-
zimSession, zimSession && ZimDownloadService.isComplete(), zimFailed))
805-
.books(new org.appdevforall.k2go.setup.domain.StreamState(
806-
booksSession, booksSession && BooksDownloadService.isComplete(), booksFailed))
807-
.kolibri(new org.appdevforall.k2go.setup.domain.StreamState(
808-
kolibriState.hasSession(), kolibriState.hasSession() && kolibriState.isComplete(), kolibriState.failedCount()))
809-
.prootFailed(prootFailed).forgejoSeedFailed(forgejoSeedFailed)
810-
.build());
801+
RunVerdict verdict = RunVerdict.of(new RunSnapshot.Builder()
802+
.noRest(noRest).prootShown(prootShown).moduleShown(moduleShown).drained(drained)
803+
.queueTerminalNotRunning(queueTerminalNotRunning).moduleServerSettled(moduleServerSettled)
804+
.batchServerSlow(batchServerSlow).seedPendingRun(seedPendingRun)
805+
.zim(new StreamState(zimSession, zimSession && ZimDownloadService.isComplete(), zimFailed))
806+
.books(new StreamState(booksSession, booksSession && BooksDownloadService.isComplete(), booksFailed))
807+
.kolibri(new StreamState(kolibriState.hasSession(),
808+
kolibriState.hasSession() && kolibriState.isComplete(), kolibriState.failedCount()))
809+
.prootFailed(prootFailed).forgejoSeedFailed(forgejoSeedFailed)
810+
.build());
811811
boolean allComplete = verdict.allComplete();
812812

813813
// Status dot + line. While waiting, a long-stuck engine shows a softer "taking longer"

‎controller/app/src/test/java/org/appdevforall/k2go/setup/domain/RunVerdictTest.java‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,22 @@ public void failedTotalSumsEverySource() {
119119
assertTrue(v.failure());
120120
}
121121

122+
@Test
123+
public void noRestWithoutProotUsesRestRule() {
124+
// noRest is true but no proot stage is present: the branch selector must fall to the REST rule.
125+
RunVerdict v = RunVerdict.of(restDone().noRest(true).prootShown(false).build());
126+
assertTrue(v.success());
127+
}
128+
129+
@Test
130+
public void slowServerRestartInRestRunIsFailure() {
131+
RunVerdict v = RunVerdict.of(restDone()
132+
.moduleShown(true).moduleServerSettled(true).batchServerSlow(true).build());
133+
assertTrue(v.allComplete());
134+
assertFalse(v.success());
135+
assertTrue(v.failure());
136+
}
137+
122138
@Test
123139
public void streamSettledForCompletion() {
124140
assertTrue(new StreamState(false, false, 0).settledForCompletion()); // no session

0 commit comments

Comments
 (0)