unit: Add subscriber ready status test

This commit is contained in:
Denis Kenzior 2017-10-03 10:30:25 -05:00
parent a64b5453e8
commit bc239450b6
1 changed files with 67 additions and 0 deletions

View File

@ -69,6 +69,30 @@ static const struct message_data message_data_device_caps = {
.binary_len = sizeof(message_binary_device_caps),
};
static const unsigned char message_binary_subscriber_ready_status[] = {
0x03, 0x00, 0x00, 0x80, 0xB4, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x89, 0xCC, 0x33,
0xBC, 0xBB, 0x8B, 0x4F, 0xB6, 0xB0, 0x13, 0x3E, 0xC2, 0xAA, 0xE6, 0xDF,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00,
0x44, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
0x33, 0x00, 0x31, 0x00, 0x30, 0x00, 0x34, 0x00, 0x31, 0x00, 0x30, 0x00,
0x32, 0x00, 0x32, 0x00, 0x37, 0x00, 0x39, 0x00, 0x32, 0x00, 0x33, 0x00,
0x33, 0x00, 0x37, 0x00, 0x34, 0x00, 0x00, 0x00, 0x38, 0x00, 0x39, 0x00,
0x30, 0x00, 0x31, 0x00, 0x34, 0x00, 0x31, 0x00, 0x30, 0x00, 0x34, 0x00,
0x32, 0x00, 0x31, 0x00, 0x32, 0x00, 0x32, 0x00, 0x37, 0x00, 0x39, 0x00,
0x32, 0x00, 0x33, 0x00, 0x33, 0x00, 0x37, 0x00, 0x34, 0x00, 0x37, 0x00,
0x31, 0x00, 0x35, 0x00, 0x31, 0x00, 0x32, 0x00, 0x34, 0x00, 0x33, 0x00,
0x31, 0x00, 0x30, 0x00, 0x35, 0x00, 0x39, 0x00, 0x36, 0x00, 0x00, 0x00
};
static const struct message_data message_data_subscriber_ready_status = {
.tid = 2,
.binary = message_binary_subscriber_ready_status,
.binary_len = sizeof(message_binary_subscriber_ready_status),
};
static struct mbim_message *build_message(const struct message_data *msg_data)
{
static const int frag_size = 64;
@ -147,6 +171,45 @@ static void parse_device_caps(const void *data)
mbim_message_unref(msg);
}
static void parse_subscriber_ready_status(const void *data)
{
struct mbim_message *msg = build_message(data);
uint32_t ready_state;
char *imsi;
char *iccid;
uint32_t ready_info;
uint32_t n_phone_numbers;
char *phone_number;
struct mbim_message_iter array;
bool r;
r = mbim_message_get_arguments(msg, "ussuas",
&ready_state, &imsi, &iccid,
&ready_info,
&n_phone_numbers, &array);
assert(r);
assert(ready_state == 1);
assert(imsi);
assert(!strcmp(imsi, "310410227923374"));
assert(iccid);
assert(!strcmp(iccid, "89014104212279233747"));
assert(ready_info == 0);
assert(n_phone_numbers == 1);
assert(mbim_message_iter_next_entry(&array, &phone_number));
assert(phone_number);
assert(!strcmp(phone_number, "15124310596"));
l_free(phone_number);
assert(!mbim_message_iter_next_entry(&array, &phone_number));
l_free(imsi);
l_free(iccid);
mbim_message_unref(msg);
}
int main(int argc, char *argv[])
{
l_test_init(&argc, &argv);
@ -154,5 +217,9 @@ int main(int argc, char *argv[])
l_test_add("Device Caps (parse)",
parse_device_caps, &message_data_device_caps);
l_test_add("Subscriber Ready Status (parse)",
parse_subscriber_ready_status,
&message_data_subscriber_ready_status);
return l_test_run();
}