[network-manager-applet/lr/gtk4-part1: 3/6] nma/tests: add certificate chooser test program



commit 08f723ab466b08f1335e7ab87c998b321eb1856a
Author: Lubomir Rintel <lkundrak v3 sk>
Date:   Fri Feb 15 10:13:06 2019 +0100

    nma/tests: add certificate chooser test program

 .gitignore                      |  1 +
 Makefile.am                     | 17 ++++++++++
 src/libnma/tests/cert-chooser.c | 73 +++++++++++++++++++++++++++++++++++++++++
 src/libnma/tests/meson.build    |  9 +++++
 4 files changed, 100 insertions(+)
---
diff --git a/.gitignore b/.gitignore
index 423955b1..b93e1ecc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -56,6 +56,7 @@ src/libnma/NMA-1.0.typelib
 src/libnma/nma-resources.c
 src/libnma/nma-resources.h
 src/libnma/nma-version.h
+src/libnma/tests/cert-chooser
 src/libnma/tests/mobile-wizard
 src/libnma/tests/run-vpn
 src/libnma/tests/vpn-password-dialog
diff --git a/Makefile.am b/Makefile.am
index 5769b957..46095319 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -696,6 +696,23 @@ src_libnma_tests_run_vpn_LDADD = \
        $(LIBNM_LIBS) \
        src/libnma/libnma.la
 
+check_PROGRAMS_norun += src/libnma/tests/cert-chooser
+
+src_libnma_tests_cert_chooser_CPPFLAGS = \
+       $(dflt_cppflags) \
+       $(GLIB_CFLAGS) \
+       $(GTK3_CFLAGS) \
+       $(LIBNM_CFLAGS) \
+       "-I$(srcdir)/shared/" \
+       "-I$(srcdir)/src/libnma" \
+       -Isrc/libnma
+
+src_libnma_tests_cert_chooser_LDADD = \
+       $(GLIB_LIBS) \
+       $(GTK3_LIBS) \
+       $(LIBNM_LIBS) \
+       src/libnma/libnma.la
+
 EXTRA_DIST += \
        src/libnma/nma-version.h.in \
        src/libnma/libnma.pc.in \
diff --git a/src/libnma/tests/cert-chooser.c b/src/libnma/tests/cert-chooser.c
new file mode 100644
index 00000000..9ba22ded
--- /dev/null
+++ b/src/libnma/tests/cert-chooser.c
@@ -0,0 +1,73 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the ree Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Copyright 2019 Red Hat, Inc.
+ */
+
+#include "nm-default.h"
+
+#include <gtk/gtk.h>
+#include "nma-cert-chooser.h"
+
+int
+main (int argc, char *argv[])
+{
+       GtkWidget *dialog;
+       GtkBox *content;
+       GtkWidget *widget;
+
+       gtk_init (&argc, &argv);
+
+       dialog = gtk_dialog_new_with_buttons ("NMACertChooser test",
+                                             NULL, GTK_DIALOG_MODAL,
+                                             "Dismiss",  GTK_RESPONSE_DELETE_EVENT,
+                                             NULL);
+       content = GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog)));
+
+       widget = nma_cert_chooser_new ("Any", 0);
+       gtk_widget_show (widget);
+       gtk_box_pack_start (content, widget, TRUE, TRUE, 6);
+
+       widget = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
+       gtk_widget_show (widget);
+       gtk_box_pack_start (content, widget, TRUE, TRUE, 6);
+
+       widget = nma_cert_chooser_new ("FLAG_PASSWORDS", NMA_CERT_CHOOSER_FLAG_PASSWORDS);
+       nma_cert_chooser_set_cert (NMA_CERT_CHOOSER (widget),
+                                  "pkcs11:object=praise;type=satan",
+                                  NM_SETTING_802_1X_CK_SCHEME_PKCS11);
+       nma_cert_chooser_set_key_uri (NMA_CERT_CHOOSER (widget),
+                                     "pkcs11:object=worship;type=doom");
+       gtk_widget_show (widget);
+       gtk_box_pack_start (content, widget, TRUE, TRUE, 6);
+
+       widget = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
+       gtk_widget_show (widget);
+       gtk_box_pack_start (content, widget, TRUE, TRUE, 6);
+
+       widget = nma_cert_chooser_new ("FLAG_CERT", NMA_CERT_CHOOSER_FLAG_CERT);
+       gtk_widget_show (widget);
+       gtk_box_pack_start (content, widget, TRUE, TRUE, 6);
+
+       widget = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
+       gtk_widget_show (widget);
+       gtk_box_pack_start (content, widget, TRUE, TRUE, 6);
+
+       widget = nma_cert_chooser_new ("FLAG_PEM", NMA_CERT_CHOOSER_FLAG_PEM);
+       gtk_widget_show (widget);
+       gtk_box_pack_start (content, widget, TRUE, TRUE, 6);
+
+       gtk_dialog_run (GTK_DIALOG (dialog));
+}
diff --git a/src/libnma/tests/meson.build b/src/libnma/tests/meson.build
index 4ac1543f..2d682e86 100644
--- a/src/libnma/tests/meson.build
+++ b/src/libnma/tests/meson.build
@@ -4,6 +4,15 @@ deps = [
   libnma_dep
 ]
 
+executable(
+  'cert-chooser',
+  'cert-chooser.c',
+  include_directories: incs,
+  dependencies: deps,
+  c_args: cflags,
+  install: false
+)
+
 executable(
   'mobile-wizard',
   'mobile-wizard.c',


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]