public void shouldFindLedgerWithSeparatorInIdentifier()

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);
  }