Skip to content

Cellular: Remove sim interface #8891

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
#include "Semaphore_stub.h"
#include "CellularDevice_stub.h"
#include "equeue_stub.h"
#include "CellularSIM.h"

using namespace mbed;
using namespace events;
Expand Down Expand Up @@ -528,7 +527,7 @@ TEST_F(TestAT_CellularContext, set_sim_ready)
cell_callback_data_t data;
data.error = NSAPI_ERROR_OK;
ctx.cellular_callback((nsapi_event_t)CellularDeviceReady, (intptr_t)&data);
data.status_data = CellularSIM::SimStateReady;
data.status_data = CellularDevice::SimStateReady;
ctx.cellular_callback((nsapi_event_t)CellularSIMStatusChanged, (intptr_t)&data);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_get_at_handler)
EXPECT_TRUE(dev.open_network(&fh1));
EXPECT_TRUE(dev.open_sms(&fh2));
AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value;
EXPECT_TRUE(dev.open_sim(&fh3));
EXPECT_TRUE(dev.open_information(&fh3));
ATHandler_stub::fh_value = &fh1;
EXPECT_TRUE(dev.open_power(&fh1));

Expand Down Expand Up @@ -102,19 +102,6 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_open_power)
EXPECT_TRUE(pwr1 == pwr);
}

TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_open_sim)
{
FileHandle_stub fh1;
AT_CellularDevice dev(&fh1);

CellularSIM *sim = dev.open_sim(NULL);
CellularSIM *sim1 = dev.open_sim(&fh1);

EXPECT_TRUE(sim);
EXPECT_TRUE(sim1);
EXPECT_TRUE(sim1 == sim);
}

TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_open_information)
{
FileHandle_stub fh1;
Expand Down Expand Up @@ -170,26 +157,6 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_power)
EXPECT_TRUE(ATHandler_stub::ref_count == kATHandler_destructor_ref_ount);
}

TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_sim)
{
FileHandle_stub fh1;
AT_CellularDevice dev(&fh1);
ATHandler_stub::ref_count = 0;
int ana = 0;

EXPECT_TRUE(dev.open_sim(&fh1));
AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value;

ana = ATHandler_stub::ref_count;

dev.close_sms(); // this should not affect to refcount as it's not opened
EXPECT_TRUE(ATHandler_stub::ref_count == 1);
ana = ATHandler_stub::ref_count;

dev.close_sim();
EXPECT_TRUE(ATHandler_stub::ref_count == kATHandler_destructor_ref_ount);
}

TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_information)
{
FileHandle_stub fh1;
Expand Down Expand Up @@ -223,19 +190,18 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_set_timeout)
ATHandler_stub::timeout = 0;
ATHandler_stub::default_timeout = false;

// no interfaces open so settings timeout should not change anything
dev.set_timeout(5000);
EXPECT_TRUE(ATHandler_stub::timeout == 0);
EXPECT_TRUE(ATHandler_stub::default_timeout == false);
EXPECT_TRUE(ATHandler_stub::timeout == 5000);
EXPECT_TRUE(ATHandler_stub::default_timeout == true);

EXPECT_TRUE(dev.open_sim(&fh1));
EXPECT_TRUE(dev.open_sms(&fh1));
EXPECT_TRUE(ATHandler_stub::ref_count == 1);

dev.set_timeout(5000);
EXPECT_TRUE(ATHandler_stub::timeout == 5000);
EXPECT_TRUE(ATHandler_stub::default_timeout == true);

dev.close_sim();
dev.close_sms();
}

TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_modem_debug_on)
Expand All @@ -244,17 +210,16 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_modem_debug_on)
AT_CellularDevice dev(&fh1);
ATHandler_stub::debug_on = false;

// no interfaces open so debug toggling should not affect
dev.modem_debug_on(true);
EXPECT_TRUE(ATHandler_stub::debug_on == false);
EXPECT_TRUE(ATHandler_stub::debug_on == true);

EXPECT_TRUE(dev.open_sim(&fh1));
EXPECT_TRUE(dev.open_sms(&fh1));
EXPECT_TRUE(ATHandler_stub::ref_count == 1);

dev.modem_debug_on(true);
EXPECT_TRUE(ATHandler_stub::debug_on == true);

dev.close_sim();
dev.close_sms();
}

TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_get_send_delay)
Expand Down Expand Up @@ -307,3 +272,64 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_create_delete_context)

delete dev;
}

TEST_F(TestAT_CellularDevice, TestAT_CellularDevice_set_pin)
{
FileHandle_stub fh1;
AT_CellularDevice *dev = new AT_CellularDevice(&fh1);

ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
ASSERT_EQ(NSAPI_ERROR_OK, dev->set_pin("12"));

ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, dev->set_pin("12"));

ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
ATHandler_stub::read_string_value = (char *)"SIM PIN";
ATHandler_stub::ssize_value = 7;
ASSERT_EQ(NSAPI_ERROR_PARAMETER, dev->set_pin(NULL));

ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
ATHandler_stub::read_string_value = (char *)"READY";
ATHandler_stub::ssize_value = 5;
ASSERT_EQ(NSAPI_ERROR_OK, dev->set_pin("12"));

ASSERT_EQ(NSAPI_ERROR_OK, dev->set_pin(NULL));

delete dev;
}

