in component-test/src/main/java/org/apache/fineract/cn/accounting/TestLedger.java [307:337]
public void shouldFindLedgerWithSeparatorInIdentifier() throws Exception {
// RFC 3986 unreserved characters: ALPHA DIGIT "-", ".", "_", "~"
final String[] unreservedCharacters = new String[] {
"-",
".",
"_"
};
this.logger.info("Creating {} ledgers with unreserved characters.", unreservedCharacters.length);
boolean failed = false;
for (String unreservedCharacter : unreservedCharacters) {
final Ledger ledger = LedgerGenerator.createRandomLedger();
final String identifier = RandomStringUtils.randomAlphanumeric(3) + unreservedCharacter + RandomStringUtils.randomAlphanumeric(2);
ledger.setIdentifier(identifier);
this.logger.info("Creating ledger '{}' with unreserved character '{}' in identifier.", identifier, unreservedCharacter);
this.testSubject.createLedger(ledger);
Assert.assertTrue(this.eventRecorder.wait(EventConstants.POST_LEDGER, ledger.getIdentifier()));
try {
this.testSubject.findLedger(ledger.getIdentifier());
this.logger.info("Ledger '{}' with unreserved character '{}' in identifier found.", identifier, unreservedCharacter);
} catch (final Exception ex) {
this.logger.error("Ledger '{}' with unreserved character '{}' in identifier not found.", identifier, unreservedCharacter);
failed = true;
}
}
Assert.assertFalse(failed);
}