Merge "updater_sample: update tests"

This commit is contained in:
Zhomart Mukhamejanov
2018-05-03 22:52:36 +00:00
committed by Gerrit Code Review
3 changed files with 29 additions and 15 deletions
@@ -17,7 +17,8 @@
package com.example.android.systemupdatersample.util; 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_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.assertArrayEquals;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
@@ -28,6 +29,8 @@ import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4; import android.support.test.runner.AndroidJUnit4;
import com.example.android.systemupdatersample.PayloadSpec; 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.Before;
import org.junit.Rule; import org.junit.Rule;
@@ -56,16 +59,16 @@ public class PayloadSpecsTest {
private File mTestDir; private File mTestDir;
private Context mContext; private Context mTargetContext;
@Rule @Rule
public final ExpectedException thrown = ExpectedException.none(); public final ExpectedException thrown = ExpectedException.none();
@Before @Before
public void setUp() { public void setUp() {
mContext = InstrumentationRegistry.getTargetContext(); mTargetContext = InstrumentationRegistry.getTargetContext();
mTestDir = mContext.getFilesDir(); mTestDir = mTargetContext.getFilesDir();
} }
@Test @Test
@@ -87,6 +90,21 @@ public class PayloadSpecsTest {
PayloadSpecs.forNonStreaming(new File("/fake/news.zip")); 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 * Creates package zip file that contains payload.bin and payload_properties.txt
*/ */
@@ -114,4 +132,10 @@ public class PayloadSpecsTest {
return testFile; 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;
}
} }
@@ -18,14 +18,11 @@ package com.example.android.systemupdatersample.util;
import static org.junit.Assert.assertArrayEquals; 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.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4; import android.support.test.runner.AndroidJUnit4;
import com.example.android.systemupdatersample.UpdateConfig; import com.example.android.systemupdatersample.UpdateConfig;
import org.junit.Before;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.rules.ExpectedException; import org.junit.rules.ExpectedException;
@@ -41,16 +38,9 @@ import java.util.List;
@SmallTest @SmallTest
public class UpdateConfigsTest { public class UpdateConfigsTest {
private Context mContext;
@Rule @Rule
public final ExpectedException thrown = ExpectedException.none(); public final ExpectedException thrown = ExpectedException.none();
@Before
public void setUp() {
mContext = InstrumentationRegistry.getTargetContext();
}
@Test @Test
public void configsToNames_extractsNames() { public void configsToNames_extractsNames() {
List<UpdateConfig> configs = Arrays.asList( List<UpdateConfig> configs = Arrays.asList(
+1 -1
View File
@@ -17,7 +17,7 @@
""" """
Given a OTA package file, produces update config JSON file. 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 \\ --ab_install_type=STREAMING \\
ota-build-001.zip \\ ota-build-001.zip \\
my-config-001.json \\ my-config-001.json \\