summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiří Klimeš <blueowl@centrum.cz>2017-01-17 13:05:54 +0100
committerJiří Klimeš <blueowl@centrum.cz>2017-01-17 13:21:39 +0100
commit519f44f748c3760797e83e931f084dcbd955c4f4 (patch)
treec55f733d5efc2fd33e63bcb836e886755bb99668
parentde9041645da12fcdbf54461622c5d68f4e419e39 (diff)
downloadNetworkManager-jk/proxy-fixes.tar.gz
ifcfg-rh: add a basic test for Proxy settingjk/proxy-fixes
-rw-r--r--Makefile.am1
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-read-proxy-basic15
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c78
3 files changed, 94 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 609e4be225..2116486485 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2033,6 +2033,7 @@ EXTRA_DIST += \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-1 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-empty-config \
+ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-read-proxy-basic \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-trailing-spaces \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dns-options \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-wake-on-lan \
diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-read-proxy-basic b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-read-proxy-basic
new file mode 100644
index 0000000000..e2cf6c212c
--- /dev/null
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-read-proxy-basic
@@ -0,0 +1,15 @@
+# Intel Corporation 82540EP Gigabit Ethernet Controller (Mobile)
+TYPE=Ethernet
+DEVICE=eth0
+HWADDR=00:11:22:33:44:ee
+BOOTPROTO=dhcp
+ONBOOT=yes
+USERCTL=yes
+IPV6INIT=no
+NM_CONTROLLED=yes
+PEERDNS=no
+
+# proxy configuration
+PROXY_METHOD=auto
+PAC_URL=http://wpad.mycompany.com/wpad.dat
+BROWSER_ONLY=yes
diff --git a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
index c1dab54a4a..1a8439f6ce 100644
--- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
+++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
@@ -8268,6 +8268,81 @@ test_read_team_port_empty_config (void)
g_object_unref (connection);
}
+static void
+test_read_proxy_basic (void)
+{
+ NMConnection *connection;
+ NMSettingProxy *s_proxy;
+
+ /* Test basic proxy configuration */
+
+ connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-read-proxy-basic",
+ NULL, TYPE_ETHERNET, NULL);
+
+ /* ===== Proxy setting ===== */
+ s_proxy = nm_connection_get_setting_proxy (connection);
+ g_assert (s_proxy);
+
+ /* Proxy method */
+ g_assert_cmpint (nm_setting_proxy_get_method (s_proxy), ==, NM_SETTING_PROXY_METHOD_AUTO);
+ g_assert (nm_setting_proxy_get_browser_only (s_proxy));
+ g_assert_cmpstr (nm_setting_proxy_get_pac_url (s_proxy), ==, "http://wpad.mycompany.com/wpad.dat");
+
+ g_object_unref (connection);
+}
+
+static void
+test_write_proxy_basic (void)
+{
+ nmtst_auto_unlinkfile char *testfile = NULL;
+ gs_unref_object NMConnection *connection = NULL;
+ gs_unref_object NMConnection *reread = NULL;
+ NMSettingConnection *s_con;
+ NMSettingWired *s_wired;
+ NMSettingProxy *s_proxy;
+ const char *expected_url = "https://wpad.neverland.org/wpad.dat";
+ shvarFile *f;
+
+ connection = nm_simple_connection_new ();
+
+ /* Connection setting */
+ s_con = (NMSettingConnection *) nm_setting_connection_new ();
+ nm_connection_add_setting (connection, NM_SETTING (s_con));
+
+ g_object_set (s_con,
+ NM_SETTING_CONNECTION_ID, "Test Write Proxy Basic",
+ NM_SETTING_CONNECTION_UUID, nm_utils_uuid_generate_a (),
+ NM_SETTING_CONNECTION_TYPE, NM_SETTING_WIRED_SETTING_NAME,
+ NULL);
+
+ /* Proxy setting */
+ s_proxy = (NMSettingProxy *) nm_setting_proxy_new ();
+ nm_connection_add_setting (connection, NM_SETTING (s_proxy));
+ g_object_set (s_proxy, NM_SETTING_PROXY_METHOD, NM_SETTING_PROXY_METHOD_AUTO, NULL);
+ g_object_set (s_proxy, NM_SETTING_PROXY_PAC_URL, expected_url, NULL);
+
+ /* Wired setting */
+ s_wired = (NMSettingWired *) nm_setting_wired_new ();
+ nm_connection_add_setting (connection, NM_SETTING (s_wired));
+
+ nmtst_assert_connection_verifies (connection);
+
+ _writer_new_connection (connection,
+ TEST_SCRATCH_DIR "/network-scripts/",
+ &testfile);
+
+ f = _svOpenFile (testfile);
+ _svGetValue_check (f, "TYPE", "Ethernet");
+ _svGetValue_check (f, "PROXY_METHOD", "auto");
+ _svGetValue_check (f, "PAC_URL", expected_url);
+ svCloseFile (f);
+
+ reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET,
+ NULL);
+
+ nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
+}
+
/*****************************************************************************/
static const char *
@@ -9059,6 +9134,9 @@ int main (int argc, char **argv)
g_test_add_func (TPATH "team/write-port", test_write_team_port);
g_test_add_func (TPATH "team/read-port-empty-config", test_read_team_port_empty_config);
+ g_test_add_func (TPATH "proxy/read-proxy-basic", test_read_proxy_basic);
+ g_test_add_func (TPATH "proxy/write-proxy-basic", test_write_proxy_basic);
+
g_test_add_func (TPATH "sit/read/ignore", test_sit_read_ignore);
/* Stuff we expect to fail for now */