mirror of git://git.sysmocom.de/ofono
unit: Add subscriber ready status test
This commit is contained in:
parent
a64b5453e8
commit
bc239450b6
|
@ -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();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue