Skip to content

Commit 176067b

Browse files
author
Teppo Järvelin
committed
Removed CellularSIM interface.
Moved methods to classes CellularDevice and CellularInformation. SIM interface was removed to simplify cellular usage and methods better suite new classes. Updated greentea and unit tests.
1 parent 573b6ce commit 176067b

38 files changed

+613
-1039
lines changed

UNITTESTS/features/cellular/framework/AT/at_cellularcontext/at_cellularcontexttest.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
#include "Semaphore_stub.h"
2828
#include "CellularDevice_stub.h"
2929
#include "equeue_stub.h"
30-
#include "CellularSIM.h"
3130

3231
using namespace mbed;
3332
using namespace events;
@@ -528,7 +527,7 @@ TEST_F(TestAT_CellularContext, set_sim_ready)
528527
cell_callback_data_t data;
529528
data.error = NSAPI_ERROR_OK;
530529
ctx.cellular_callback((nsapi_event_t)CellularDeviceReady, (intptr_t)&data);
531-
data.status_data = CellularSIM::SimStateReady;
530+
data.status_data = CellularDevice::SimStateReady;
532531
ctx.cellular_callback((nsapi_event_t)CellularSIMStatusChanged, (intptr_t)&data);
533532
}
534533

UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp

Lines changed: 69 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_get_at_handler)
5656
EXPECT_TRUE(dev.open_network(&fh1));
5757
EXPECT_TRUE(dev.open_sms(&fh2));
5858
AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value;
59-
EXPECT_TRUE(dev.open_sim(&fh3));
59+
EXPECT_TRUE(dev.open_information(&fh3));
6060
ATHandler_stub::fh_value = &fh1;
6161
EXPECT_TRUE(dev.open_power(&fh1));
6262

@@ -102,19 +102,6 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_open_power)
102102
EXPECT_TRUE(pwr1 == pwr);
103103
}
104104

105-
TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_open_sim)
106-
{
107-
FileHandle_stub fh1;
108-
AT_CellularDevice dev(&fh1);
109-
110-
CellularSIM *sim = dev.open_sim(NULL);
111-
CellularSIM *sim1 = dev.open_sim(&fh1);
112-
113-
EXPECT_TRUE(sim);
114-
EXPECT_TRUE(sim1);
115-
EXPECT_TRUE(sim1 == sim);
116-
}
117-
118105
TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_open_information)
119106
{
120107
FileHandle_stub fh1;
@@ -170,26 +157,6 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_power)
170157
EXPECT_TRUE(ATHandler_stub::ref_count == kATHandler_destructor_ref_ount);
171158
}
172159

173-
TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_sim)
174-
{
175-
FileHandle_stub fh1;
176-
AT_CellularDevice dev(&fh1);
177-
ATHandler_stub::ref_count = 0;
178-
int ana = 0;
179-
180-
EXPECT_TRUE(dev.open_sim(&fh1));
181-
AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value;
182-
183-
ana = ATHandler_stub::ref_count;
184-
185-
dev.close_sms(); // this should not affect to refcount as it's not opened
186-
EXPECT_TRUE(ATHandler_stub::ref_count == 1);
187-
ana = ATHandler_stub::ref_count;
188-
189-
dev.close_sim();
190-
EXPECT_TRUE(ATHandler_stub::ref_count == kATHandler_destructor_ref_ount);
191-
}
192-
193160
TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_information)
194161
{
195162
FileHandle_stub fh1;
@@ -223,19 +190,18 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_set_timeout)
223190
ATHandler_stub::timeout = 0;
224191
ATHandler_stub::default_timeout = false;
225192

226-
// no interfaces open so settings timeout should not change anything
227193
dev.set_timeout(5000);
228-
EXPECT_TRUE(ATHandler_stub::timeout == 0);
229-
EXPECT_TRUE(ATHandler_stub::default_timeout == false);
194+
EXPECT_TRUE(ATHandler_stub::timeout == 5000);
195+
EXPECT_TRUE(ATHandler_stub::default_timeout == true);
230196

231-
EXPECT_TRUE(dev.open_sim(&fh1));
197+
EXPECT_TRUE(dev.open_sms(&fh1));
232198
EXPECT_TRUE(ATHandler_stub::ref_count == 1);
233199

234200
dev.set_timeout(5000);
235201
EXPECT_TRUE(ATHandler_stub::timeout == 5000);
236202
EXPECT_TRUE(ATHandler_stub::default_timeout == true);
237203

238-
dev.close_sim();
204+
dev.close_sms();
239205
}
240206

241207
TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_modem_debug_on)
@@ -244,17 +210,16 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_modem_debug_on)
244210
AT_CellularDevice dev(&fh1);
245211
ATHandler_stub::debug_on = false;
246212

247-
// no interfaces open so debug toggling should not affect
248213
dev.modem_debug_on(true);
249-
EXPECT_TRUE(ATHandler_stub::debug_on == false);
214+
EXPECT_TRUE(ATHandler_stub::debug_on == true);
250215

251-
EXPECT_TRUE(dev.open_sim(&fh1));
216+
EXPECT_TRUE(dev.open_sms(&fh1));
252217
EXPECT_TRUE(ATHandler_stub::ref_count == 1);
253218

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

257-
dev.close_sim();
222+
dev.close_sms();
258223
}
259224

260225
TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_get_send_delay)
@@ -307,3 +272,64 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_create_delete_context)
307272

308273
delete dev;
309274
}
275+
276+
TEST_F(TestAT_CellularDevice, TestAT_CellularDevice_set_pin)
277+
{
278+
FileHandle_stub fh1;
279+
AT_CellularDevice *dev = new AT_CellularDevice(&fh1);
280+
281+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
282+
ASSERT_EQ(NSAPI_ERROR_OK, dev->set_pin("12"));
283+
284+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
285+
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, dev->set_pin("12"));
286+
287+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
288+
ATHandler_stub::read_string_value = (char *)"SIM PIN";
289+
ATHandler_stub::ssize_value = 7;
290+
ASSERT_EQ(NSAPI_ERROR_PARAMETER, dev->set_pin(NULL));
291+
292+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
293+
ATHandler_stub::read_string_value = (char *)"READY";
294+
ATHandler_stub::ssize_value = 5;
295+
ASSERT_EQ(NSAPI_ERROR_OK, dev->set_pin("12"));
296+
297+
ASSERT_EQ(NSAPI_ERROR_OK, dev->set_pin(NULL));
298+
299+
delete dev;
300+
}
301+
302+
TEST_F(TestAT_CellularDevice, TestAT_CellularDevice_get_sim_state)
303+
{
304+
FileHandle_stub fh1;
305+
AT_CellularDevice *dev = new AT_CellularDevice(&fh1);
306+
307+
CellularDevice::SimState state;
308+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
309+
ATHandler_stub::ssize_value = -1;
310+
ATHandler_stub::read_string_value = NULL;
311+
ASSERT_EQ(NSAPI_ERROR_OK, dev->get_sim_state(state));
312+
ASSERT_EQ(CellularDevice::SimStateUnknown, state);
313+
314+
ATHandler_stub::read_string_value = (char *)"READY";
315+
ATHandler_stub::ssize_value = 5;
316+
ASSERT_EQ(NSAPI_ERROR_OK, dev->get_sim_state(state));
317+
ASSERT_EQ(CellularDevice::SimStateReady, state);
318+
319+
ATHandler_stub::read_string_value = (char *)"SIM PIN";
320+
ATHandler_stub::ssize_value = 7;
321+
ASSERT_EQ(NSAPI_ERROR_OK, dev->get_sim_state(state));
322+
ASSERT_EQ(CellularDevice::SimStatePinNeeded, state);
323+
324+
ATHandler_stub::read_string_value = (char *)"SIM PUK";
325+
ATHandler_stub::ssize_value = 7;
326+
ASSERT_EQ(NSAPI_ERROR_OK, dev->get_sim_state(state));
327+
ASSERT_EQ(CellularDevice::SimStatePukNeeded, state);
328+
329+
ATHandler_stub::read_string_value = (char *)"SOME CRAP";
330+
ATHandler_stub::ssize_value = 9;
331+
ASSERT_EQ(NSAPI_ERROR_OK, dev->get_sim_state(state));
332+
ASSERT_EQ(CellularDevice::SimStateUnknown, state);
333+
334+
delete dev;
335+
}

