@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
/ *
* Copyright 2012 - 2017 the original author or authors .
* Copyright 2012 - 2019 the original author or authors .
*
* Licensed under the Apache License , Version 2 . 0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -125,6 +125,20 @@ public class InitCommandTests extends AbstractHttpClientMockTests {
@@ -125,6 +125,20 @@ public class InitCommandTests extends AbstractHttpClientMockTests {
assertThat ( archiveFile ) . exists ( ) ;
}
@Test
public void generateProjectAndExtractWillNotWriteEntriesOutsideOutputLocation ( )
throws Exception {
File folder = this . temporaryFolder . newFolder ( ) ;
byte [ ] archive = createFakeZipArchive ( "../outside.txt" , "Fake content" ) ;
MockHttpProjectGenerationRequest request = new MockHttpProjectGenerationRequest (
"application/zip" , "demo.zip" , archive ) ;
mockSuccessfulProjectGeneration ( request ) ;
assertThat ( this . command . run ( "--extract" , folder . getAbsolutePath ( ) ) )
. isEqualTo ( ExitStatus . ERROR ) ;
File archiveFile = new File ( folder . getParentFile ( ) , "outside.txt" ) ;
assertThat ( archiveFile ) . doesNotExist ( ) ;
}
@Test
public void generateProjectAndExtractWithConvention ( ) throws Exception {
File folder = this . temporaryFolder . newFolder ( ) ;