10fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski/* 20fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * Copyright (C) 2016 The Android Open Source Project 30fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * 40fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * Licensed under the Apache License, Version 2.0 (the "License"); 50fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * you may not use this file except in compliance with the License. 60fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * You may obtain a copy of the License at 70fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * 80fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * http://www.apache.org/licenses/LICENSE-2.0 90fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * 100fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * Unless required by applicable law or agreed to in writing, software 110fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * distributed under the License is distributed on an "AS IS" BASIS, 120fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * See the License for the specific language governing permissions and 140fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * limitations under the License. 150fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski */ 160fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski 170fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowskipackage com.android.server.wifi; 180fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski 190fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowskiimport static org.junit.Assert.assertFalse; 200fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowskiimport static org.junit.Assert.assertTrue; 210fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski 220fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowskiimport android.content.pm.UserInfo; 230fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowskiimport android.net.wifi.WifiConfiguration; 240fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowskiimport android.os.UserHandle; 250fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowskiimport android.test.suitebuilder.annotation.SmallTest; 260fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski 270fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowskiimport org.junit.Test; 280fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski 290fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowskiimport java.util.Arrays; 300fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowskiimport java.util.List; 310fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski 320fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski/** 330fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * Unit tests for {@link com.android.server.wifi.WifiConfigurationUtil}. 340fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski */ 350fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski@SmallTest 360fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowskipublic class WifiConfigurationUtilTest { 370fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski static final int CURRENT_USER_ID = 0; 380fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski static final int CURRENT_USER_MANAGED_PROFILE_USER_ID = 10; 390fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski static final int OTHER_USER_ID = 11; 400fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski static final List<UserInfo> PROFILES = Arrays.asList( 410fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski new UserInfo(CURRENT_USER_ID, "owner", 0), 420fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski new UserInfo(CURRENT_USER_MANAGED_PROFILE_USER_ID, "managed profile", 0)); 430fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski 440fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski /** 450fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski * Test for {@link WifiConfigurationUtil.isVisibleToAnyProfile}. 460fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski */ 470fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski @Test 480fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski public void isVisibleToAnyProfile() { 490fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski // Shared network configuration created by another user. 500fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski final WifiConfiguration configuration = new WifiConfiguration(); 510fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski configuration.creatorUid = UserHandle.getUid(OTHER_USER_ID, 0); 520fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski assertTrue(WifiConfigurationUtil.isVisibleToAnyProfile(configuration, PROFILES)); 530fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski 540fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski // Private network configuration created by another user. 550fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski configuration.shared = false; 560fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski assertFalse(WifiConfigurationUtil.isVisibleToAnyProfile(configuration, PROFILES)); 570fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski 580fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski // Private network configuration created by the current user. 590fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski configuration.creatorUid = UserHandle.getUid(CURRENT_USER_ID, 0); 600fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski assertTrue(WifiConfigurationUtil.isVisibleToAnyProfile(configuration, PROFILES)); 610fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski 620fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski // Private network configuration created by the current user's managed profile. 630fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski configuration.creatorUid = UserHandle.getUid(CURRENT_USER_MANAGED_PROFILE_USER_ID, 0); 640fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski assertTrue(WifiConfigurationUtil.isVisibleToAnyProfile(configuration, PROFILES)); 650fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski } 660fb9cf43830d67894b519c9a6271320c4842a5c0Bartosz Fabianowski} 67