summaryrefslogtreecommitdiff
path: root/unit
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2017-11-09 20:53:40 -0600
committerDenis Kenzior <denkenz@gmail.com>2017-11-13 21:24:37 -0600
commit24a5de0e28989c34e2c3e083cdb7cc6386f08244 (patch)
treed619d05febd6b2ad3454bcbb1d119316a257700d /unit
parenta4a7e1937947bdaf3a2c5d14589872eb526e78d7 (diff)
downloadofono-24a5de0e28989c34e2c3e083cdb7cc6386f08244.tar.gz
unit: Add mbim packet service notification test
Diffstat (limited to 'unit')
-rw-r--r--unit/test-mbim.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/unit/test-mbim.c b/unit/test-mbim.c
index 65b64113..0cb3d75b 100644
--- a/unit/test-mbim.c
+++ b/unit/test-mbim.c
@@ -200,6 +200,21 @@ static const struct message_data message_data_device_subscribe_list = {
.binary_len = sizeof(message_binary_device_subscribe_list),
};
+static const unsigned char message_binary_packet_service_notify[] = {
+ 0x07, 0x00, 0x00, 0x80, 0x48, 0x00, 0x00, 0x00, 0x00, 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,
+ 0x0a, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfa, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0xf5, 0x05, 0x00, 0x00, 0x00, 0x00,
+};
+
+static const struct message_data message_data_packet_service_notify = {
+ .tid = 0,
+ .binary = message_binary_packet_service_notify,
+ .binary_len = sizeof(message_binary_packet_service_notify),
+};
+
static void do_debug(const char *str, void *user_data)
{
const char *prefix = user_data;
@@ -607,6 +622,28 @@ static void build_device_subscribe_list(const void *data)
mbim_message_unref(message);
}
+static void parse_packet_service_notify(const void *data)
+{
+ struct mbim_message *msg = build_message(data);
+ uint32_t nw_error;
+ uint32_t state;
+ uint32_t data_class;
+ uint64_t uplink;
+ uint64_t downlink;
+
+ assert(mbim_message_get_arguments(msg, "uuutt",
+ &nw_error, &state, &data_class,
+ &uplink, &downlink));
+
+ assert(nw_error == 0);
+ assert(state == 2);
+ assert(data_class == MBIM_DATA_CLASS_LTE);
+ assert(uplink == 50000000);
+ assert(downlink == 100000000);
+
+ mbim_message_unref(msg);
+}
+
int main(int argc, char *argv[])
{
l_test_init(&argc, &argv);
@@ -644,5 +681,8 @@ int main(int argc, char *argv[])
l_test_add("Device Subscribe List (build)", build_device_subscribe_list,
&message_data_device_subscribe_list);
+ l_test_add("Packet Service Notify (parse)", parse_packet_service_notify,
+ &message_data_packet_service_notify);
+
return l_test_run();
}