### Question:
SVNRevisionChangeLogIssueValidator extends AbstractSVNChangeLogIssueValidator<SVNRevisionChangeLogIssueValidatorConfig> { @Override public SVNRevisionChangeLogIssueValidatorConfig fromStorage(JsonNode node) { return new SVNRevisionChangeLogIssueValidatorConfig( JsonUtils.getStringList(node, "closedStatuses") ); } @Autowired  SVNRevisionChangeLogIssueValidator(SVNExtensionFeature extensionFeature, PropertyService propertyService, SVNIssueRevisionDao issueRevisionDao); @Override void validate(SCMChangeLog<SVNHistory> changeLog, SVNChangeLogIssue issue, SVNRevisionChangeLogIssueValidatorConfig validatorConfig); @Override String getName(); @Override String getDescription(); @Override Form getEditionForm(ProjectEntity entity, SVNRevisionChangeLogIssueValidatorConfig value); @Override SVNRevisionChangeLogIssueValidatorConfig fromClient(JsonNode node); @Override SVNRevisionChangeLogIssueValidatorConfig fromStorage(JsonNode node); @Override String getSearchKey(SVNRevisionChangeLogIssueValidatorConfig value); @Override SVNRevisionChangeLogIssueValidatorConfig replaceValue(SVNRevisionChangeLogIssueValidatorConfig value, Function<String, String> replacementFunction);  }### Answer:
@Test public void fromStorage() { PropertyService propertyService = mock(PropertyService.class); SVNIssueRevisionDao issueRevisionDao = mock(SVNIssueRevisionDao.class); SVNRevisionChangeLogIssueValidator validator = new SVNRevisionChangeLogIssueValidator( new SVNExtensionFeature(new SCMExtensionFeature()), propertyService, issueRevisionDao ); assertEquals( new SVNRevisionChangeLogIssueValidatorConfig( Arrays.asList("Closed", "Resolved") ), validator.fromStorage( JsonUtils.object() .with("closedStatuses", JsonUtils.stringArray("Closed", "Resolved")) .end() ) ); }