Skip to content

Commit 77be046

Browse files
committed
Update error message returned
1 parent 4d6e22a commit 77be046

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

Diff for: validator/api/src/main/java/tech/pegasys/teku/validator/api/GraffitiManager.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,11 @@ private Optional<String> updateGraffiti(
6161
try {
6262
final Path file = graffitiPath.get().resolve(resolveFileName(publicKey));
6363
Files.write(file, graffiti.get());
64-
} catch (IOException | IllegalArgumentException e) {
65-
return Optional.of(e.toString());
64+
} catch (IOException e) {
65+
final String errorMessage =
66+
String.format("Unable to update graffiti for validator %s", publicKey);
67+
LOG.error(errorMessage, e);
68+
return Optional.of(errorMessage);
6669
}
6770
return Optional.empty();
6871
}

Diff for: validator/api/src/test/java/tech/pegasys/teku/validator/api/GraffitiManagerTest.java

+9-8
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
package tech.pegasys.teku.validator.api;
1515

1616
import static org.assertj.core.api.Assertions.assertThat;
17+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
1718
import static org.assertj.core.api.Assertions.fail;
1819
import static tech.pegasys.teku.validator.api.GraffitiManager.GRAFFITI_DIR;
1920

@@ -75,7 +76,7 @@ void setGraffiti_shouldSetGraffitiWhenFileExist(@TempDir final Path tempDir) thr
7576

7677
@Test
7778
@DisabledOnOs(OS.WINDOWS) // Can't set permissions on Windows
78-
void setGraffiti_shouldThrowExceptionWhenUnableToWriteFile(@TempDir final Path tempDir)
79+
void setGraffiti_shouldReturnErrorMessageWhenUnableToWriteFile(@TempDir final Path tempDir)
7980
throws IOException {
8081
dataDirLayout = new SimpleDataDirLayout(tempDir);
8182
manager = new GraffitiManager(dataDirLayout);
@@ -85,7 +86,7 @@ void setGraffiti_shouldThrowExceptionWhenUnableToWriteFile(@TempDir final Path t
8586
assertThat(file.setWritable(false)).isTrue();
8687

8788
assertThat(manager.setGraffiti(publicKey, graffiti))
88-
.hasValue("java.nio.file.AccessDeniedException: " + file);
89+
.hasValue("Unable to update graffiti for validator " + publicKey);
8990
}
9091

9192
@Test
@@ -95,10 +96,10 @@ void setGraffiti_shouldThrowExceptionWhenGraffitiTooBig(@TempDir final Path temp
9596
manager = new GraffitiManager(dataDirLayout);
9697
assertThat(getGraffitiManagementDir().toFile().exists()).isTrue();
9798

98-
assertThat(manager.setGraffiti(publicKey, invalidGraffiti))
99-
.hasValue(
100-
"java.lang.IllegalArgumentException: "
101-
+ "'This graffiti is a bit too long!!' converts to 33 bytes. Input must be 32 bytes or less.");
99+
assertThatThrownBy(() -> manager.setGraffiti(publicKey, invalidGraffiti))
100+
.isInstanceOf(IllegalArgumentException.class)
101+
.hasMessage(
102+
"'This graffiti is a bit too long!!' converts to 33 bytes. Input must be 32 bytes or less.");
102103
}
103104

104105
@Test
@@ -137,7 +138,7 @@ void deleteGraffiti_shouldSetGraffitiWhenFileExist(@TempDir final Path tempDir)
137138
}
138139

139140
@Test
140-
void deleteGraffiti_shouldThrowExceptionWhenUnableToWriteFile(@TempDir final Path tempDir)
141+
void deleteGraffiti_shouldReturnErrorMessageWhenUnableToWriteFile(@TempDir final Path tempDir)
141142
throws IOException {
142143
dataDirLayout = new SimpleDataDirLayout(tempDir);
143144
manager = new GraffitiManager(dataDirLayout);
@@ -147,7 +148,7 @@ void deleteGraffiti_shouldThrowExceptionWhenUnableToWriteFile(@TempDir final Pat
147148
assertThat(file.setWritable(false)).isTrue();
148149

149150
assertThat(manager.deleteGraffiti(publicKey))
150-
.hasValue("java.nio.file.AccessDeniedException: " + file);
151+
.hasValue("Unable to update graffiti for validator " + publicKey);
151152
}
152153

153154
@Test

0 commit comments

Comments
 (0)