summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabiano FidĂȘncio <fidencio@redhat.com>2019-02-06 16:50:43 +0100
committerFabiano FidĂȘncio <fidencio@redhat.com>2019-02-12 20:23:11 +0100
commit53e5dd13e2c394dc79db6103dfbfcf8e6632aa65 (patch)
tree4e5e16bb01313232c43d782c61c14a78af521ab4
parentccae491ce7e8f3be067faf3036969a911b5bfb00 (diff)
downloadlibosinfo-53e5dd13e2c394dc79db6103dfbfcf8e6632aa65.tar.gz
test-media: Add test for media installer script
Signed-off-by: Fabiano FidĂȘncio <fidencio@redhat.com> Reviewed-by: Christophe Fergeau <cfergeau@redhat.com>
-rw-r--r--tests/dbdata/os/libosinfo.org/test-os-media-installer-script.xml16
-rw-r--r--tests/test-media.c32
2 files changed, 48 insertions, 0 deletions
diff --git a/tests/dbdata/os/libosinfo.org/test-os-media-installer-script.xml b/tests/dbdata/os/libosinfo.org/test-os-media-installer-script.xml
new file mode 100644
index 0000000..f6422ee
--- /dev/null
+++ b/tests/dbdata/os/libosinfo.org/test-os-media-installer-script.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<libosinfo version="0.0.1">
+ <os id="http://libosinfo.org/test/os/media-installer-script">
+ <short-id>media-no-installer</short-id>
+ <name>Media no installer</name>
+ <version>unknown</version>
+ <vendor>libosinfo.org</vendor>
+ <family>test</family>
+
+ <media arch="x86_64">
+ <installer>
+ <script id="http://example.com/libosinfo/test-install-script"/>
+ </installer>
+ </media>
+ </os>
+</libosinfo>
diff --git a/tests/test-media.c b/tests/test-media.c
index bfa053f..e8bd702 100644
--- a/tests/test-media.c
+++ b/tests/test-media.c
@@ -110,6 +110,37 @@ test_loaded_no_installer(void)
g_object_unref(loader);
}
+static void
+test_loaded_installer_script(void)
+{
+
+ OsinfoLoader *loader = osinfo_loader_new();
+ OsinfoDb *db;
+ OsinfoOs *os;
+ OsinfoMedia *media;
+ OsinfoMediaList *list;
+ OsinfoInstallScriptList *scripts;
+ gint list_len;
+ GError *error = NULL;
+
+ osinfo_loader_process_path(loader, SRCDIR "/tests/dbdata", &error);
+ g_assert_no_error(error);
+ db = osinfo_loader_get_db(loader);
+
+ os = osinfo_db_get_os(db, "http://libosinfo.org/test/os/media-installer-script");
+
+ list = osinfo_os_get_media_list(os);
+ list_len = osinfo_list_get_length(OSINFO_LIST(list));
+ g_assert_cmpint(list_len, ==, 1);
+
+ media = OSINFO_MEDIA(osinfo_list_get_nth(OSINFO_LIST(list), 0));
+ scripts = osinfo_media_get_install_script_list(media);
+ g_assert_cmpint(osinfo_list_get_length(OSINFO_LIST(scripts)), ==, 1);
+
+ g_object_unref(scripts);
+ g_object_unref(list);
+ g_object_unref(loader);
+}
int
main(int argc, char *argv[])
@@ -119,6 +150,7 @@ main(int argc, char *argv[])
g_test_add_func("/media/basic", test_basic);
g_test_add_func("/media/loaded/attributes", test_loaded_attributes);
g_test_add_func("/media/loaded/no-installer", test_loaded_no_installer);
+ g_test_add_func("/media/loaded/installer-script", test_loaded_installer_script);
/* Upfront so we don't confuse valgrind */
osinfo_media_get_type();