• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package android.app;
2 
3 import static com.google.common.truth.Truth.assertThat;
4 
5 import android.net.vcn.VcnManager;
6 import android.os.Build;
7 import android.os.ParcelUuid;
8 import androidx.test.core.app.ActivityScenario;
9 import androidx.test.core.app.ApplicationProvider;
10 import androidx.test.ext.junit.runners.AndroidJUnit4;
11 import androidx.test.filters.SdkSuppress;
12 import java.util.List;
13 import org.junit.Test;
14 import org.junit.runner.RunWith;
15 import org.robolectric.testapp.TestActivity;
16 
17 /** Compatibility test for {@link VcnManager}. */
18 @SdkSuppress(minSdkVersion = Build.VERSION_CODES.S)
19 @RunWith(AndroidJUnit4.class)
20 public class VcnManagerTest {
21 
22   @Test
vcnManager_applicationInstance_isNotSameAsActivityInstance()23   public void vcnManager_applicationInstance_isNotSameAsActivityInstance() {
24     VcnManager applicationVcnManager =
25         ApplicationProvider.getApplicationContext().getSystemService(VcnManager.class);
26     try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
27       scenario.onActivity(
28           activity -> {
29             VcnManager activityVcnManager = activity.getSystemService(VcnManager.class);
30             assertThat(applicationVcnManager).isNotSameInstanceAs(activityVcnManager);
31           });
32     }
33   }
34 
35   @Test
vcnManager_activityInstance_isSameAsActivityInstance()36   public void vcnManager_activityInstance_isSameAsActivityInstance() {
37     try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
38       scenario.onActivity(
39           activity -> {
40             VcnManager activityVcnManager = activity.getSystemService(VcnManager.class);
41             VcnManager anotherActivityVcnManager = activity.getSystemService(VcnManager.class);
42             assertThat(anotherActivityVcnManager).isSameInstanceAs(activityVcnManager);
43           });
44     }
45   }
46 
47   @Test
vcnManager_instance_retrievesSameConfiguredSubscriptionGroups()48   public void vcnManager_instance_retrievesSameConfiguredSubscriptionGroups() {
49     VcnManager applicationVcnManager =
50         ApplicationProvider.getApplicationContext().getSystemService(VcnManager.class);
51     try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
52       scenario.onActivity(
53           activity -> {
54             VcnManager activityVcnManager = activity.getSystemService(VcnManager.class);
55 
56             List<ParcelUuid> applicationConfiguredSubscriptionGroups =
57                 applicationVcnManager.getConfiguredSubscriptionGroups();
58             List<ParcelUuid> activityConfiguredSubscriptionGroups =
59                 activityVcnManager.getConfiguredSubscriptionGroups();
60 
61             assertThat(applicationConfiguredSubscriptionGroups).isNotNull();
62             assertThat(activityConfiguredSubscriptionGroups).isNotNull();
63 
64             assertThat(activityConfiguredSubscriptionGroups)
65                 .isEqualTo(applicationConfiguredSubscriptionGroups);
66           });
67     }
68   }
69 }
70