Use external/robolectric-shadows/run_robotests.mk

This allows Settings to test against the latest framework changes.

Also replaced TestConfig with traditional robolectric.properties.

Bug: 73173204
Bug: 73892008
Test: make -j56 RunSettingsRoboTests
Change-Id: I3135b4fa5f095ba79b282a76f45dd9baa2584bc7
This commit is contained in:
James Lemieux
2018-02-26 00:51:42 -08:00
parent 229a6a2bc4
commit 22a39c2b93
752 changed files with 5096 additions and 9182 deletions

View File

@@ -16,20 +16,13 @@
package com.android.settings.support;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity
.PERMANENT_DISMISS_THRESHOLD;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity
.PREF_KEY_SUGGGESTION_COMPLETE;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity
.PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity.PERMANENT_DISMISS_THRESHOLD;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity.PREF_KEY_SUGGGESTION_COMPLETE;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity.PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity.isSuggestionComplete;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.when;
import static org.robolectric.RuntimeEnvironment.application;
import android.content.Context;
import android.content.Intent;
@@ -37,7 +30,6 @@ import android.content.SharedPreferences;
import android.content.pm.ResolveInfo;
import com.android.settings.R;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -47,28 +39,27 @@ import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowPackageManager;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class NewDeviceIntroSuggestionActivityTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mMockContext;
private FakeFeatureFactory mFeatureFactory;
private Context mContext;
private FakeFeatureFactory mFeatureFactory;
private ShadowPackageManager mShadowPackageManager;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mFeatureFactory = FakeFeatureFactory.setupForTest();
mContext = application;
mShadowPackageManager = Shadows.shadowOf(application.getPackageManager());
mContext = RuntimeEnvironment.application;
mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager());
mFeatureFactory = FakeFeatureFactory.setupForTest();
when(mFeatureFactory.suggestionsFeatureProvider.getSharedPrefs(any(Context.class)))
.thenReturn(getSharedPreferences());
}
@@ -79,8 +70,7 @@ public class NewDeviceIntroSuggestionActivityTest {
.getBoolean(R.bool.config_new_device_intro_suggestion_supported))
.thenReturn(false);
assertThat(isSuggestionComplete(mContext))
.isTrue();
assertThat(isSuggestionComplete(mContext)).isTrue();
}
@Test
@@ -89,16 +79,14 @@ public class NewDeviceIntroSuggestionActivityTest {
getSharedPreferences().edit().putLong(PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME,
currentTime - 2 * PERMANENT_DISMISS_THRESHOLD);
assertThat(isSuggestionComplete(mContext))
.isTrue();
assertThat(isSuggestionComplete(mContext)).isTrue();
}
@Test
public void isSuggestionComplete_noUrl_shouldReturnTrue() {
when(mFeatureFactory.supportFeatureProvider.getNewDeviceIntroUrl(any(Context.class)))
.thenReturn(null);
assertThat(isSuggestionComplete(mContext))
.isTrue();
assertThat(isSuggestionComplete(mContext)).isTrue();
}
@Test
@@ -108,8 +96,7 @@ public class NewDeviceIntroSuggestionActivityTest {
getSharedPreferences().edit().putBoolean(PREF_KEY_SUGGGESTION_COMPLETE, true).commit();
assertThat(isSuggestionComplete(mContext))
.isTrue();
assertThat(isSuggestionComplete(mContext)).isTrue();
}
@Test
@@ -125,5 +112,4 @@ public class NewDeviceIntroSuggestionActivityTest {
private SharedPreferences getSharedPreferences() {
return mContext.getSharedPreferences("test_new_device_sugg", Context.MODE_PRIVATE);
}
}

View File

@@ -16,19 +16,16 @@
package com.android.settings.support;
import static com.google.common.truth.Truth.assertThat;
import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import static com.google.common.truth.Truth.assertThat;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SupportConfigTest {
@Test

View File

@@ -16,38 +16,32 @@
package com.android.settings.support;
import static com.google.common.truth.Truth.assertThat;
import static org.robolectric.RuntimeEnvironment.application;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import com.android.settings.R;
import com.android.settings.TestConfig;
import com.android.settings.search.SearchIndexableRaw;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.RuntimeEnvironment;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SupportDashboardActivityTest {
private Context mContext;
@Before
public void setUp() {
mContext = application;
mContext = RuntimeEnvironment.application;
}
@Test
@@ -69,15 +63,13 @@ public class SupportDashboardActivityTest {
@Test
public void shouldHandleIntentAction() {
PackageManager packageManager = application.getPackageManager();
Shadows.shadowOf(packageManager).setQueryIntentImplicitly(true);
PackageManager packageManager = mContext.getPackageManager();
// Intent action used by setup wizard to start support settings
Intent intent = new Intent("com.android.settings.action.SUPPORT_SETTINGS");
ResolveInfo resolveInfo = packageManager.resolveActivity(
intent,
PackageManager.MATCH_DEFAULT_ONLY);
ResolveInfo resolveInfo =
packageManager.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
assertThat(resolveInfo).isNotNull();
assertThat(resolveInfo.activityInfo.targetActivity)
assertThat(resolveInfo.activityInfo.name)
.isEqualTo(SupportDashboardActivity.class.getName());
}
}

View File

@@ -23,7 +23,6 @@ import static org.mockito.Mockito.verify;
import android.content.Context;
import android.os.Bundle;
import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.core.lifecycle.ObservablePreferenceFragment;
@@ -32,10 +31,8 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class HelpMenuControllerTest {
@Mock
@@ -60,7 +57,6 @@ public class HelpMenuControllerTest {
mHost.getLifecycle().onCreateOptionsMenu(null /* menu */, null /* inflater */);
verify(mContext).getString(123);
}
@Test
@@ -72,13 +68,12 @@ public class HelpMenuControllerTest {
verify(mContext).getString(mHost.getHelpResource());
}
public static class TestFragment extends ObservablePreferenceFragment
implements HelpResourceProvider {
private static class TestFragment
extends ObservablePreferenceFragment
implements HelpResourceProvider {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
}
}
}