| | |
| | | |
| | | // Create a temporary file containing an attribute value. |
| | | TEMP_FILE = File.createTempFile("tmp", "txt"); |
| | | OutputStream out = null; |
| | | try { |
| | | out = new FileOutputStream(TEMP_FILE); |
| | | try (OutputStream out = new FileOutputStream(TEMP_FILE)) { |
| | | out.write(TEMP_FILE_STRING.getBytes("UTF-8")); |
| | | } finally { |
| | | if (out != null) { |
| | | out.close(); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | @Test |
| | | public void testInitialState() throws Exception { |
| | | LDIFReader reader = createLDIFReader(""); |
| | | |
| | | try { |
| | | try (LDIFReader reader = createLDIFReader("")) { |
| | | Assert.assertEquals(reader.getEntriesIgnored(), 0); |
| | | Assert.assertEquals(reader.getEntriesRead(), 0); |
| | | Assert.assertEquals(reader.getEntriesRejected(), 0); |
| | | Assert.assertEquals(reader.getLastEntryLineNumber(), -1); |
| | | } finally { |
| | | reader.close(); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | @Test |
| | | public void testReadEntryEmptyStream() throws Exception { |
| | | LDIFReader reader = createLDIFReader(""); |
| | | |
| | | try { |
| | | try (LDIFReader reader = createLDIFReader("")) { |
| | | Entry entry = reader.readEntry(); |
| | | |
| | | Assert.assertNull(entry); |
| | | |
| | | Assert.assertEquals(reader.getEntriesIgnored(), 0); |
| | | Assert.assertEquals(reader.getEntriesRead(), 0); |
| | | Assert.assertEquals(reader.getEntriesRejected(), 0); |
| | | Assert.assertEquals(reader.getLastEntryLineNumber(), -1); |
| | | } finally { |
| | | reader.close(); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | @Test(dependsOnMethods = { "testReadEntryEmptyStream" }) |
| | | public void testReadEntryEmptyStreamVersion() throws Exception { |
| | | LDIFReader reader = createLDIFReader("version: 1\n"); |
| | | |
| | | try { |
| | | try (LDIFReader reader = createLDIFReader("version: 1\n")) { |
| | | Entry entry = reader.readEntry(); |
| | | |
| | | Assert.assertNull(entry); |
| | | |
| | | Assert.assertEquals(reader.getEntriesIgnored(), 0); |
| | | Assert.assertEquals(reader.getEntriesRead(), 0); |
| | | Assert.assertEquals(reader.getEntriesRejected(), 0); |
| | | Assert.assertEquals(reader.getLastEntryLineNumber(), 1); |
| | | } finally { |
| | | reader.close(); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | @Test |
| | | public void testChangeRecordEmptyStream() throws Exception { |
| | | LDIFReader reader = createLDIFReader(""); |
| | | try { |
| | | try (LDIFReader reader = createLDIFReader("")) { |
| | | ChangeRecordEntry change = reader.readChangeRecord(true); |
| | | |
| | | Assert.assertNull(change); |
| | | |
| | | Assert.assertEquals(reader.getEntriesIgnored(), 0); |
| | | Assert.assertEquals(reader.getEntriesRead(), 0); |
| | | Assert.assertEquals(reader.getEntriesRejected(), 0); |
| | | Assert.assertEquals(reader.getLastEntryLineNumber(), -1); |
| | | } finally { |
| | | reader.close(); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | @Test(dependsOnMethods = { "testChangeRecordEmptyStream" }) |
| | | public void testReadChangeMultiple() throws Exception { |
| | | LDIFReader reader = createLDIFReader(VALID_LDIF); |
| | | |
| | | try { |
| | | try (LDIFReader reader = createLDIFReader(VALID_LDIF)) { |
| | | ChangeRecordEntry change; |
| | | AddChangeRecordEntry add; |
| | | DeleteChangeRecordEntry delete; |
| | |
| | | Assert.assertEquals(reader.getEntriesRead(), 0); |
| | | Assert.assertEquals(reader.getEntriesRejected(), 0); |
| | | Assert.assertEquals(reader.getLastEntryLineNumber(), 72); |
| | | } finally { |
| | | reader.close(); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | @Test(dependsOnMethods = { "testReadChangeMultiple" }) |
| | | public void testReadChangeMultipleAndReject() throws Exception { |
| | | LDIFReader reader = createLDIFReader(VALID_LDIF); |
| | | |
| | | try { |
| | | try (LDIFReader reader = createLDIFReader(VALID_LDIF)) { |
| | | reader.readChangeRecord(false); |
| | | reader.readChangeRecord(false); |
| | | reader.readChangeRecord(false); |
| | |
| | | // Check final state. |
| | | Assert.assertNull(reader.readChangeRecord(false)); |
| | | Assert.assertEquals(reader.getEntriesRejected(), 2); |
| | | } finally { |
| | | reader.close(); |
| | | } |
| | | } |
| | | |
| | |
| | | StringBuilder buffer = new StringBuilder(TEMP_FILE_LDIF); |
| | | buffer.append(TEMP_FILE.getCanonicalPath()); |
| | | buffer.append("\n"); |
| | | LDIFReader reader = createLDIFReader(buffer.toString()); |
| | | |
| | | try { |
| | | try (LDIFReader reader = createLDIFReader(buffer.toString())) { |
| | | ChangeRecordEntry change = reader.readChangeRecord(false); |
| | | Assert.assertTrue(change instanceof AddChangeRecordEntry); |
| | | AddChangeRecordEntry add = (AddChangeRecordEntry) change; |
| | |
| | | |
| | | // Check final state. |
| | | Assert.assertNull(reader.readChangeRecord(false)); |
| | | } finally { |
| | | reader.close(); |
| | | } |
| | | } |
| | | |
| | |
| | | @Test(dataProvider = "invalidLDIFChangeRecords", |
| | | expectedExceptions = { LDIFException.class }) |
| | | public void testReadChangeInvalidData(String ldifString) throws Exception { |
| | | LDIFReader reader = createLDIFReader(ldifString); |
| | | ChangeRecordEntry change = null; |
| | | |
| | | try { |
| | | final ChangeRecordEntry change; |
| | | try (LDIFReader reader = createLDIFReader(ldifString)) { |
| | | change = reader.readChangeRecord(false); |
| | | } finally { |
| | | reader.close(); |
| | | } |
| | | |
| | | Assert.fail("Expected exception but got result: " |