mirror of https://github.com/ARMmbed/mbed-os.git
Add UT for CEREG URC handler
parent
5778bc7326
commit
02de20acb6
|
|
@ -85,6 +85,89 @@ TEST_F(TestAT_CellularNetwork, Create)
|
||||||
delete cn;
|
delete cn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int expected_rat = 0;
|
||||||
|
int expected_status = 0;
|
||||||
|
int expected_cellid = 0;
|
||||||
|
|
||||||
|
void status_cb_urc(nsapi_event_t ev, intptr_t ptr)
|
||||||
|
{
|
||||||
|
const cell_callback_data_t *data = (const cell_callback_data_t *)ptr;
|
||||||
|
switch (ev) {
|
||||||
|
case CellularRadioAccessTechnologyChanged:
|
||||||
|
EXPECT_EQ(NSAPI_ERROR_OK, data->error);
|
||||||
|
EXPECT_EQ(expected_rat, data->status_data);
|
||||||
|
break;
|
||||||
|
case CellularRegistrationStatusChanged:
|
||||||
|
EXPECT_EQ(NSAPI_ERROR_OK, data->error);
|
||||||
|
EXPECT_EQ(expected_status, data->status_data);
|
||||||
|
break;
|
||||||
|
case CellularCellIDChanged:
|
||||||
|
EXPECT_EQ(NSAPI_ERROR_OK, data->error);
|
||||||
|
EXPECT_EQ(expected_cellid, data->status_data);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (ev == NSAPI_EVENT_CONNECTION_STATUS_CHANGE) {
|
||||||
|
EXPECT_EQ(NSAPI_STATUS_DISCONNECTED, (int)ptr);
|
||||||
|
} else {
|
||||||
|
FAIL();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(TestAT_CellularNetwork, test_urc_creg)
|
||||||
|
{
|
||||||
|
EventQueue que;
|
||||||
|
FileHandle_stub fh1;
|
||||||
|
ATHandler at(&fh1, que, 0, ",");
|
||||||
|
|
||||||
|
AT_CellularNetwork cn(at);
|
||||||
|
cn.attach(status_cb_urc);
|
||||||
|
|
||||||
|
EXPECT_STREQ("+CEREG:", ATHandler_stub::urc_handlers[0].urc);
|
||||||
|
EXPECT_STREQ("+CREG:", ATHandler_stub::urc_handlers[1].urc);
|
||||||
|
|
||||||
|
// Connected to home network
|
||||||
|
expected_rat = CellularNetwork::RAT_NB1;
|
||||||
|
expected_status = CellularNetwork::RegisteredHomeNetwork;
|
||||||
|
expected_cellid = 305463233;
|
||||||
|
|
||||||
|
ATHandler_stub::int_count = 4;
|
||||||
|
ATHandler_stub::int_valid_count_table[3] = 1; // [1] STAT, Registered to home network
|
||||||
|
ATHandler_stub::int_valid_count_table[2] = 9; // [4] ACT, NB-IoT
|
||||||
|
ATHandler_stub::int_valid_count_table[1] = 1; // [5] cause_type, skipped
|
||||||
|
ATHandler_stub::int_valid_count_table[0] = 1; // [6] reject_cause, skipped
|
||||||
|
|
||||||
|
ATHandler_stub::read_string_index = 4;
|
||||||
|
ATHandler_stub::read_string_table[3] = "00C3"; // [2] LAC, 195
|
||||||
|
ATHandler_stub::read_string_table[2] = "1234FFC1"; // [3] ci, 305463233
|
||||||
|
ATHandler_stub::read_string_table[1] = "00100100"; // [7] active time
|
||||||
|
ATHandler_stub::read_string_table[0] = "01000111"; // [8] periodic-tau
|
||||||
|
|
||||||
|
ATHandler_stub::urc_handlers[0].cb();
|
||||||
|
|
||||||
|
// Disconnected
|
||||||
|
expected_rat = CellularNetwork::RAT_NB1;
|
||||||
|
expected_status = CellularNetwork::NotRegistered;
|
||||||
|
expected_cellid = 0;
|
||||||
|
|
||||||
|
ATHandler_stub::int_count = 4;
|
||||||
|
ATHandler_stub::int_valid_count_table[3] = 0; // [1] STAT, Not reqistered
|
||||||
|
ATHandler_stub::int_valid_count_table[2] = 9; // [4] ACT, NB-IoT
|
||||||
|
ATHandler_stub::int_valid_count_table[1] = 1; // [5] cause_type, skipped
|
||||||
|
ATHandler_stub::int_valid_count_table[0] = 1; // [6] reject_cause, skipped
|
||||||
|
|
||||||
|
ATHandler_stub::read_string_index = 4;
|
||||||
|
ATHandler_stub::read_string_table[3] = "0000"; // [2] LAC, 0000
|
||||||
|
ATHandler_stub::read_string_table[2] = "00000000"; // [3] ci, 000000000
|
||||||
|
ATHandler_stub::read_string_table[1] = "00100100"; // [7] active time
|
||||||
|
ATHandler_stub::read_string_table[0] = "01000111"; // [8] periodic-tau
|
||||||
|
|
||||||
|
ATHandler_stub::urc_handlers[0].cb();
|
||||||
|
ATHandler_stub::read_string_index = kRead_string_table_size;
|
||||||
|
ATHandler_stub::read_string_value = NULL;
|
||||||
|
ATHandler_stub::ssize_value = 0;
|
||||||
|
}
|
||||||
|
|
||||||
TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_set_registration)
|
TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_set_registration)
|
||||||
{
|
{
|
||||||
EventQueue que;
|
EventQueue que;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue