Skip to content

Cellular: added unit tests for new API functions (sim, power, base, device). #7273

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 2 commits into from
Jun 27, 2018
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 @@ -48,3 +48,12 @@ TEST(AT_CellularBase, test_AT_CellularBase_get_device_error)
unit->test_AT_CellularBase_get_device_error();
}

TEST(AT_CellularBase, test_AT_CellularBase_set_unsupported_features)
{
unit->test_AT_CellularBase_set_unsupported_features();
}

TEST(AT_CellularBase, test_AT_CellularBase_is_supported)
{
unit->test_AT_CellularBase_is_supported();
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,34 @@
using namespace mbed;
using namespace events;

class my_base : public AT_CellularBase {
public:
my_base(ATHandler &at) : AT_CellularBase(at) {
}
bool check_not_supported() {
static const AT_CellularBase::SupportedFeature unsupported_features[] = {
AT_CellularBase::AT_CGSN_WITH_TYPE,
AT_CellularBase::SUPPORTED_FEATURE_END_MARK
};
set_unsupported_features(unsupported_features);
return is_supported(AT_CGSN_WITH_TYPE);
}

bool check_supported() {
set_unsupported_features(NULL);
return is_supported(AT_CGSN_WITH_TYPE);
}

bool check_supported_not_found() {
static const AT_CellularBase::SupportedFeature unsupported_features[] = {
AT_CellularBase::AT_CGSN_WITH_TYPE,
AT_CellularBase::SUPPORTED_FEATURE_END_MARK
};
set_unsupported_features(unsupported_features);
return is_supported(SUPPORTED_FEATURE_END_MARK);
}
};

Test_AT_CellularBase::Test_AT_CellularBase()
{

Expand Down Expand Up @@ -57,3 +85,31 @@ void Test_AT_CellularBase::test_AT_CellularBase_get_device_error()

ATHandler_stub::device_err_value.errCode = 0;
}

void Test_AT_CellularBase::test_AT_CellularBase_set_unsupported_features()
{
EventQueue eq;
FileHandle_stub fh;
ATHandler ah(&fh, eq, 0, ",");
AT_CellularBase at(ah);

static const AT_CellularBase::SupportedFeature unsupported_features[] = {
AT_CellularBase::AT_CGSN_WITH_TYPE,
AT_CellularBase::SUPPORTED_FEATURE_END_MARK
};

at.set_unsupported_features(unsupported_features);
}

void Test_AT_CellularBase::test_AT_CellularBase_is_supported()
{
EventQueue eq;
FileHandle_stub fh;
ATHandler ah(&fh, eq, 0, ",");
my_base my_at(ah);

CHECK(true == my_at.check_supported());
CHECK(true == my_at.check_supported_not_found());
CHECK(false == my_at.check_not_supported());

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ class Test_AT_CellularBase
void test_AT_CellularBase_get_at_handler();

void test_AT_CellularBase_get_device_error();

void test_AT_CellularBase_set_unsupported_features();

void test_AT_CellularBase_is_supported();
};

#endif // TEST_AT_CELLULARBASE_H
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,3 +111,8 @@ TEST(AT_CellularDevice, test_AT_CellularDevice_get_stack)
{
unit->test_AT_CellularDevice_get_stack();
}

TEST(AT_CellularDevice, test_AT_CellularDevice_get_send_delay)
{
unit->test_AT_CellularDevice_get_send_delay();
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,12 @@ void Test_AT_CellularDevice::test_AT_CellularDevice_get_at_handler()
FileHandle_stub fh2;
FileHandle_stub fh3;

dev.open_network(&fh1);
dev.open_sms(&fh2);
CHECK(dev.open_network(&fh1));
CHECK(dev.open_sms(&fh2));
AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value;
dev.open_sim(&fh3);
CHECK(dev.open_sim(&fh3));
ATHandler_stub::fh_value = &fh1;
dev.open_power(&fh1);
CHECK(dev.open_power(&fh1));

ATHandler_stub::fh_value = NULL;
}
Expand Down Expand Up @@ -121,6 +121,7 @@ void Test_AT_CellularDevice::test_AT_CellularDevice_close_network()
CHECK(ATHandler_stub::ref_count == 1);

dev.close_network();
CHECK(ATHandler_stub::ref_count == 0);
}

void Test_AT_CellularDevice::test_AT_CellularDevice_close_sms()
Expand All @@ -134,6 +135,7 @@ void Test_AT_CellularDevice::test_AT_CellularDevice_close_sms()
CHECK(ATHandler_stub::ref_count == 1);

dev.close_sms();
CHECK(ATHandler_stub::ref_count == 0);
}

void Test_AT_CellularDevice::test_AT_CellularDevice_close_power()
Expand All @@ -147,6 +149,7 @@ void Test_AT_CellularDevice::test_AT_CellularDevice_close_power()
CHECK(ATHandler_stub::ref_count == 1);

dev.close_power();
CHECK(ATHandler_stub::ref_count == 0);
}

void Test_AT_CellularDevice::test_AT_CellularDevice_close_sim()
Expand All @@ -162,6 +165,7 @@ void Test_AT_CellularDevice::test_AT_CellularDevice_close_sim()
CHECK(ATHandler_stub::ref_count == 1);