UNITTESTS/features/cellular/framework/AT/at_cellulardevice/unittest.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ set(unittest-test-sources
2626
stubs/AT_CellularNetwork_stub.cpp
2727
stubs/ATHandler_stub.cpp
2828
stubs/AT_CellularSMS_stub.cpp
29-
stubs/AT_CellularSIM_stub.cpp
3029
stubs/AT_CellularPower_stub.cpp
3130
stubs/AT_CellularInformation_stub.cpp
3231
stubs/CellularUtil_stub.cpp

UNITTESTS/features/cellular/framework/AT/at_cellularinformation/at_cellularinformationtest.cpp

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ class TestAT_CellularInformation : public testing::Test {
3434

3535
void SetUp()
3636
{
37+
ATHandler_stub::read_string_index = kRead_string_table_size;
38+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
39+
ATHandler_stub::read_string_value = NULL;
40+
ATHandler_stub::ssize_value = 0;
3741
}
3842

3943
void TearDown()
@@ -118,6 +122,8 @@ TEST_F(TestAT_CellularInformation, test_AT_CellularInformation_get_revision)
118122
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == aci->get_revision(buf, 8));
119123
EXPECT_TRUE(strlen(buf) == 0);
120124

125+
EXPECT_TRUE(NSAPI_ERROR_PARAMETER == aci->get_revision(NULL, 8));
126+
EXPECT_TRUE(NSAPI_ERROR_PARAMETER == aci->get_revision(buf, 0));
121127
delete aci;
122128
}
123129

@@ -152,4 +158,59 @@ TEST_F(TestAT_CellularInformation, test_AT_CellularInformation_get_serial_number
152158
AT_CellularBase_stub::supported_bool = true;
153159
EXPECT_TRUE(NSAPI_ERROR_OK == aci.get_serial_number(buf, 8, CellularInformation::IMEI));
154160
EXPECT_TRUE(strcmp("1234567", buf) == 0);
161+
162+
EXPECT_TRUE(NSAPI_ERROR_PARAMETER == aci.get_serial_number(NULL, 8, CellularInformation::IMEI));
163+
EXPECT_TRUE(NSAPI_ERROR_PARAMETER == aci.get_serial_number(buf, 0, CellularInformation::IMEI));
164+
}
165+
166+
TEST_F(TestAT_CellularInformation, TestAT_CellularInformation_get_imsi)
167+
{
168+
EventQueue eq;
169+
FileHandle_stub fh;
170+
ATHandler ah(&fh, eq, 0, ",");
171+
AT_CellularInformation aci(ah);
172+
173+
char imsi[16];
174+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
175+
ATHandler_stub::read_string_value = (char *)"123456789012345";
176+
ATHandler_stub::ssize_value = 15;
177+
ASSERT_EQ(NSAPI_ERROR_OK, aci.get_imsi(imsi, sizeof(imsi)));
178+
ASSERT_STREQ(ATHandler_stub::read_string_value, imsi);
179+
180+
ATHandler_stub::read_string_value = NULL;
181+
ATHandler_stub::ssize_value = -1;
182+
ATHandler_stub::read_string_index = -1;
183+
imsi[0] = 0;
184+
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, aci.get_imsi(imsi, sizeof(imsi)));
185+
ASSERT_EQ(strlen(imsi), 0);
186+
187+
ASSERT_EQ(NSAPI_ERROR_PARAMETER, aci.get_imsi(NULL, sizeof(imsi)));
188+
189+
char imsi2[5];
190+
ASSERT_EQ(NSAPI_ERROR_PARAMETER, aci.get_imsi(imsi2, sizeof(imsi2)));
191+
}
192+
193+
TEST_F(TestAT_CellularInformation, TestAT_CellularInformation_get_iccid)
194+
{
195+
EventQueue eq;
196+
FileHandle_stub fh;
197+
ATHandler ah(&fh, eq, 0, ",");
198+
AT_CellularInformation aci(ah);
199+
200+
char buf[16];
201+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
202+
ATHandler_stub::read_string_value = (char *)"123456789012345";
203+
ATHandler_stub::ssize_value = 15;
204+
ASSERT_EQ(NSAPI_ERROR_OK, aci.get_iccid(buf, 16));
205+
ASSERT_STREQ(ATHandler_stub::read_string_value, buf);
206+
207+
buf[0] = 0;
208+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
209+
ATHandler_stub::read_string_value = NULL;
210+
ATHandler_stub::ssize_value = -1;
211+
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, aci.get_iccid(buf, 16));
212+
ASSERT_EQ(strlen(buf), 0);
213+
214+
ASSERT_EQ(NSAPI_ERROR_PARAMETER, aci.get_iccid(buf, 0));
215+
ASSERT_EQ(NSAPI_ERROR_PARAMETER, aci.get_iccid(NULL, 16));
155216
}

0 commit comments

Comments
 (0)