summaryrefslogtreecommitdiffstats
path: root/updater_sample/tests
diff options
context:
space:
mode:
authorZhomart Mukhamejanov <zhomart@google.com>2018-05-04 21:17:01 +0200
committerZhomart Mukhamejanov <zhomart@google.com>2018-05-08 23:13:34 +0200
commit96eb59e4b13b07a18fc1a6a85786f2c287bd21db (patch)
tree5fe427b593f4ae9c39692082ab03e45c272ce077 /updater_sample/tests
parentMerge "recovery: Remove unneeded include of minui.h." (diff)
downloadandroid_bootable_recovery-96eb59e4b13b07a18fc1a6a85786f2c287bd21db.tar
android_bootable_recovery-96eb59e4b13b07a18fc1a6a85786f2c287bd21db.tar.gz
android_bootable_recovery-96eb59e4b13b07a18fc1a6a85786f2c287bd21db.tar.bz2
android_bootable_recovery-96eb59e4b13b07a18fc1a6a85786f2c287bd21db.tar.lz
android_bootable_recovery-96eb59e4b13b07a18fc1a6a85786f2c287bd21db.tar.xz
android_bootable_recovery-96eb59e4b13b07a18fc1a6a85786f2c287bd21db.tar.zst
android_bootable_recovery-96eb59e4b13b07a18fc1a6a85786f2c287bd21db.zip
Diffstat (limited to 'updater_sample/tests')
-rw-r--r--updater_sample/tests/res/raw/ota_002_package.zipbin638 -> 2181 bytes
-rw-r--r--updater_sample/tests/res/raw/update_config_stream_002.json23
-rw-r--r--updater_sample/tests/src/com/example/android/systemupdatersample/util/FileDownloaderTest.java4
-rw-r--r--updater_sample/tests/src/com/example/android/systemupdatersample/util/PayloadSpecsTest.java56
4 files changed, 32 insertions, 51 deletions
diff --git a/updater_sample/tests/res/raw/ota_002_package.zip b/updater_sample/tests/res/raw/ota_002_package.zip
index 145c62e6a..6bf2a23b2 100644
--- a/updater_sample/tests/res/raw/ota_002_package.zip
+++ b/updater_sample/tests/res/raw/ota_002_package.zip
Binary files differ
diff --git a/updater_sample/tests/res/raw/update_config_stream_002.json b/updater_sample/tests/res/raw/update_config_stream_002.json
index f00f19ce6..cf4469b1c 100644
--- a/updater_sample/tests/res/raw/update_config_stream_002.json
+++ b/updater_sample/tests/res/raw/update_config_stream_002.json
@@ -4,29 +4,34 @@
"ab_streaming_metadata": {
"property_files": [
{
+ "filename": "payload_metadata.bin",
+ "offset": 41,
+ "size": 827
+ },
+ {
"filename": "payload.bin",
"offset": 41,
- "size": 7
+ "size": 1392
},
{
"filename": "payload_properties.txt",
- "offset": 100,
- "size": 18
+ "offset": 1485,
+ "size": 147
},
{
"filename": "care_map.txt",
- "offset": 160,
- "size": 8
+ "offset": 1674,
+ "size": 12
},
{
"filename": "compatibility.zip",
- "offset": 215,
- "size": 13
+ "offset": 1733,
+ "size": 17
},
{
"filename": "metadata",
- "offset": 287,
- "size": 8
+ "offset": 1809,
+ "size": 29
}
]
},
diff --git a/updater_sample/tests/src/com/example/android/systemupdatersample/util/FileDownloaderTest.java b/updater_sample/tests/src/com/example/android/systemupdatersample/util/FileDownloaderTest.java
index 80506ee6d..009610e86 100644
--- a/updater_sample/tests/src/com/example/android/systemupdatersample/util/FileDownloaderTest.java
+++ b/updater_sample/tests/src/com/example/android/systemupdatersample/util/FileDownloaderTest.java
@@ -70,11 +70,11 @@ public class FileDownloaderTest {
.toFile();
Files.deleteIfExists(outFile.toPath());
// download a chunk of ota.zip
- FileDownloader downloader = new FileDownloader(url, 160, 8, outFile);
+ FileDownloader downloader = new FileDownloader(url, 1674, 12, outFile);
downloader.download();
String downloadedContent = String.join("\n", Files.readAllLines(outFile.toPath()));
// archive contains text files with uppercase filenames
- assertEquals("CARE_MAP", downloadedContent);
+ assertEquals("CARE_MAP-TXT", downloadedContent);
}
}
diff --git a/updater_sample/tests/src/com/example/android/systemupdatersample/util/PayloadSpecsTest.java b/updater_sample/tests/src/com/example/android/systemupdatersample/util/PayloadSpecsTest.java
index 2912e209e..d9e54652f 100644
--- a/updater_sample/tests/src/com/example/android/systemupdatersample/util/PayloadSpecsTest.java
+++ b/updater_sample/tests/src/com/example/android/systemupdatersample/util/PayloadSpecsTest.java
@@ -17,8 +17,6 @@
package com.example.android.systemupdatersample.util;
import static com.example.android.systemupdatersample.util.PackageFiles.PAYLOAD_BINARY_FILE_NAME;
-import static com.example.android.systemupdatersample.util.PackageFiles
- .PAYLOAD_PROPERTIES_FILE_NAME;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
@@ -29,6 +27,7 @@ import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4;
import com.example.android.systemupdatersample.PayloadSpec;
+import com.example.android.systemupdatersample.tests.R;
import com.google.common.base.Charsets;
import com.google.common.io.Files;
@@ -39,12 +38,8 @@ import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-import java.util.zip.CRC32;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
+import java.nio.file.Paths;
/**
* Tests if PayloadSpecs parses update package zip file correctly.
@@ -54,12 +49,11 @@ import java.util.zip.ZipOutputStream;
public class PayloadSpecsTest {
private static final String PROPERTIES_CONTENTS = "k1=val1\nkey2=val2";
- private static final String PAYLOAD_CONTENTS = "hello\nworld";
- private static final int PAYLOAD_SIZE = PAYLOAD_CONTENTS.length();
private File mTestDir;
private Context mTargetContext;
+ private Context mTestContext;
@Rule
public final ExpectedException thrown = ExpectedException.none();
@@ -67,21 +61,30 @@ public class PayloadSpecsTest {
@Before
public void setUp() {
mTargetContext = InstrumentationRegistry.getTargetContext();
+ mTestContext = InstrumentationRegistry.getContext();
mTestDir = mTargetContext.getFilesDir();
}
@Test
public void forNonStreaming_works() throws Exception {
- File packageFile = createMockZipFile();
+ // Prepare the target file
+ File packageFile = Paths
+ .get(mTargetContext.getCacheDir().getAbsolutePath(), "ota.zip")
+ .toFile();
+ java.nio.file.Files.deleteIfExists(packageFile.toPath());
+ java.nio.file.Files.copy(mTestContext.getResources().openRawResource(R.raw.ota_002_package),
+ packageFile.toPath());
PayloadSpec spec = PayloadSpecs.forNonStreaming(packageFile);
assertEquals("correct url", "file://" + packageFile.getAbsolutePath(), spec.getUrl());
assertEquals("correct payload offset",
30 + PAYLOAD_BINARY_FILE_NAME.length(), spec.getOffset());
- assertEquals("correct payload size", PAYLOAD_SIZE, spec.getSize());
- assertArrayEquals("correct properties",
- new String[]{"k1=val1", "key2=val2"}, spec.getProperties().toArray(new String[0]));
+ assertEquals("correct payload size", 1392, spec.getSize());
+ assertEquals(4, spec.getProperties().size());
+ assertEquals(
+ "FILE_HASH=sEAK/NMbU7GGe01xt55FsPafIPk8IYyBOAd6SiDpiMs=",
+ spec.getProperties().get(0));
}
@Test
@@ -105,33 +108,6 @@ public class PayloadSpecsTest {
new String[]{"k1=val1", "key2=val2"}, spec.getProperties().toArray(new String[0]));
}
- /**
- * Creates package zip file that contains payload.bin and payload_properties.txt
- */
- private File createMockZipFile() throws IOException {
- File testFile = new File(mTestDir, "test.zip");
- try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(testFile))) {
- // Add payload.bin entry.
- ZipEntry entry = new ZipEntry(PAYLOAD_BINARY_FILE_NAME);
- entry.setMethod(ZipEntry.STORED);
- entry.setCompressedSize(PAYLOAD_SIZE);
- entry.setSize(PAYLOAD_SIZE);
- CRC32 crc = new CRC32();
- crc.update(PAYLOAD_CONTENTS.getBytes(StandardCharsets.UTF_8));
- entry.setCrc(crc.getValue());
- zos.putNextEntry(entry);
- zos.write(PAYLOAD_CONTENTS.getBytes(StandardCharsets.UTF_8));
- zos.closeEntry();
-
- // Add payload properties entry.
- ZipEntry propertiesEntry = new ZipEntry(PAYLOAD_PROPERTIES_FILE_NAME);
- zos.putNextEntry(propertiesEntry);
- zos.write(PROPERTIES_CONTENTS.getBytes(StandardCharsets.UTF_8));
- zos.closeEntry();
- }
- return testFile;
- }
-
private File createMockPropertiesFile() throws IOException {
File propertiesFile = new File(mTestDir, PackageFiles.PAYLOAD_PROPERTIES_FILE_NAME);
Files.asCharSink(propertiesFile, Charsets.UTF_8).write(PROPERTIES_CONTENTS);