TEST_F(TestAT_CellularDevice, TestAT_CellularDevice_get_sim_state)
{
FileHandle_stub fh1;
AT_CellularDevice *dev = new AT_CellularDevice(&fh1);

CellularDevice::SimState state;
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
ATHandler_stub::ssize_value = -1;
ATHandler_stub::read_string_value = NULL;
ASSERT_EQ(NSAPI_ERROR_OK, dev->get_sim_state(state));
ASSERT_EQ(CellularDevice::SimStateUnknown, state);

ATHandler_stub::read_string_value = (char *)"READY";
ATHandler_stub::ssize_value = 5;
ASSERT_EQ(NSAPI_ERROR_OK, dev->get_sim_state(state));
ASSERT_EQ(CellularDevice::SimStateReady, state);

ATHandler_stub::read_string_value = (char *)"SIM PIN";
ATHandler_stub::ssize_value = 7;
ASSERT_EQ(NSAPI_ERROR_OK, dev->get_sim_state(state));
ASSERT_EQ(CellularDevice::SimStatePinNeeded, state);

ATHandler_stub::read_string_value = (char *)"SIM PUK";
ATHandler_stub::ssize_value = 7;
ASSERT_EQ(NSAPI_ERROR_OK, dev->get_sim_state(state));
ASSERT_EQ(CellularDevice::SimStatePukNeeded, state);

ATHandler_stub::read_string_value = (char *)"SOME CRAP";
ATHandler_stub::ssize_value = 9;
ASSERT_EQ(NSAPI_ERROR_OK, dev->get_sim_state(state));
ASSERT_EQ(CellularDevice::SimStateUnknown, state);

delete dev;
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ set(unittest-test-sources
stubs/AT_CellularNetwork_stub.cpp
stubs/ATHandler_stub.cpp
stubs/AT_CellularSMS_stub.cpp
stubs/AT_CellularSIM_stub.cpp
stubs/AT_CellularPower_stub.cpp
stubs/AT_CellularInformation_stub.cpp
stubs/CellularUtil_stub.cpp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ class TestAT_CellularInformation : public testing::Test {

void SetUp()
{
ATHandler_stub::read_string_index = kRead_string_table_size;
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
ATHandler_stub::read_string_value = NULL;
ATHandler_stub::ssize_value = 0;
}

void TearDown()
Expand Down Expand Up @@ -118,6 +122,8 @@ TEST_F(TestAT_CellularInformation, test_AT_CellularInformation_get_revision)
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == aci->get_revision(buf, 8));
EXPECT_TRUE(strlen(buf) == 0);

EXPECT_TRUE(NSAPI_ERROR_PARAMETER == aci->get_revision(NULL, 8));
EXPECT_TRUE(NSAPI_ERROR_PARAMETER == aci->get_revision(buf, 0));
delete aci;
}

Expand Down Expand Up @@ -152,4 +158,59 @@ TEST_F(TestAT_CellularInformation, test_AT_CellularInformation_get_serial_number
AT_CellularBase_stub::supported_bool = true;
EXPECT_TRUE(NSAPI_ERROR_OK == aci.get_serial_number(buf, 8, CellularInformation::IMEI));
EXPECT_TRUE(strcmp("1234567", buf) == 0);

EXPECT_TRUE(NSAPI_ERROR_PARAMETER == aci.get_serial_number(NULL, 8, CellularInformation::IMEI));
EXPECT_TRUE(NSAPI_ERROR_PARAMETER == aci.get_serial_number(buf, 0, CellularInformation::IMEI));
}

TEST_F(TestAT_CellularInformation, TestAT_CellularInformation_get_imsi)
{
EventQueue eq;
FileHandle_stub fh;
ATHandler ah(&fh, eq, 0, ",");
AT_CellularInformation aci(ah);

char imsi[16];
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
ATHandler_stub::read_string_value = (char *)"123456789012345";
ATHandler_stub::ssize_value = 15;
ASSERT_EQ(NSAPI_ERROR_OK, aci.get_imsi(imsi, sizeof(imsi)));
ASSERT_STREQ(ATHandler_stub::read_string_value, imsi);

ATHandler_stub::read_string_value = NULL;
ATHandler_stub::ssize_value = -1;
ATHandler_stub::read_string_index = -1;
imsi[0] = 0;
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, aci.get_imsi(imsi, sizeof(imsi)));
ASSERT_EQ(strlen(imsi), 0);

ASSERT_EQ(NSAPI_ERROR_PARAMETER, aci.get_imsi(NULL, sizeof(imsi)));

char imsi2[5];
ASSERT_EQ(NSAPI_ERROR_PARAMETER, aci.get_imsi(imsi2, sizeof(imsi2)));
}

TEST_F(TestAT_CellularInformation, TestAT_CellularInformation_get_iccid)
{
EventQueue eq;
FileHandle_stub fh;
ATHandler ah(&fh, eq, 0, ",");
AT_CellularInformation aci(ah);

char buf[16];
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
ATHandler_stub::read_string_value = (char *)"123456789012345";
ATHandler_stub::ssize_value = 15;
ASSERT_EQ(NSAPI_ERROR_OK, aci.get_iccid(buf, 16));
ASSERT_STREQ(ATHandler_stub::read_string_value, buf);

buf[0] = 0;
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
ATHandler_stub::read_string_value = NULL;
ATHandler_stub::ssize_value = -1;
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, aci.get_iccid(buf, 16));
ASSERT_EQ(strlen(buf), 0);

ASSERT_EQ(NSAPI_ERROR_PARAMETER, aci.get_iccid(buf, 0));
ASSERT_EQ(NSAPI_ERROR_PARAMETER, aci.get_iccid(NULL, 16));
}
Loading