Knight KE / Mbed OS Game_Master
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers test_at_cellularnetwork.cpp Source File

test_at_cellularnetwork.cpp

00001 /*
00002  * Copyright (c) 2018, Arm Limited and affiliates.
00003  * SPDX-License-Identifier: Apache-2.0
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *     http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 #include "CppUTest/TestHarness.h"
00018 #include "test_at_cellularnetwork.h"
00019 #include <string.h>
00020 #include "AT_CellularNetwork.h"
00021 #include "EventQueue.h"
00022 #include "ATHandler.h"
00023 #include "AT_CellularDevice.h"
00024 #include "FileHandle_stub.h"
00025 #include "CellularLog.h"
00026 #include "ATHandler_stub.h"
00027 
00028 using namespace mbed;
00029 using namespace events;
00030 
00031 class my_AT_CN : public AT_CellularNetwork {
00032 public:
00033     my_AT_CN(ATHandler &atHandler) : AT_CellularNetwork(atHandler) {}
00034     virtual ~my_AT_CN() {}
00035     NetworkStack *get_stack() {return AT_CellularNetwork::get_stack();}
00036 };
00037 
00038 void conn_stat_cb(nsapi_error_t error)
00039 {
00040 
00041 }
00042 
00043 Test_AT_CellularNetwork::Test_AT_CellularNetwork()
00044 {
00045     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK ;
00046     ATHandler_stub::int_value = -1;
00047 }
00048 
00049 Test_AT_CellularNetwork::~Test_AT_CellularNetwork()
00050 {
00051 }
00052 
00053 void Test_AT_CellularNetwork::test_AT_CellularNetwork_constructor()
00054 {
00055     EventQueue que;
00056     FileHandle_stub fh1;
00057     ATHandler at(&fh1, que, 0, ",");
00058 
00059     AT_CellularNetwork *cn = new AT_CellularNetwork(at);
00060 
00061     delete cn;
00062 }
00063 
00064 void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_credentials()
00065 {
00066     EventQueue que;
00067     FileHandle_stub fh1;
00068     ATHandler at(&fh1, que, 0, ",");
00069 
00070     AT_CellularNetwork cn(at);
00071     CHECK(NSAPI_ERROR_OK  == cn.set_credentials("apn", CellularNetwork::CHAP));
00072 
00073     CHECK(NSAPI_ERROR_OK  == cn.set_credentials("apn"));
00074 }
00075 
00076 void Test_AT_CellularNetwork::test_AT_CellularNetwork_connect()
00077 {
00078     EventQueue que;
00079     FileHandle_stub fh1;
00080     ATHandler at(&fh1, que, 0, ",");
00081 
00082     AT_CellularNetwork cn(at);
00083     cn.set_stack_type(IPV4V6_STACK);
00084     CHECK(NSAPI_ERROR_UNSUPPORTED  == cn.connect("APN", "a", "b"));
00085 
00086     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST ;
00087     CHECK(NSAPI_ERROR_NO_CONNECTION  == cn.connect("APN"));
00088 }
00089 
00090 void Test_AT_CellularNetwork::test_AT_CellularNetwork_disconnect()
00091 {
00092     EventQueue que;
00093     FileHandle_stub fh1;
00094     ATHandler at(&fh1, que, 0, ",");
00095 
00096     AT_CellularNetwork cn(at);
00097     CHECK(NSAPI_ERROR_OK  == cn.disconnect());
00098 }
00099 
00100 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_stack()
00101 {
00102     EventQueue que;
00103     FileHandle_stub fh1;
00104     ATHandler at(&fh1, que, 0, ",");
00105 
00106     my_AT_CN cn(at);
00107     CHECK(!cn.get_stack());
00108 }
00109 
00110 void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_registration()
00111 {
00112     EventQueue que;
00113     FileHandle_stub fh1;
00114     ATHandler at(&fh1, que, 0, ",");
00115 
00116     AT_CellularNetwork cn(at);
00117     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST ;
00118     CHECK(NSAPI_ERROR_CONNECTION_LOST  == cn.set_registration());
00119 }
00120 
00121 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_registration_status()
00122 {
00123     EventQueue que;
00124     FileHandle_stub fh1;
00125     ATHandler at(&fh1, que, 0, ",");
00126 
00127     AT_CellularNetwork cn(at);
00128     CellularNetwork::RegistrationStatus stat;
00129     CHECK(NSAPI_ERROR_OK  == cn.get_registration_status(CellularNetwork::C_EREG, stat));
00130 }
00131 
00132 void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_attach()
00133 {
00134     EventQueue que;
00135     FileHandle_stub fh1;
00136     ATHandler at(&fh1, que, 0, ",");
00137 
00138     AT_CellularNetwork cn(at);
00139     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST ;
00140     CHECK(NSAPI_ERROR_CONNECTION_LOST  == cn.set_attach());
00141 }
00142 
00143 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_attach()
00144 {
00145     EventQueue que;
00146     FileHandle_stub fh1;
00147     ATHandler at(&fh1, que, 0, ",");
00148 
00149     AT_CellularNetwork cn(at);
00150     CellularNetwork::AttachStatus stat;
00151     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST ;
00152     CHECK(NSAPI_ERROR_CONNECTION_LOST  == cn.get_attach(stat));
00153 }
00154 
00155 void Test_AT_CellularNetwork::test_AT_CellularNetwork_detach()
00156 {
00157     EventQueue que;
00158     FileHandle_stub fh1;
00159     ATHandler at(&fh1, que, 0, ",");
00160 
00161     AT_CellularNetwork cn(at);
00162     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST ;
00163     CHECK(NSAPI_ERROR_CONNECTION_LOST  == cn.detach());
00164 }
00165 
00166 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_rate_control()
00167 {
00168     EventQueue que;
00169     FileHandle_stub fh1;
00170     ATHandler at(&fh1, que, 0, ",");
00171 
00172     AT_CellularNetwork cn(at);
00173     int ur;
00174     CellularNetwork::RateControlExceptionReports reports;
00175     CellularNetwork::RateControlUplinkTimeUnit timeUnit;
00176     CHECK(NSAPI_ERROR_OK  == cn.get_rate_control(reports, timeUnit, ur));
00177 }
00178 
00179 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_apn_backoff_timer()
00180 {
00181     EventQueue que;
00182     FileHandle_stub fh1;
00183     ATHandler at(&fh1, que, 0, ",");
00184 
00185     AT_CellularNetwork cn(at);
00186     int time;
00187     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST ;
00188     CHECK(NSAPI_ERROR_PARAMETER  == cn.get_apn_backoff_timer(time));
00189 
00190     cn.set_credentials("internet", NULL, NULL);
00191     CHECK(NSAPI_ERROR_CONNECTION_LOST  == cn.get_apn_backoff_timer(time));
00192 }
00193 
00194 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_ip_address()
00195 {
00196     EventQueue que;
00197     FileHandle_stub fh1;
00198     ATHandler at(&fh1, que, 0, ",");
00199 
00200     AT_CellularNetwork cn(at);
00201     CHECK(!cn.get_ip_address());
00202 }
00203 
00204 void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_access_technology()
00205 {
00206     EventQueue que;
00207     FileHandle_stub fh1;
00208     ATHandler at(&fh1, que, 0, ",");
00209 
00210     AT_CellularNetwork cn(at);
00211     CHECK(NSAPI_ERROR_UNSUPPORTED  == cn.set_access_technology(CellularNetwork::RAT_UNKNOWN));
00212     CHECK(NSAPI_ERROR_UNSUPPORTED  == cn.set_access_technology(CellularNetwork::RAT_GSM_COMPACT));
00213 }
00214 
00215 void Test_AT_CellularNetwork::test_AT_CellularNetwork_scan_plmn()
00216 {
00217     EventQueue que;
00218     FileHandle_stub fh1;
00219     ATHandler at(&fh1, que, 0, ",");
00220 
00221     AT_CellularNetwork cn(at);
00222     int c;
00223     CellularNetwork::operList_t ops;
00224     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST ;
00225     CHECK(NSAPI_ERROR_CONNECTION_LOST  == cn.scan_plmn(ops, c));
00226 }
00227 
00228 void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_ciot_optimization_config()
00229 {
00230     EventQueue que;
00231     FileHandle_stub fh1;
00232     ATHandler at(&fh1, que, 0, ",");
00233 
00234     AT_CellularNetwork cn(at);
00235     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST ;
00236     CHECK(NSAPI_ERROR_CONNECTION_LOST  == cn.set_ciot_optimization_config(CellularNetwork::SUPPORTED_UE_OPT_NO_SUPPORT, CellularNetwork::PREFERRED_UE_OPT_NO_PREFERENCE));
00237 }
00238 
00239 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_ciot_optimization_config()
00240 {
00241     EventQueue que;
00242     FileHandle_stub fh1;
00243     ATHandler at(&fh1, que, 0, ",");
00244 
00245     AT_CellularNetwork cn(at);
00246     CellularNetwork::Supported_UE_Opt sup;
00247     CellularNetwork::Preferred_UE_Opt pref;
00248     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST ;
00249     CHECK(NSAPI_ERROR_CONNECTION_LOST  == cn.get_ciot_optimization_config(sup, pref));
00250 }
00251 
00252 void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_stack_type()
00253 {
00254     EventQueue que;
00255     FileHandle_stub fh1;
00256     ATHandler at(&fh1, que, 0, ",");
00257 
00258     AT_CellularNetwork cn(at);
00259     CHECK(NSAPI_ERROR_PARAMETER  == cn.set_stack_type(IPV4_STACK));
00260 
00261     CHECK(NSAPI_ERROR_OK  == cn.set_stack_type(DEFAULT_STACK));
00262 }
00263 
00264 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_stack_type()
00265 {
00266     EventQueue que;
00267     FileHandle_stub fh1;
00268     ATHandler at(&fh1, que, 0, ",");
00269 
00270     AT_CellularNetwork cn(at);
00271     CHECK(DEFAULT_STACK == cn.get_stack_type());
00272 }
00273 
00274 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_pdpcontext_params()
00275 {
00276     EventQueue que;
00277     FileHandle_stub fh1;
00278     ATHandler at(&fh1, que, 0, ",");
00279 
00280     AT_CellularNetwork cn(at);
00281     CellularNetwork::pdpContextList_t list;
00282     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST ;
00283     CHECK(NSAPI_ERROR_CONNECTION_LOST  == cn.get_pdpcontext_params(list));
00284 }
00285 
00286 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_extended_signal_quality()
00287 {
00288     EventQueue que;
00289     FileHandle_stub fh1;
00290     ATHandler at(&fh1, que, 0, ",");
00291 
00292     AT_CellularNetwork cn(at);
00293     int rx,be,rs,ec,rsrq,rsrp;
00294     CHECK(NSAPI_ERROR_DEVICE_ERROR  == cn.get_extended_signal_quality(rx, be,rs,ec,rsrq, rsrp));
00295 
00296     ATHandler_stub::int_value = 1;
00297     CHECK(NSAPI_ERROR_OK  == cn.get_extended_signal_quality(rx, be,rs,ec,rsrq, rsrp));
00298 }
00299 
00300 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_signal_quality()
00301 {
00302     EventQueue que;
00303     FileHandle_stub fh1;
00304     ATHandler at(&fh1, que, 0, ",");
00305 
00306     AT_CellularNetwork cn(at);
00307     int rs,ber;
00308     CHECK(NSAPI_ERROR_DEVICE_ERROR  == cn.get_signal_quality(rs,ber));
00309 
00310     ATHandler_stub::int_value = 1;
00311     CHECK(NSAPI_ERROR_OK  == cn.get_signal_quality(rs,ber));
00312 }
00313 
00314 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_cell_id()
00315 {
00316     EventQueue que;
00317     FileHandle_stub fh1;
00318     ATHandler at(&fh1, que, 0, ",");
00319 
00320     AT_CellularNetwork cn(at);
00321     int id;
00322     CHECK(NSAPI_ERROR_OK  == cn.get_cell_id(id));
00323     CHECK(id == -1);
00324 }
00325 
00326 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_3gpp_error()
00327 {
00328     EventQueue que;
00329     FileHandle_stub fh1;
00330     ATHandler at(&fh1, que, 0, ",");
00331 
00332     AT_CellularNetwork cn(at);
00333     ATHandler_stub::int_value = 8;
00334     CHECK(8 == cn.get_3gpp_error());
00335 }
00336 
00337 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_operator_params()
00338 {
00339     EventQueue que;
00340     FileHandle_stub fh1;
00341     ATHandler at(&fh1, que, 0, ",");
00342 
00343     AT_CellularNetwork cn(at);
00344     int format;
00345     CellularNetwork::operator_t ops;
00346     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST ;
00347     CHECK(NSAPI_ERROR_CONNECTION_LOST  == cn.get_operator_params(format, ops));
00348 }
00349 
00350 void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_operator_names()
00351 {
00352     EventQueue que;
00353     FileHandle_stub fh1;
00354     ATHandler at(&fh1, que, 0, ",");
00355 
00356     AT_CellularNetwork cn(at);
00357     CellularNetwork::operator_names_list name_list;
00358 
00359     CHECK(NSAPI_ERROR_OK  == cn.get_operator_names(name_list));
00360 
00361     ATHandler_stub::nsapi_error_value = NSAPI_ERROR_CONNECTION_LOST ;
00362     CHECK(NSAPI_ERROR_CONNECTION_LOST  == cn.get_operator_names(name_list));
00363 }
00364