Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56c7a326 authored by Remi NGUYEN VAN's avatar Remi NGUYEN VAN Committed by Courtney Goeltzenleuchter
Browse files

Call clearSettingsProvider before and after test

FakeSettingsProvider requires this method to be called before and after
use. Without this, the settings value or content provider may be cached
statically, so the test will be affected by code accessing settings
before it is run.

Bug: b/116668105
Test: atest FrameworksNetTests
Change-Id: I1480f3f3bbb17791752582a70327bb5c7c348d7c
(cherry picked from commit 91a1cc11)
parent a226524a
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ import static org.mockito.Mockito.when;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.ContentProvider;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
@@ -248,7 +249,7 @@ public class ConnectivityServiceTest {
        @Spy private Resources mResources;
        private final LinkedBlockingQueue<Intent> mStartedActivities = new LinkedBlockingQueue<>();

        MockContext(Context base) {
        MockContext(Context base, ContentProvider settingsProvider) {
            super(base);

            mResources = spy(base.getResources());
@@ -260,7 +261,7 @@ public class ConnectivityServiceTest {
                    });

            mContentResolver = new MockContentResolver();
            mContentResolver.addProvider(Settings.AUTHORITY, new FakeSettingsProvider());
            mContentResolver.addProvider(Settings.AUTHORITY, settingsProvider);
        }

        @Override
@@ -1048,7 +1049,9 @@ public class ConnectivityServiceTest {
            Looper.prepare();
        }

        mServiceContext = new MockContext(InstrumentationRegistry.getContext());
        FakeSettingsProvider.clearSettingsProvider();
        mServiceContext = new MockContext(InstrumentationRegistry.getContext(),
                new FakeSettingsProvider());
        LocalServices.removeServiceForTest(NetworkPolicyManagerInternal.class);
        LocalServices.addService(
                NetworkPolicyManagerInternal.class, mock(NetworkPolicyManagerInternal.class));
@@ -1086,6 +1089,7 @@ public class ConnectivityServiceTest {
            mEthernetNetworkAgent.disconnect();
            mEthernetNetworkAgent = null;
        }
        FakeSettingsProvider.clearSettingsProvider();
    }

    private static int transportToLegacyType(int transport) {