|
|
|
@ -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 {
|
|
|
|
|
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();
|
|
|
|
|