13b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn/* 23b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * Copyright (C) 2017 The Android Open Source Project 33b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * 43b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * Licensed under the Apache License, Version 2.0 (the "License"); 53b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * you may not use this file except in compliance with the License. 63b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * You may obtain a copy of the License at 73b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * 83b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * http://www.apache.org/licenses/LICENSE-2.0 93b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * 103b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * Unless required by applicable law or agreed to in writing, software 113b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * distributed under the License is distributed on an "AS IS" BASIS, 123b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * See the License for the specific language governing permissions and 143b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * limitations under the License 153b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn */ 163b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn 173b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunnpackage com.android.services.telephony; 183b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn 193b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunnimport android.net.Uri; 203b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunnimport android.support.test.runner.AndroidJUnit4; 213b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunnimport android.telecom.Conference; 223b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunnimport android.telecom.ConferenceParticipant; 233b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn 243b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunnimport org.junit.Test; 253b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunnimport org.junit.runner.RunWith; 263b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn 273b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunnimport static com.android.services.telephony.ConferenceParticipantConnection.getParticipantAddress; 283b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunnimport static org.junit.Assert.assertEquals; 293b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn 303b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn/** 313b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn * Tests proper parsing of conference event package participant addresses. 323b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn */ 333b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn@RunWith(AndroidJUnit4.class) 343b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunnpublic class ConferenceParticipantConnectionTest { 353b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn 363b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn @Test 373b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn public void testParticipantParseSimpleTel() { 383b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn assertUrisEqual(Uri.parse("tel:+16505551212"), 393b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn getParticipantAddress(Uri.parse("tel:6505551212"), "US")); 403b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn } 413b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn 423b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn @Test 433b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn public void testParticipantParseTelExtended() { 443b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn assertUrisEqual(Uri.parse("tel:+16505551212"), 453b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn getParticipantAddress(Uri.parse("tel:6505551212;phone-context=blah"), "US")); 463b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn } 473b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn 483b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn @Test 493b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn public void testParticipantParseSip() { 503b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn assertUrisEqual(Uri.parse("tel:+16505551212"), 513b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn getParticipantAddress(Uri.parse("sip:16505551212;phone-context=blah.com@host.com"), 523b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn "US")); 533b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn } 543b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn 553b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn @Test 563b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn public void testParticipantParseSip2() { 573b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn assertUrisEqual(Uri.parse("tel:+12125551212"), 583b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn getParticipantAddress(Uri.parse("sip:+1-212-555-1212@something.com;user=phone"), 593b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn "US")); 603b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn } 613b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn 623b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn @Test 633b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn public void testParticipantParseTelJp() { 643b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn assertUrisEqual(Uri.parse("tel:+819066570660"), 653b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn getParticipantAddress(Uri.parse( 663b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn "tel:09066570660;phone-context=ims.mnc020.mcc440.3gppnetwork.org"), 673b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn "JP")); 683b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn } 693b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn 703b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn @Test 713b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn public void testParticipantParseSipJp() { 723b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn assertUrisEqual(Uri.parse("tel:+819066571180"), 733b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn getParticipantAddress(Uri.parse( 743b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn "sip:+819066571180@ims.mnc020.mcc440.3gppnetwork.org;user=phone"), 753b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn "JP")); 763b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn } 773b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn 783b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn private void assertUrisEqual(Uri expected, Uri actual) { 793b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn assertEquals(expected.getScheme(), actual.getScheme()); 803b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn assertEquals(expected.getSchemeSpecificPart(), actual.getSchemeSpecificPart()); 813b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn } 823b4966068ebf5e1f74e5536045d3b30088ef7934Tyler Gunn} 83