Skip to content

Commit

Permalink
read empty list of frozen violations correctly (resolves #456)
Browse files Browse the repository at this point in the history
Signed-off-by: Manfred Hanke <Manfred.Hanke@tngtech.com>
  • Loading branch information
hankem committed Oct 22, 2020
1 parent 8fdb631 commit c474630
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import static com.google.common.io.Files.toByteArray;
import static com.tngtech.archunit.base.ReflectionUtils.newInstanceOf;
import static java.nio.charset.StandardCharsets.UTF_8;
import static java.util.Collections.emptyList;

class ViolationStoreFactory {
static final String FREEZE_STORE_PROPERTY_NAME = "freeze.store";
Expand Down Expand Up @@ -183,6 +184,9 @@ public List<String> getViolations(ArchRule rule) {

private List<String> readLines(String ruleDetailsFileName) {
String violationsText = readStoreFile(ruleDetailsFileName);
if (violationsText.isEmpty()) {
return emptyList();
}
List<String> lines = Splitter.on(UNESCAPED_LINE_BREAK_PATTERN).splitToList(violationsText);
return unescape(lines);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,15 @@ public void reads_violations_of_single_rule_from_configured_folder() {
assertThat(storedViolations).containsOnly("first violation", "second violation");
}

@Test
public void reads_empty_list_of_violations() {
store.save(defaultRule(), ImmutableList.<String>of());

List<String> storedViolations = store.getViolations(defaultRule());

assertThat(storedViolations).isEmpty();
}

@Test
public void stores_violations_of_multiple_rules() {
ArchRule firstRule = rule("first rule");
Expand Down

0 comments on commit c474630

Please sign in to comment.