From e606f6d3ff728ff4a1cb279aa9294a087fd57dd4 Mon Sep 17 00:00:00 2001 From: Zhomart Mukhamejanov Date: Wed, 2 May 2018 20:47:05 -0700 Subject: updater_sample: update tests - fix tools/gen_update_config.py - add tests for PayloadSpecs#forStreaming Test: junit4 Change-Id: Ife1980c5f72944ed35500aa820b30031fc99e820 Signed-off-by: Zhomart Mukhamejanov --- .../systemupdatersample/util/PayloadSpecsTest.java | 32 +++++++++++++++++++--- .../util/UpdateConfigsTest.java | 10 ------- updater_sample/tools/gen_update_config.py | 2 +- 3 files changed, 29 insertions(+), 15 deletions(-) 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 c13ba5556..2912e209e 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,7 +17,8 @@ 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 com.example.android.systemupdatersample.util.PackageFiles + .PAYLOAD_PROPERTIES_FILE_NAME; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -28,6 +29,8 @@ import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; import com.example.android.systemupdatersample.PayloadSpec; +import com.google.common.base.Charsets; +import com.google.common.io.Files; import org.junit.Before; import org.junit.Rule; @@ -56,16 +59,16 @@ public class PayloadSpecsTest { private File mTestDir; - private Context mContext; + private Context mTargetContext; @Rule public final ExpectedException thrown = ExpectedException.none(); @Before public void setUp() { - mContext = InstrumentationRegistry.getTargetContext(); + mTargetContext = InstrumentationRegistry.getTargetContext(); - mTestDir = mContext.getFilesDir(); + mTestDir = mTargetContext.getFilesDir(); } @Test @@ -87,6 +90,21 @@ public class PayloadSpecsTest { PayloadSpecs.forNonStreaming(new File("/fake/news.zip")); } + @Test + public void forStreaming_works() throws Exception { + String url = "http://a.com/b.zip"; + long offset = 45; + long size = 200; + File propertiesFile = createMockPropertiesFile(); + + PayloadSpec spec = PayloadSpecs.forStreaming(url, offset, size, propertiesFile); + assertEquals("same url", url, spec.getUrl()); + assertEquals("same offset", offset, spec.getOffset()); + assertEquals("same size", size, spec.getSize()); + assertArrayEquals("correct properties", + new String[]{"k1=val1", "key2=val2"}, spec.getProperties().toArray(new String[0])); + } + /** * Creates package zip file that contains payload.bin and payload_properties.txt */ @@ -114,4 +132,10 @@ public class PayloadSpecsTest { 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); + return propertiesFile; + } + } diff --git a/updater_sample/tests/src/com/example/android/systemupdatersample/util/UpdateConfigsTest.java b/updater_sample/tests/src/com/example/android/systemupdatersample/util/UpdateConfigsTest.java index c85698c0f..4ccae9380 100644 --- a/updater_sample/tests/src/com/example/android/systemupdatersample/util/UpdateConfigsTest.java +++ b/updater_sample/tests/src/com/example/android/systemupdatersample/util/UpdateConfigsTest.java @@ -18,14 +18,11 @@ package com.example.android.systemupdatersample.util; import static org.junit.Assert.assertArrayEquals; -import android.content.Context; -import android.support.test.InstrumentationRegistry; import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; import com.example.android.systemupdatersample.UpdateConfig; -import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; @@ -41,16 +38,9 @@ import java.util.List; @SmallTest public class UpdateConfigsTest { - private Context mContext; - @Rule public final ExpectedException thrown = ExpectedException.none(); - @Before - public void setUp() { - mContext = InstrumentationRegistry.getTargetContext(); - } - @Test public void configsToNames_extractsNames() { List configs = Arrays.asList( diff --git a/updater_sample/tools/gen_update_config.py b/updater_sample/tools/gen_update_config.py index cb9bd0119..057812479 100755 --- a/updater_sample/tools/gen_update_config.py +++ b/updater_sample/tools/gen_update_config.py @@ -17,7 +17,7 @@ """ Given a OTA package file, produces update config JSON file. -Example: tools/gen_update.config.py \\ +Example: tools/gen_update_config.py \\ --ab_install_type=STREAMING \\ ota-build-001.zip \\ my-config-001.json \\ -- cgit v1.2.3