dev.close_sim();
CHECK(ATHandler_stub::ref_count == 0);
}

void Test_AT_CellularDevice::test_AT_CellularDevice_close_information()
Expand Down Expand Up @@ -212,6 +216,13 @@ void Test_AT_CellularDevice::test_AT_CellularDevice_set_timeout()
dev.close_sim();
}

void Test_AT_CellularDevice::test_AT_CellularDevice_get_send_delay()
{
EventQueue que;
AT_CellularDevice dev(que);
CHECK(0 == dev.get_send_delay());
}

void Test_AT_CellularDevice::test_AT_CellularDevice_modem_debug_on()
{
EventQueue que;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ class Test_AT_CellularDevice
void test_AT_CellularDevice_modem_debug_on();

void test_AT_CellularDevice_get_stack();

void test_AT_CellularDevice_get_send_delay();
};

#endif // TEST_AT_CELLULARDEVICE_H
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,11 @@ void Test_AT_CellularPower::test_AT_CellularPower_set_at_mode()
ATHandler at(&fh1, que, 0, ",");

AT_CellularPower pow(at);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE;
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.set_at_mode());
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
CHECK(NSAPI_ERROR_OK == pow.set_at_mode());

ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.set_at_mode());
}

void Test_AT_CellularPower::test_AT_CellularPower_set_power_level()
Expand All @@ -85,10 +88,13 @@ void Test_AT_CellularPower::test_AT_CellularPower_set_power_level()
ATHandler at(&fh1, que, 0, ",");

AT_CellularPower pow(at);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE;
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.set_power_level(6));
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.set_power_level(1,1));
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.set_power_level(1,0));
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
CHECK(NSAPI_ERROR_OK == pow.set_power_level(6));
CHECK(NSAPI_ERROR_OK == pow.set_power_level(1,1));
CHECK(NSAPI_ERROR_OK == pow.set_power_level(1,0));

ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.set_power_level(6));
}

void Test_AT_CellularPower::test_AT_CellularPower_reset()
Expand All @@ -98,8 +104,11 @@ void Test_AT_CellularPower::test_AT_CellularPower_reset()
ATHandler at(&fh1, que, 0, ",");

AT_CellularPower pow(at);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE;
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.reset());
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
CHECK(NSAPI_ERROR_OK == pow.reset());

ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.reset());
}

void Test_AT_CellularPower::test_AT_CellularPower_opt_power_save_mode()
Expand All @@ -109,23 +118,25 @@ void Test_AT_CellularPower::test_AT_CellularPower_opt_power_save_mode()
ATHandler at(&fh1, que, 0, ",");

AT_CellularPower pow(at);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE;
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(0,0));
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(0,0));

CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(10,0));
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(10,0));

CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(912,0));
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(912,0));

CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(1834,1834));
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(1834,1834));

CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(18345,18345));
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(18345,18345));

CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(101234,101234));
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(101234,101234));

CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(1012345,1012345));
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(1012345,1012345));

ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(39612345,39612345));

ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.opt_power_save_mode(0,0));
}

void Test_AT_CellularPower::test_AT_CellularPower_opt_receive_period()
Expand All @@ -135,8 +146,11 @@ void Test_AT_CellularPower::test_AT_CellularPower_opt_receive_period()
ATHandler at(&fh1, que, 0, ",");

AT_CellularPower pow(at);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE;
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_receive_period(1, CellularPower::EDRXUTRAN_Iu_mode, 3));
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
CHECK(NSAPI_ERROR_OK == pow.opt_receive_period(1, CellularPower::EDRXUTRAN_Iu_mode, 3));

ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.opt_receive_period(1, CellularPower::EDRXUTRAN_Iu_mode, 3));
}

void Test_AT_CellularPower::test_AT_CellularPower_is_device_ready()
Expand All @@ -162,6 +176,7 @@ void Test_AT_CellularPower::test_AT_CellularPower_set_device_ready_urc_cb()

AT_CellularPower pow(at);
CHECK(NSAPI_ERROR_UNSUPPORTED == pow.set_device_ready_urc_cb(&device_ready_cb));
CHECK(NSAPI_ERROR_UNSUPPORTED == pow.set_device_ready_urc_cb(NULL));
}

void Test_AT_CellularPower::test_AT_CellularPower_remove_device_ready_urc_cb()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
*/
#include "CppUTest/TestHarness.h"
#include "test_at_cellularsim.h"
#include "ATHandler_stub.h"

TEST_GROUP(AT_CellularSIM)
{
Expand All @@ -24,6 +25,7 @@ TEST_GROUP(AT_CellularSIM)
void setup()
{
unit = new Test_AT_CellularSIM();
ATHandler_stub::read_string_index = kRead_string_table_size;
}

void teardown()
Expand Down Expand Up @@ -67,3 +69,7 @@ TEST(AT_CellularSIM, test_AT_CellularSIM_get_imsi)
unit->test_AT_CellularSIM_get_imsi();
}

TEST(AT_CellularSIM, test_AT_CellularSIM_get_iccid)
{
unit->test_AT_CellularSIM_get_iccid();
}
Loading