View Javadoc
1   package io.github.magwas.coder.tests;
2   
3   import static org.junit.jupiter.api.Assertions.*;
4   import static org.mockito.Mockito.*;
5   
6   import java.util.List;
7   
8   import org.junit.jupiter.api.DisplayName;
9   import org.junit.jupiter.api.Test;
10  import org.mockito.InjectMocks;
11  
12  import io.github.magwas.coder.ErrorMessages;
13  import io.github.magwas.coder.ProcessedFilesData;
14  import io.github.magwas.coder.XMLFileWriterService;
15  import io.github.magwas.konveyor.testing.TestBase;
16  
17  public class XMLFileWriterServiceTest extends TestBase implements XMLFileWriterTestData {
18  
19  	@InjectMocks
20  	private XMLFileWriterService xmlFileWriterService;
21  
22  	@Test
23  	@DisplayName("Write files from XML")
24  	void testWriteFilesFromXml() throws Exception {
25  		ProcessedFilesData result = xmlFileWriterService.apply(VALID_XML_WITH_FILES);
26  		assertIterableEquals(List.of(FILE_NAME_1, FILE_NAME_2), result.modifiedFiles());
27  		assertTrue(result.deletedFiles().isEmpty());
28  	}
29  
30  	@Test
31  	@DisplayName("Delete files from XML")
32  	void testDeleteFilesFromXml() throws Exception {
33  		ProcessedFilesData result = xmlFileWriterService.apply(VALID_XML_WITH_DELETIONS);
34  		assertIterableEquals(List.of(FILE_NAME_1, FILE_NAME_2), result.deletedFiles());
35  		assertTrue(result.modifiedFiles().isEmpty());
36  	}
37  
38  	@Test
39  	@DisplayName("Path traversal throws exception")
40  	void testPathTraversalThrows() throws Exception {
41  		Exception e = assertThrows(RuntimeException.class, () -> xmlFileWriterService.apply(XML_WITH_PATH_TRAVERSAL));
42  		assertEquals(ErrorMessages.PATH_TRAVERSAL_ERROR, e.getMessage());
43  	}
44  }