Add methods setFlag and resetAll in FeatureFlags in test mode. For the injection usecase, user will use the interface FeatureFlags in the code to control the flags. Add tests for test mode. Bug: 280833463 Test: Atest AconfigJavaHostTest --host Change-Id: Ib59ba35a9011a6400af42fc9c283d37193577997
57 lines
2.1 KiB
Java
57 lines
2.1 KiB
Java
import static com.android.aconfig.test.Flags.FLAG_DISABLED_RO;
|
|
import static com.android.aconfig.test.Flags.FLAG_DISABLED_RW;
|
|
import static com.android.aconfig.test.Flags.FLAG_ENABLED_RO;
|
|
import static com.android.aconfig.test.Flags.FLAG_ENABLED_RW;
|
|
import static com.android.aconfig.test.Flags.disabledRo;
|
|
import static com.android.aconfig.test.Flags.disabledRw;
|
|
import static com.android.aconfig.test.Flags.enabledRo;
|
|
import static com.android.aconfig.test.Flags.enabledRw;
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertFalse;
|
|
import static org.junit.Assert.assertThrows;
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
|
import org.junit.runners.JUnit4;
|
|
|
|
import com.android.aconfig.test.FakeFeatureFlagsImpl;
|
|
import com.android.aconfig.test.FeatureFlags;
|
|
|
|
@RunWith(JUnit4.class)
|
|
public final class AconfigTest {
|
|
@Test
|
|
public void testDisabledReadOnlyFlag() {
|
|
assertEquals("com.android.aconfig.test.disabled_ro", FLAG_DISABLED_RO);
|
|
assertFalse(disabledRo());
|
|
}
|
|
|
|
@Test
|
|
public void testEnabledReadOnlyFlag() {
|
|
assertEquals("com.android.aconfig.test.disabled_rw", FLAG_DISABLED_RW);
|
|
// TODO: change to assertTrue(enabledRo()) when the build supports reading tests/*.values
|
|
// (currently all flags are assigned the default READ_ONLY + DISABLED)
|
|
assertFalse(enabledRo());
|
|
}
|
|
|
|
@Test
|
|
public void testDisabledReadWriteFlag() {
|
|
assertEquals("com.android.aconfig.test.enabled_ro", FLAG_ENABLED_RO);
|
|
assertFalse(disabledRw());
|
|
}
|
|
|
|
@Test
|
|
public void testEnabledReadWriteFlag() {
|
|
assertEquals("com.android.aconfig.test.enabled_rw", FLAG_ENABLED_RW);
|
|
// TODO: change to assertTrue(enabledRw()) when the build supports reading tests/*.values
|
|
// (currently all flags are assigned the default READ_ONLY + DISABLED)
|
|
assertFalse(enabledRw());
|
|
}
|
|
|
|
@Test
|
|
public void testFakeFeatureFlagsImplNotImpl() {
|
|
FeatureFlags featureFlags = new FakeFeatureFlagsImpl();
|
|
assertThrows(UnsupportedOperationException.class, () -> featureFlags.enabledRw());
|
|
}
|
|
}
|