Create simple integration test for digester process.
Much of this lived in the separate testapp, but we can exercise a lot of the code as an integration test in the main project, so let's do so.
This commit is contained in:
@@ -34,6 +34,48 @@
|
|||||||
<includes><include>LICENSE</include></includes>
|
<includes><include>LICENSE</include></includes>
|
||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
|
<artifactId>build-helper-maven-plugin</artifactId>
|
||||||
|
<version>1.5</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>add-test-source</id>
|
||||||
|
<phase>process-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>add-test-source</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<sources>
|
||||||
|
<source>src/it/java</source>
|
||||||
|
</sources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-failsafe-plugin</artifactId>
|
||||||
|
<version>2.15</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>integration-test</id>
|
||||||
|
<goals>
|
||||||
|
<goal>integration-test</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>verify</id>
|
||||||
|
<goals>
|
||||||
|
<goal>verify</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -0,0 +1,53 @@
|
|||||||
|
//
|
||||||
|
// Getdown - application installer, patcher and launcher
|
||||||
|
// Copyright (C) 2004-2016 Getdown authors
|
||||||
|
// https://github.com/threerings/getdown/blob/master/LICENSE
|
||||||
|
|
||||||
|
package com.threerings.getdown.tests;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.nio.file.*;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.junit.*;
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
import com.threerings.getdown.tools.Digester;
|
||||||
|
|
||||||
|
public class DigesterTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDigester () throws Exception {
|
||||||
|
Path appdir = Paths.get("src/it/resources/testapp");
|
||||||
|
Digester.createDigests(appdir.toFile(), null, null, null);
|
||||||
|
|
||||||
|
Path digest = appdir.resolve("digest.txt");
|
||||||
|
List<String> digestLines = Files.readAllLines(digest);
|
||||||
|
Files.delete(digest);
|
||||||
|
|
||||||
|
Path digest2 = appdir.resolve("digest2.txt");
|
||||||
|
List<String> digest2Lines = Files.readAllLines(digest2);
|
||||||
|
Files.delete(digest2);
|
||||||
|
|
||||||
|
assertEquals(Arrays.asList(
|
||||||
|
"getdown.txt = 779c74fb4b251e18faf6e240a0667964",
|
||||||
|
"testapp.jar = 404dafa55e78b25ec0e3a936357b1883",
|
||||||
|
"funny%test dir/some=file.txt = d8e8fca2dc0f896fd7cb4cb0031ba249",
|
||||||
|
"crazyhashfile#txt = f29d23fd5ab1781bd8d0760b3a516f16",
|
||||||
|
"foo.jar = 46ca4cc9079d9d019bb30cd21ebbc1ec",
|
||||||
|
"script.sh = f66e8ea25598e67e99c47d9b0b2a2cdf",
|
||||||
|
"digest.txt = f5561d85e4d80cc85883963897e58ff6"
|
||||||
|
), digestLines);
|
||||||
|
|
||||||
|
assertEquals(Arrays.asList(
|
||||||
|
"getdown.txt = 4f0c657895c3c3a35fa55bf5951c64fa9b0694f8fc685af3f1d8635c639e066b",
|
||||||
|
"testapp.jar = c9cb1906afbf48f8654b416c3f831046bd3752a76137e5bf0a9af2f790bf48e0",
|
||||||
|
"funny%test dir/some=file.txt = f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2",
|
||||||
|
"crazyhashfile#txt = 6816889f922de38f145db215a28ad7c5e1badf7354b5cdab225a27486789fa3b",
|
||||||
|
"foo.jar = ea188b872e0496debcbe00aaadccccb12a8aa9b025bb62c130cd3d9b8540b062",
|
||||||
|
"script.sh = cca1c5c7628d9bf7533f655a9cfa6573d64afb8375f81960d1d832dc5135c988",
|
||||||
|
"digest2.txt = 70b442c9f56660561921da3368e1a206f05c379182fab3062750b7ddcf303407"
|
||||||
|
), digest2Lines);
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
@@ -0,0 +1 @@
|
|||||||
|
Hello crazy world.
|
||||||
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
test
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
# where our app is hosted on the internets
|
||||||
|
appbase = http://notused.com/testapp
|
||||||
|
|
||||||
|
# the jar file that contains our code
|
||||||
|
code = testapp.jar
|
||||||
|
|
||||||
|
# the main entry point of our app
|
||||||
|
class = com.threerings.testapp.TestApp
|
||||||
|
|
||||||
|
# we pass the appdir to our app so that it can upgrade getdown
|
||||||
|
apparg = %APPDIR%
|
||||||
|
|
||||||
|
# test the %env% mechanism
|
||||||
|
jvmarg = -Dusername=\%ENV.USER%
|
||||||
|
|
||||||
|
strict_comments = true
|
||||||
|
resource = funny%test dir/some=file.txt
|
||||||
|
resource = crazyhashfile#txt
|
||||||
|
uresource = foo.jar
|
||||||
|
xresource = script.sh
|
||||||
|
|
||||||
|
ui.name = Getdown Test App
|
||||||
|
ui.background_image = background.png
|
||||||
|
ui.progress = 17, 321, 458, 22
|
||||||
|
ui.progress_bar = 336600
|
||||||
|
ui.progress_text = FFFFFF
|
||||||
|
ui.status = 57, 245, 373, 68
|
||||||
|
ui.status_text = 000000
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "Hello world!"
|
||||||
Binary file not shown.
Reference in New Issue
Block a user