@@ -34,7 +34,9 @@ protected HealthInfo createTestInstance() {
3434 diskInfoByNode ,
3535 randomBoolean () ? randomDslHealthInfo () : null ,
3636 repositoriesInfoByNode ,
37- FileSettingsHealthInfo .INDETERMINATE
37+ (randomFloat () < 0.1 )
38+ ? FileSettingsHealthInfo .INDETERMINATE
39+ : mutateFileSettingsHealthInfo (FileSettingsHealthInfo .INDETERMINATE )
3840 );
3941 }
4042
@@ -47,6 +49,7 @@ public static HealthInfo mutateHealthInfo(HealthInfo originalHealthInfo) {
4749 var diskHealth = originalHealthInfo .diskInfoByNode ();
4850 var dslHealth = originalHealthInfo .dslHealthInfo ();
4951 var repoHealth = originalHealthInfo .repositoriesInfoByNode ();
52+ var fsHealth = originalHealthInfo .fileSettingsHealthInfo ();
5053 switch (randomInt (2 )) {
5154 case 0 -> diskHealth = mutateMap (
5255 originalHealthInfo .diskInfoByNode (),
@@ -60,7 +63,7 @@ public static HealthInfo mutateHealthInfo(HealthInfo originalHealthInfo) {
6063 HealthInfoTests ::randomRepoHealthInfo
6164 );
6265 }
63- return new HealthInfo (diskHealth , dslHealth , repoHealth , FileSettingsHealthInfo . INDETERMINATE );
66+ return new HealthInfo (diskHealth , dslHealth , repoHealth , mutateFileSettingsHealthInfo ( fsHealth ) );
6467 }
6568
6669 public static DiskHealthInfo randomDiskHealthInfo () {
@@ -80,6 +83,18 @@ public static RepositoriesHealthInfo randomRepoHealthInfo() {
8083 return new RepositoriesHealthInfo (randomList (5 , () -> randomAlphaOfLength (10 )), randomList (5 , () -> randomAlphaOfLength (10 )));
8184 }
8285
86+ private static FileSettingsHealthInfo mutateFileSettingsHealthInfo (FileSettingsHealthInfo original ) {
87+ long changeCount = original .changeCount () ^ randomLongBetween (1 , 100 ); // Always different from original
88+ long failureStreak = randomLongBetween (0 , changeCount );
89+ String mostRecentFailure ;
90+ if (failureStreak == 0 ) {
91+ mostRecentFailure = null ;
92+ } else {
93+ mostRecentFailure = "Random failure #" + randomIntBetween (1000 , 9999 );
94+ }
95+ return new FileSettingsHealthInfo (true , changeCount , failureStreak , mostRecentFailure );
96+ }
97+
8398 /**
8499 * Mutates a {@link Map} by either adding, updating, or removing an entry.
85100 */
0 commit comments