diff options
author | Zhomart Mukhamejanov <zhomart@google.com> | 2018-05-01 21:05:22 +0200 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-05-01 21:05:22 +0200 |
commit | af5958818aa5319a131954b3e306ea20f08cff83 (patch) | |
tree | c7bdff9e0abf705aeb73156ac23036489496604c /updater_sample/tests/src | |
parent | Merge "recovery: Split main() into recovery_main.cpp." (diff) | |
parent | updater_sample: Improve UpdateConfig (diff) | |
download | android_bootable_recovery-af5958818aa5319a131954b3e306ea20f08cff83.tar android_bootable_recovery-af5958818aa5319a131954b3e306ea20f08cff83.tar.gz android_bootable_recovery-af5958818aa5319a131954b3e306ea20f08cff83.tar.bz2 android_bootable_recovery-af5958818aa5319a131954b3e306ea20f08cff83.tar.lz android_bootable_recovery-af5958818aa5319a131954b3e306ea20f08cff83.tar.xz android_bootable_recovery-af5958818aa5319a131954b3e306ea20f08cff83.tar.zst android_bootable_recovery-af5958818aa5319a131954b3e306ea20f08cff83.zip |
Diffstat (limited to 'updater_sample/tests/src')
2 files changed, 46 insertions, 12 deletions
diff --git a/updater_sample/tests/src/com/example/android/systemupdatersample/UpdateConfigTest.java b/updater_sample/tests/src/com/example/android/systemupdatersample/UpdateConfigTest.java index 87153715e..0975e76be 100644 --- a/updater_sample/tests/src/com/example/android/systemupdatersample/UpdateConfigTest.java +++ b/updater_sample/tests/src/com/example/android/systemupdatersample/UpdateConfigTest.java @@ -19,14 +19,23 @@ package com.example.android.systemupdatersample; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; +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.tests.R; +import com.google.common.io.CharStreams; + +import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; +import java.io.IOException; +import java.io.InputStreamReader; + /** * Tests for {@link UpdateConfig} */ @@ -36,27 +45,48 @@ public class UpdateConfigTest { private static final String JSON_NON_STREAMING = "{\"name\": \"vip update\", \"url\": \"file:///builds/a.zip\", " - + " \"type\": \"NON_STREAMING\"}"; - - private static final String JSON_STREAMING = - "{\"name\": \"vip update 2\", \"url\": \"http://foo.bar/a.zip\", " - + "\"type\": \"STREAMING\"}"; + + " \"ab_install_type\": \"NON_STREAMING\"}"; @Rule public final ExpectedException thrown = ExpectedException.none(); + private Context mContext; + private Context mTargetContext; + private String mJsonStreaming001; + + @Before + public void setUp() throws Exception { + mContext = InstrumentationRegistry.getContext(); + mTargetContext = InstrumentationRegistry.getTargetContext(); + mJsonStreaming001 = readResource(R.raw.update_config_stream_001); + } + @Test - public void fromJson_parsesJsonConfigWithoutMetadata() throws Exception { + public void fromJson_parsesNonStreaming() throws Exception { UpdateConfig config = UpdateConfig.fromJson(JSON_NON_STREAMING); assertEquals("name is parsed", "vip update", config.getName()); assertEquals("stores raw json", JSON_NON_STREAMING, config.getRawJson()); - assertSame("type is parsed", UpdateConfig.TYPE_NON_STREAMING, config.getInstallType()); + assertSame("type is parsed", + UpdateConfig.AB_INSTALL_TYPE_NON_STREAMING, + config.getInstallType()); assertEquals("url is parsed", "file:///builds/a.zip", config.getUrl()); } @Test + public void fromJson_parsesStreaming() throws Exception { + UpdateConfig config = UpdateConfig.fromJson(mJsonStreaming001); + assertEquals("streaming-001", config.getName()); + assertEquals("http://foo.bar/update.zip", config.getUrl()); + assertSame(UpdateConfig.AB_INSTALL_TYPE_STREAMING, config.getInstallType()); + assertEquals("payload.bin", + config.getStreamingMetadata().getPropertyFiles()[0].getFilename()); + assertEquals(195, config.getStreamingMetadata().getPropertyFiles()[0].getOffset()); + assertEquals(8, config.getStreamingMetadata().getPropertyFiles()[0].getSize()); + } + + @Test public void getUpdatePackageFile_throwsErrorIfStreaming() throws Exception { - UpdateConfig config = UpdateConfig.fromJson(JSON_STREAMING); + UpdateConfig config = UpdateConfig.fromJson(mJsonStreaming001); thrown.expect(RuntimeException.class); config.getUpdatePackageFile(); } @@ -64,7 +94,7 @@ public class UpdateConfigTest { @Test public void getUpdatePackageFile_throwsErrorIfNotAFile() throws Exception { String json = "{\"name\": \"upd\", \"url\": \"http://foo.bar\"," - + " \"type\": \"NON_STREAMING\"}"; + + " \"ab_install_type\": \"NON_STREAMING\"}"; UpdateConfig config = UpdateConfig.fromJson(json); thrown.expect(RuntimeException.class); config.getUpdatePackageFile(); @@ -73,7 +103,11 @@ public class UpdateConfigTest { @Test public void getUpdatePackageFile_works() throws Exception { UpdateConfig c = UpdateConfig.fromJson(JSON_NON_STREAMING); - assertEquals("correct path", "/builds/a.zip", c.getUpdatePackageFile().getAbsolutePath()); + assertEquals("/builds/a.zip", c.getUpdatePackageFile().getAbsolutePath()); } + private String readResource(int id) throws IOException { + return CharStreams.toString(new InputStreamReader( + mContext.getResources().openRawResource(id))); + } } 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 4aa8c6453..c85698c0f 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 @@ -54,8 +54,8 @@ public class UpdateConfigsTest { @Test public void configsToNames_extractsNames() { List<UpdateConfig> configs = Arrays.asList( - new UpdateConfig("blah", "http://", UpdateConfig.TYPE_NON_STREAMING), - new UpdateConfig("blah 2", "http://", UpdateConfig.TYPE_STREAMING) + new UpdateConfig("blah", "http://", UpdateConfig.AB_INSTALL_TYPE_NON_STREAMING), + new UpdateConfig("blah 2", "http://", UpdateConfig.AB_INSTALL_TYPE_STREAMING) ); String[] names = UpdateConfigs.configsToNames(configs); assertArrayEquals(new String[] {"blah", "blah 2"}, names); |