summaryrefslogtreecommitdiff
path: root/src/libmbim-glib/test/test-message-parser.c
diff options
context:
space:
mode:
authorBen Chan <benchan@chromium.org>2014-02-26 22:26:48 -0800
committerAleksander Morgado <aleksander@aleksander.es>2014-02-27 09:42:37 +0100
commitd482a37156a70a7b778ed0c1aaeecdc9b5a7a8dd (patch)
tree78389d9d0a850343d3bd757a573100cb6d0fff45 /src/libmbim-glib/test/test-message-parser.c
parent263b020d05f73e74be618c6e854a1461c5957c05 (diff)
ms-firmware-id: add support for the Microsoft Firmware ID service
Diffstat (limited to 'src/libmbim-glib/test/test-message-parser.c')
-rw-r--r--src/libmbim-glib/test/test-message-parser.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/libmbim-glib/test/test-message-parser.c b/src/libmbim-glib/test/test-message-parser.c
index 1f33805..8df8105 100644
--- a/src/libmbim-glib/test/test-message-parser.c
+++ b/src/libmbim-glib/test/test-message-parser.c
@@ -21,6 +21,7 @@
#include "mbim-ussd.h"
#include "mbim-auth.h"
#include "mbim-stk.h"
+#include "mbim-ms-firmware-id.h"
#include "mbim-message.h"
#include "mbim-cid.h"
#include "mbim-utils.h"
@@ -1561,6 +1562,56 @@ test_message_parser_basic_connect_ip_packet_filters_two (void)
mbim_message_unref (response);
}
+static void
+test_message_parser_ms_firmware_id_get (void)
+{
+ const MbimUuid *firmware_id;
+ MbimMessage *response;
+ GError *error = NULL;
+ const guint8 buffer [] = {
+ /* header */
+ 0x03, 0x00, 0x00, 0x80, /* type */
+ 0x40, 0x00, 0x00, 0x00, /* length */
+ 0x02, 0x00, 0x00, 0x00, /* transaction id */
+ /* fragment header */
+ 0x01, 0x00, 0x00, 0x00, /* total */
+ 0x00, 0x00, 0x00, 0x00, /* current */
+ /* command_done_message */
+ 0xE9, 0xF7, 0xDE, 0xA2, /* service id */
+ 0xFE, 0xAF, 0x40, 0x09,
+ 0x93, 0xCE, 0x90, 0xA3,
+ 0x69, 0x41, 0x03, 0xB6,
+ 0x01, 0x00, 0x00, 0x00, /* command id */
+ 0x00, 0x00, 0x00, 0x00, /* status code */
+ 0x10, 0x00, 0x00, 0x00, /* buffer length */
+ /* information buffer */
+ 0x00, 0x11, 0x22, 0x33, /* firmware id */
+ 0x44, 0x55, 0x66, 0x77,
+ 0x88, 0x99, 0xAA, 0xBB,
+ 0xCC, 0xDD, 0xEE, 0xFF };
+
+ const MbimUuid expected_firmware_id = {
+ .a = { 0x00, 0x11, 0x22, 0x33 },
+ .b = { 0x44, 0x55 },
+ .c = { 0x66, 0x77 },
+ .d = { 0x88, 0x99 },
+ .e = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }
+ };
+
+ response = mbim_message_new (buffer, sizeof (buffer));
+
+ g_assert (mbim_message_ms_firmware_id_get_response_parse (
+ response,
+ &firmware_id,
+ &error));
+
+ g_assert_no_error (error);
+
+ g_assert (mbim_uuid_cmp (firmware_id, &expected_firmware_id));
+
+ mbim_message_unref (response);
+}
+
int main (int argc, char **argv)
{
g_test_init (&argc, &argv, NULL);
@@ -1582,6 +1633,7 @@ int main (int argc, char **argv)
g_test_add_func ("/libmbim-glib/message/parser/basic-connect/ip-packet-filters/none", test_message_parser_basic_connect_ip_packet_filters_none);
g_test_add_func ("/libmbim-glib/message/parser/basic-connect/ip-packet-filters/one", test_message_parser_basic_connect_ip_packet_filters_one);
g_test_add_func ("/libmbim-glib/message/parser/basic-connect/ip-packet-filters/two", test_message_parser_basic_connect_ip_packet_filters_two);
+ g_test_add_func ("/libmbim-glib/message/parser/ms-firmware-id/get", test_message_parser_ms_firmware_id_get);
return g_test_run ();
}