1fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 2fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Copyright (C) 2017 The Android Open Source Project 3fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * 4fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Licensed under the Apache License, Version 2.0 (the "License"); 5fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * you may not use this file except in compliance with the License. 6fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * You may obtain a copy of the License at 7fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * 8fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * http://www.apache.org/licenses/LICENSE-2.0 9fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * 10fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Unless required by applicable law or agreed to in writing, software 11fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * distributed under the License is distributed on an "AS IS" BASIS, 12fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * See the License for the specific language governing permissions and 14fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * limitations under the License. 15fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 16fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 170c74fc78392703e19ba51ce0ced510a55a0a994bsqian#include <radio_hidl_hal_utils_v1_0.h> 18fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 19fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 20fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.getCurrentCalls() for the response returned. 21fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 22fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, getCurrentCalls) { 23788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 24fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 25fcc61188827e1472965b36041c29b80cbe4079basqian radio->getCurrentCalls(serial); 26fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 27fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 28fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 29fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 30fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 317fe9365e6fb10533d75000eddd5287ca6408f897sqian EXPECT_EQ(RadioError::NONE, radioRsp->rspInfo.error); 32fcc61188827e1472965b36041c29b80cbe4079basqian } 33fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 34fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 35fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 36fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.dial() for the response returned. 37fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 38fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, dial) { 39788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 40fcc61188827e1472965b36041c29b80cbe4079basqian 41fcc61188827e1472965b36041c29b80cbe4079basqian Dial dialInfo; 42fcc61188827e1472965b36041c29b80cbe4079basqian memset(&dialInfo, 0, sizeof(dialInfo)); 43fcc61188827e1472965b36041c29b80cbe4079basqian dialInfo.address = hidl_string("123456789"); 44fcc61188827e1472965b36041c29b80cbe4079basqian 45fcc61188827e1472965b36041c29b80cbe4079basqian radio->dial(serial, dialInfo); 46fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 47fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 48fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 49fcc61188827e1472965b36041c29b80cbe4079basqian 50fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 517fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors( 527fe9365e6fb10533d75000eddd5287ca6408f897sqian radioRsp->rspInfo.error, 537fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::CANCELLED, RadioError::DEVICE_IN_USE, RadioError::FDN_CHECK_FAILURE, 547fe9365e6fb10533d75000eddd5287ca6408f897sqian RadioError::INVALID_ARGUMENTS, RadioError::INVALID_CALL_ID, 557fe9365e6fb10533d75000eddd5287ca6408f897sqian RadioError::INVALID_MODEM_STATE, RadioError::INVALID_STATE, RadioError::MODEM_ERR, 567fe9365e6fb10533d75000eddd5287ca6408f897sqian RadioError::NO_NETWORK_FOUND, RadioError::NO_SUBSCRIPTION, 577fe9365e6fb10533d75000eddd5287ca6408f897sqian RadioError::OPERATION_NOT_ALLOWED}, 587fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 59fcc61188827e1472965b36041c29b80cbe4079basqian } 60fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 61fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 62fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 63fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.hangup() for the response returned. 64fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 65fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, hangup) { 66788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 67fcc61188827e1472965b36041c29b80cbe4079basqian 68fcc61188827e1472965b36041c29b80cbe4079basqian radio->hangup(serial, 1); 69fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 70fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 71fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 72fcc61188827e1472965b36041c29b80cbe4079basqian 73fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 747fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors( 757fe9365e6fb10533d75000eddd5287ca6408f897sqian radioRsp->rspInfo.error, 767fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 777fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 78fcc61188827e1472965b36041c29b80cbe4079basqian } 79fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 80fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 81fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 82fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.hangupWaitingOrBackground() for the response returned. 83fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 84fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, hangupWaitingOrBackground) { 85788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 86fcc61188827e1472965b36041c29b80cbe4079basqian 87fcc61188827e1472965b36041c29b80cbe4079basqian radio->hangupWaitingOrBackground(serial); 88fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 89fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 90fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 91fcc61188827e1472965b36041c29b80cbe4079basqian 92fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 937fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, 947fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 957fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 96fcc61188827e1472965b36041c29b80cbe4079basqian } 97fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 98fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 99fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 100fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.hangupForegroundResumeBackground() for the response returned. 101fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 102fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, hangupForegroundResumeBackground) { 103788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 104fcc61188827e1472965b36041c29b80cbe4079basqian 105fcc61188827e1472965b36041c29b80cbe4079basqian radio->hangupForegroundResumeBackground(serial); 106fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 107fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 108fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 109fcc61188827e1472965b36041c29b80cbe4079basqian 110fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 1117fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, 1127fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 1137fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 114fcc61188827e1472965b36041c29b80cbe4079basqian } 115fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 116fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 117fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 118fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.switchWaitingOrHoldingAndActive() for the response returned. 119fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 120fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, switchWaitingOrHoldingAndActive) { 121788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 122fcc61188827e1472965b36041c29b80cbe4079basqian 123fcc61188827e1472965b36041c29b80cbe4079basqian radio->switchWaitingOrHoldingAndActive(serial); 124fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 125fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 126fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 127fcc61188827e1472965b36041c29b80cbe4079basqian 128fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 1297fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, 1307fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 1317fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 132fcc61188827e1472965b36041c29b80cbe4079basqian } 133fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 134fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 135fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 136fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.conference() for the response returned. 137fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 138fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, conference) { 139788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 140fcc61188827e1472965b36041c29b80cbe4079basqian 141fcc61188827e1472965b36041c29b80cbe4079basqian radio->conference(serial); 142fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 143fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 144fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 145fcc61188827e1472965b36041c29b80cbe4079basqian 146fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 1477fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, 1487fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 1497fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 150fcc61188827e1472965b36041c29b80cbe4079basqian } 151fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 152fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 153fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 154fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.rejectCall() for the response returned. 155fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 156fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, rejectCall) { 157788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 158fcc61188827e1472965b36041c29b80cbe4079basqian 159fcc61188827e1472965b36041c29b80cbe4079basqian radio->rejectCall(serial); 160fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 161fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 162fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 163fcc61188827e1472965b36041c29b80cbe4079basqian 164fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 1657fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, 1667fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 1677fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 168fcc61188827e1472965b36041c29b80cbe4079basqian } 169fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 170fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 171fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 172fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.getLastCallFailCause() for the response returned. 173fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 174fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, getLastCallFailCause) { 175788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 176fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 177fcc61188827e1472965b36041c29b80cbe4079basqian radio->getLastCallFailCause(serial); 178fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 179fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 180fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 181fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 182fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 1837fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE( 1847fe9365e6fb10533d75000eddd5287ca6408f897sqian CheckAnyOfErrors(radioRsp->rspInfo.error, {RadioError::NONE}, CHECK_GENERAL_ERROR)); 185fcc61188827e1472965b36041c29b80cbe4079basqian } 186fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 187fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 188fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 189fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.sendUssd() for the response returned. 190fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 191fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, sendUssd) { 192788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 193fcc61188827e1472965b36041c29b80cbe4079basqian radio->sendUssd(serial, hidl_string("test")); 194fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 195fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 196fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 197fcc61188827e1472965b36041c29b80cbe4079basqian 198fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 1997fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors( 2007fe9365e6fb10533d75000eddd5287ca6408f897sqian radioRsp->rspInfo.error, 2017fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 2027fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 203fcc61188827e1472965b36041c29b80cbe4079basqian } 204fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 205fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 206fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 207fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.cancelPendingUssd() for the response returned. 208fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 209fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, cancelPendingUssd) { 210788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 211fcc61188827e1472965b36041c29b80cbe4079basqian 212fcc61188827e1472965b36041c29b80cbe4079basqian radio->cancelPendingUssd(serial); 213fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 214fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 215fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 216fcc61188827e1472965b36041c29b80cbe4079basqian 217fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 2187fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE( 2197fe9365e6fb10533d75000eddd5287ca6408f897sqian CheckAnyOfErrors(radioRsp->rspInfo.error, 2207fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::NONE, RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 2217fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 222fcc61188827e1472965b36041c29b80cbe4079basqian } 223fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 224fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 225fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 226fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.getCallForwardStatus() for the response returned. 227fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 228fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, getCallForwardStatus) { 229788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 230fcc61188827e1472965b36041c29b80cbe4079basqian CallForwardInfo callInfo; 231fcc61188827e1472965b36041c29b80cbe4079basqian memset(&callInfo, 0, sizeof(callInfo)); 232fcc61188827e1472965b36041c29b80cbe4079basqian callInfo.number = hidl_string(); 233fcc61188827e1472965b36041c29b80cbe4079basqian 234fcc61188827e1472965b36041c29b80cbe4079basqian radio->getCallForwardStatus(serial, callInfo); 235fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 236fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 237fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 238fcc61188827e1472965b36041c29b80cbe4079basqian 239fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 2407fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors( 2417fe9365e6fb10533d75000eddd5287ca6408f897sqian radioRsp->rspInfo.error, 2427fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 2437fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 244fcc61188827e1472965b36041c29b80cbe4079basqian } 245fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 246fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 247fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 248fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.setCallForward() for the response returned. 249fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 250fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, setCallForward) { 251788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 252fcc61188827e1472965b36041c29b80cbe4079basqian CallForwardInfo callInfo; 253fcc61188827e1472965b36041c29b80cbe4079basqian memset(&callInfo, 0, sizeof(callInfo)); 254fcc61188827e1472965b36041c29b80cbe4079basqian callInfo.number = hidl_string(); 255fcc61188827e1472965b36041c29b80cbe4079basqian 256fcc61188827e1472965b36041c29b80cbe4079basqian radio->setCallForward(serial, callInfo); 257fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 258fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 259fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 260fcc61188827e1472965b36041c29b80cbe4079basqian 261fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 2627fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors( 2637fe9365e6fb10533d75000eddd5287ca6408f897sqian radioRsp->rspInfo.error, 2647fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 2657fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 266fcc61188827e1472965b36041c29b80cbe4079basqian } 267fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 268fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 269fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 270fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.getCallWaiting() for the response returned. 271fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 272fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, getCallWaiting) { 273788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 274fcc61188827e1472965b36041c29b80cbe4079basqian 275fcc61188827e1472965b36041c29b80cbe4079basqian radio->getCallWaiting(serial, 1); 276fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 277fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 278fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 279fcc61188827e1472965b36041c29b80cbe4079basqian 280fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 2817fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors( 2827fe9365e6fb10533d75000eddd5287ca6408f897sqian radioRsp->rspInfo.error, 2837fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::NONE, RadioError::INVALID_ARGUMENTS, RadioError::MODEM_ERR}, 2847fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 285fcc61188827e1472965b36041c29b80cbe4079basqian } 286fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 287fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 288fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 289fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.setCallWaiting() for the response returned. 290fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 291fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, setCallWaiting) { 292788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 293fcc61188827e1472965b36041c29b80cbe4079basqian 294fcc61188827e1472965b36041c29b80cbe4079basqian radio->setCallWaiting(serial, true, 1); 295fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 296fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 297fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 298fcc61188827e1472965b36041c29b80cbe4079basqian 299fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 3007fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors( 3017fe9365e6fb10533d75000eddd5287ca6408f897sqian radioRsp->rspInfo.error, 3027fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 3037fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 304fcc61188827e1472965b36041c29b80cbe4079basqian } 305fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 306fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 307fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 308fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.acceptCall() for the response returned. 309fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 310fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, acceptCall) { 311788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 312fcc61188827e1472965b36041c29b80cbe4079basqian 313fcc61188827e1472965b36041c29b80cbe4079basqian radio->acceptCall(serial); 314fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 315fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 316fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 317fcc61188827e1472965b36041c29b80cbe4079basqian 318fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 3197fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, 3207fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 3217fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 322fcc61188827e1472965b36041c29b80cbe4079basqian } 323fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 324fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 325fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 326fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.separateConnection() for the response returned. 327fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 328fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, separateConnection) { 329788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 330fcc61188827e1472965b36041c29b80cbe4079basqian 331fcc61188827e1472965b36041c29b80cbe4079basqian radio->separateConnection(serial, 1); 332fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 333fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 334fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 335fcc61188827e1472965b36041c29b80cbe4079basqian 336fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 3377fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors( 3387fe9365e6fb10533d75000eddd5287ca6408f897sqian radioRsp->rspInfo.error, 3397fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 3407fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 341fcc61188827e1472965b36041c29b80cbe4079basqian } 342fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 343fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 344fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 345fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.explicitCallTransfer() for the response returned. 346fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 347fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, explicitCallTransfer) { 348788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 349fcc61188827e1472965b36041c29b80cbe4079basqian 350fcc61188827e1472965b36041c29b80cbe4079basqian radio->explicitCallTransfer(serial); 351fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 352fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 353fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 354fcc61188827e1472965b36041c29b80cbe4079basqian 355fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 3567fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, 3577fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_STATE, RadioError::MODEM_ERR}, 3587fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 359fcc61188827e1472965b36041c29b80cbe4079basqian } 3606f957ea5c5051234935dbe69019fe5f91f668e2dSanket Padawe} 3616f957ea5c5051234935dbe69019fe5f91f668e2dSanket Padawe 3626f957ea5c5051234935dbe69019fe5f91f668e2dSanket Padawe/* 3636f957ea5c5051234935dbe69019fe5f91f668e2dSanket Padawe * Test IRadio.sendCDMAFeatureCode() for the response returned. 3646f957ea5c5051234935dbe69019fe5f91f668e2dSanket Padawe */ 3656f957ea5c5051234935dbe69019fe5f91f668e2dSanket PadaweTEST_F(RadioHidlTest, sendCDMAFeatureCode) { 366788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 367fcc61188827e1472965b36041c29b80cbe4079basqian 368fcc61188827e1472965b36041c29b80cbe4079basqian radio->sendCDMAFeatureCode(serial, hidl_string()); 369fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 370fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 371fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 372fcc61188827e1472965b36041c29b80cbe4079basqian 373fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 3747fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, 3757fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::NONE, RadioError::INVALID_ARGUMENTS, 3767fe9365e6fb10533d75000eddd5287ca6408f897sqian RadioError::INVALID_CALL_ID, RadioError::INVALID_MODEM_STATE, 3777fe9365e6fb10533d75000eddd5287ca6408f897sqian RadioError::MODEM_ERR, RadioError::OPERATION_NOT_ALLOWED}, 3787fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 379fcc61188827e1472965b36041c29b80cbe4079basqian } 380fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 381fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 382fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 383fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.sendDtmf() for the response returned. 384fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 385fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, sendDtmf) { 386788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 387fcc61188827e1472965b36041c29b80cbe4079basqian 388fcc61188827e1472965b36041c29b80cbe4079basqian radio->sendDtmf(serial, "1"); 389fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 390fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 391fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 392fcc61188827e1472965b36041c29b80cbe4079basqian 393fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 3947fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors( 3957fe9365e6fb10533d75000eddd5287ca6408f897sqian radioRsp->rspInfo.error, 3967fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::NONE, RadioError::INVALID_ARGUMENTS, RadioError::INVALID_CALL_ID, 3977fe9365e6fb10533d75000eddd5287ca6408f897sqian RadioError::INVALID_MODEM_STATE, RadioError::MODEM_ERR}, 3987fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 399fcc61188827e1472965b36041c29b80cbe4079basqian } 400fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 401fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 402fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 403fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.startDtmf() for the response returned. 404fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 405fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, startDtmf) { 406788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 407fcc61188827e1472965b36041c29b80cbe4079basqian 408fcc61188827e1472965b36041c29b80cbe4079basqian radio->startDtmf(serial, "1"); 409fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 410fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 411fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 412fcc61188827e1472965b36041c29b80cbe4079basqian 413fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 4147fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors( 4157fe9365e6fb10533d75000eddd5287ca6408f897sqian radioRsp->rspInfo.error, 4167fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::NONE, RadioError::INVALID_ARGUMENTS, RadioError::INVALID_CALL_ID, 4177fe9365e6fb10533d75000eddd5287ca6408f897sqian RadioError::INVALID_MODEM_STATE, RadioError::MODEM_ERR}, 4187fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 419fcc61188827e1472965b36041c29b80cbe4079basqian } 420fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 421fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 422fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 423fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.stopDtmf() for the response returned. 424fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 425fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, stopDtmf) { 426788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 427fcc61188827e1472965b36041c29b80cbe4079basqian 428fcc61188827e1472965b36041c29b80cbe4079basqian radio->stopDtmf(serial); 429fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 430fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 431fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 432fcc61188827e1472965b36041c29b80cbe4079basqian 433fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 4347fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, 4357fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::NONE, RadioError::INVALID_CALL_ID, 4367fe9365e6fb10533d75000eddd5287ca6408f897sqian RadioError::INVALID_MODEM_STATE, RadioError::MODEM_ERR}, 4377fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 438fcc61188827e1472965b36041c29b80cbe4079basqian } 439fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 440fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 441fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 442fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.setMute() for the response returned. 443fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 444fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, setMute) { 445788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 446fcc61188827e1472965b36041c29b80cbe4079basqian 447fcc61188827e1472965b36041c29b80cbe4079basqian radio->setMute(serial, true); 448fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 449fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 450fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 451fcc61188827e1472965b36041c29b80cbe4079basqian 452fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 4537fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, 4547fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::NONE, RadioError::INVALID_ARGUMENTS}, 4557fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 456fcc61188827e1472965b36041c29b80cbe4079basqian } 457fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 458fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 459fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 460fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.getMute() for the response returned. 461fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 462fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, getMute) { 463788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 464fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 465fcc61188827e1472965b36041c29b80cbe4079basqian radio->getMute(serial); 466fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 467fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 468fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 469fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 470fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 4717fe9365e6fb10533d75000eddd5287ca6408f897sqian EXPECT_EQ(RadioError::NONE, radioRsp->rspInfo.error); 472fcc61188827e1472965b36041c29b80cbe4079basqian } 473fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe} 474fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe 475fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe/* 476fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe * Test IRadio.sendBurstDtmf() for the response returned. 477fe7c7a3a695fdaace94028898e7692eea83a4566Sanket Padawe */ 478fe7c7a3a695fdaace94028898e7692eea83a4566Sanket PadaweTEST_F(RadioHidlTest, sendBurstDtmf) { 479788eb8083059ff0dca686734ceebf942042c4893sqian serial = GetRandomSerialNumber(); 480fcc61188827e1472965b36041c29b80cbe4079basqian 481fcc61188827e1472965b36041c29b80cbe4079basqian radio->sendBurstDtmf(serial, "1", 0, 0); 482fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(std::cv_status::no_timeout, wait()); 483fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); 484fcc61188827e1472965b36041c29b80cbe4079basqian EXPECT_EQ(serial, radioRsp->rspInfo.serial); 485fcc61188827e1472965b36041c29b80cbe4079basqian 486fcc61188827e1472965b36041c29b80cbe4079basqian if (cardStatus.cardState == CardState::ABSENT) { 4877fe9365e6fb10533d75000eddd5287ca6408f897sqian ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, 4887fe9365e6fb10533d75000eddd5287ca6408f897sqian {RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE, 4897fe9365e6fb10533d75000eddd5287ca6408f897sqian RadioError::MODEM_ERR, RadioError::OPERATION_NOT_ALLOWED}, 4907fe9365e6fb10533d75000eddd5287ca6408f897sqian CHECK_GENERAL_ERROR)); 491fcc61188827e1472965b36041c29b80cbe4079basqian } 49240c4ff77c6f57998074ed3f0377b935864bdce4asqian} 493