2210932669e706e8dab30dfd77b4c26a9439f3e8
[sdc.git] /
1 package org.openecomp.core.utilities.file;
2
3 import org.testng.Assert;
4 import org.testng.annotations.Test;
5
6 import java.io.IOException;
7 import java.util.Arrays;
8 import java.util.Optional;
9
10 import static org.testng.Assert.assertEquals;
11 import static org.testng.Assert.assertFalse;
12 import static org.testng.Assert.assertTrue;
13
14 /**
15  * @author EVITALIY
16  * @since 24 Oct 17
17  */
18 public class FileContentHandlerTest {
19
20     private static final String FILE_NAME = "test-file.txt";
21
22     @Test
23     public void testProcessFileContent() throws Exception {
24
25         final int size = 13;
26         FileContentHandler contentHandler = new FileContentHandler();
27         final byte[] content = new byte[size];
28         Arrays.fill(content, (byte) 44);
29         contentHandler.addFile(FILE_NAME, content);
30
31         byte[] actualContent = contentHandler.processFileContent(FILE_NAME, optional -> {
32
33             try {
34                 byte[] buffer = new byte[size];
35                 assertTrue(optional.isPresent());
36                 assertEquals(size, optional.get().read(buffer));
37                 return buffer;
38             } catch (IOException e) {
39                 throw new RuntimeException("Unexpected error", e);
40             }
41
42         });
43         Assert.assertTrue(Arrays.equals(actualContent, content));
44     }
45
46     @Test
47     public void testProcessEmptyFileContent() throws Exception {
48         FileContentHandler contentHandler = new FileContentHandler();
49         contentHandler.addFile(FILE_NAME, new byte[0]);
50         assertFalse(contentHandler.processFileContent(FILE_NAME, Optional::isPresent));
51     }
52
53     @Test
54     public void testProcessNoFileContent() throws Exception {
55         FileContentHandler contentHandler = new FileContentHandler();
56         assertFalse(contentHandler.processFileContent("filename", Optional::isPresent));
57     }
58 }