summaryrefslogtreecommitdiff
path: root/src/tests/test-wifi-ap-utils.c
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2011-01-12 00:11:29 -0600
committerDan Williams <dcbw@redhat.com>2011-01-12 00:11:29 -0600
commit54c58bcf1f0324f73c6876945479e8a9bd3c71bf (patch)
treebc739b378fc9da502522db8d5250775502bc16b3 /src/tests/test-wifi-ap-utils.c
parentc4c02758e16229e4154f5f3e19a3a59966fe4565 (diff)
wifi: add more AP connection completion tests for EAP
Diffstat (limited to 'src/tests/test-wifi-ap-utils.c')
-rw-r--r--src/tests/test-wifi-ap-utils.c239
1 files changed, 133 insertions, 106 deletions
diff --git a/src/tests/test-wifi-ap-utils.c b/src/tests/test-wifi-ap-utils.c
index a1467d8144..625cb43860 100644
--- a/src/tests/test-wifi-ap-utils.c
+++ b/src/tests/test-wifi-ap-utils.c
@@ -503,67 +503,150 @@ test_ap_wpa_eap_connection_base (const char *key_mgmt,
success = complete_connection ("blahblah", bssid, NM_802_11_MODE_INFRA,
flags, wpa_flags, rsn_flags,
FALSE, src, &error);
- if (!wpa_flags && !rsn_flags) {
- if (!flags) {
- /* Failure expected */
- COMPARE (src, NULL, success, error, NM_SETTING_WIRELESS_SECURITY_ERROR, NM_SETTING_WIRELESS_SECURITY_ERROR_INVALID_PROPERTY);
- } else if (flags & NM_802_11_AP_FLAGS_PRIVACY) {
- COMPARE (src, NULL, success, error, error_domain, error_code);
- }
- } else
- g_assert_not_reached ();
+ /* Failure expected */
+ COMPARE (src, NULL, success, error, error_domain, error_code);
g_object_unref (src);
}
+enum {
+ IDX_NONE = 0,
+ IDX_OPEN,
+ IDX_PRIV,
+ IDX_WPA_PSK,
+ IDX_RSN_PSK,
+ IDX_WPA_8021X,
+ IDX_RSN_8021X
+};
+
+static guint32
+flags_for_idx (guint32 idx)
+{
+ if (idx == IDX_OPEN)
+ return NM_802_11_AP_FLAGS_NONE;
+ else if (idx == IDX_PRIV || idx == IDX_WPA_PSK || idx == IDX_RSN_PSK
+ || idx == IDX_WPA_8021X || idx == IDX_RSN_8021X)
+ return NM_802_11_AP_FLAGS_PRIVACY;
+ else
+ g_assert_not_reached ();
+}
+
+static guint32
+wpa_flags_for_idx (guint32 idx)
+{
+ if (idx == IDX_OPEN || idx == IDX_PRIV || idx == IDX_RSN_PSK || idx == IDX_RSN_8021X)
+ return NM_802_11_AP_SEC_NONE;
+ else if (idx == IDX_WPA_PSK)
+ return NM_802_11_AP_SEC_PAIR_TKIP | NM_802_11_AP_SEC_GROUP_TKIP | NM_802_11_AP_SEC_KEY_MGMT_PSK;
+ else if (idx == IDX_WPA_8021X)
+ return NM_802_11_AP_SEC_PAIR_TKIP | NM_802_11_AP_SEC_GROUP_TKIP | NM_802_11_AP_SEC_KEY_MGMT_802_1X;
+ else
+ g_assert_not_reached ();
+}
+
+static guint32
+rsn_flags_for_idx (guint32 idx)
+{
+ if (idx == IDX_OPEN || idx == IDX_PRIV || idx == IDX_WPA_PSK || idx == IDX_WPA_8021X)
+ return NM_802_11_AP_SEC_NONE;
+ else if (idx == IDX_RSN_PSK)
+ return NM_802_11_AP_SEC_PAIR_CCMP | NM_802_11_AP_SEC_GROUP_CCMP | NM_802_11_AP_SEC_KEY_MGMT_PSK;
+ else if (idx == IDX_RSN_8021X)
+ return NM_802_11_AP_SEC_PAIR_CCMP | NM_802_11_AP_SEC_GROUP_CCMP | NM_802_11_AP_SEC_KEY_MGMT_802_1X;
+ else
+ g_assert_not_reached ();
+}
+
+static guint32
+error_domain_for_idx (guint32 idx, guint num)
+{
+ if (idx == IDX_OPEN)
+ return NM_SETTING_WIRELESS_SECURITY_ERROR;
+ else if (idx == IDX_PRIV) {
+ if (num <= 3)
+ return NM_SETTING_802_1X_ERROR;
+ else
+ return NM_SETTING_WIRELESS_SECURITY_ERROR;
+ } else if (idx == IDX_WPA_PSK)
+ return NM_SETTING_WIRELESS_SECURITY_ERROR;
+ else
+ g_assert_not_reached ();
+}
+
+static guint32
+error_code_for_idx (guint32 idx, guint num)
+{
+ if (idx == IDX_OPEN)
+ return NM_SETTING_WIRELESS_SECURITY_ERROR_INVALID_PROPERTY;
+ else if (idx == IDX_PRIV) {
+ if (num <= 3)
+ return NM_SETTING_802_1X_ERROR_MISSING_PROPERTY;
+ else
+ return NM_SETTING_WIRELESS_SECURITY_ERROR_INVALID_PROPERTY;
+ } else if (idx == IDX_WPA_PSK) {
+ return NM_SETTING_WIRELESS_SECURITY_ERROR_INVALID_PROPERTY;
+ } else
+ g_assert_not_reached ();
+}
+
static void
-test_open_ap_wpa_eap_connection_1 (void)
+test_ap_wpa_eap_connection_1 (guint32 idx)
{
test_ap_wpa_eap_connection_base (NULL, NULL,
- NM_802_11_AP_FLAGS_NONE,
- NM_802_11_AP_SEC_NONE,
- NM_802_11_AP_SEC_NONE,
- FALSE, 0, 0);
+ flags_for_idx (idx),
+ wpa_flags_for_idx (idx),
+ rsn_flags_for_idx (idx),
+ FALSE,
+ error_domain_for_idx (idx, 1),
+ error_code_for_idx (idx, 1));
}
static void
-test_open_ap_wpa_eap_connection_2 (void)
+test_ap_wpa_eap_connection_2 (guint idx)
{
test_ap_wpa_eap_connection_base (NULL, NULL,
- NM_802_11_AP_FLAGS_NONE,
- NM_802_11_AP_SEC_NONE,
- NM_802_11_AP_SEC_NONE,
- TRUE, 0, 0);
+ flags_for_idx (idx),
+ wpa_flags_for_idx (idx),
+ rsn_flags_for_idx (idx),
+ TRUE,
+ error_domain_for_idx (idx, 2),
+ error_code_for_idx (idx, 2));
}
static void
-test_open_ap_wpa_eap_connection_3 (void)
+test_ap_wpa_eap_connection_3 (guint idx)
{
test_ap_wpa_eap_connection_base (NULL, "open",
- NM_802_11_AP_FLAGS_NONE,
- NM_802_11_AP_SEC_NONE,
- NM_802_11_AP_SEC_NONE,
- FALSE, 0, 0);
+ flags_for_idx (idx),
+ wpa_flags_for_idx (idx),
+ rsn_flags_for_idx (idx),
+ FALSE,
+ error_domain_for_idx (idx, 3),
+ error_code_for_idx (idx, 3));
}
static void
-test_open_ap_wpa_eap_connection_4 (void)
+test_ap_wpa_eap_connection_4 (guint idx)
{
test_ap_wpa_eap_connection_base (NULL, "shared",
- NM_802_11_AP_FLAGS_NONE,
- NM_802_11_AP_SEC_NONE,
- NM_802_11_AP_SEC_NONE,
- FALSE, 0, 0);
+ flags_for_idx (idx),
+ wpa_flags_for_idx (idx),
+ rsn_flags_for_idx (idx),
+ FALSE,
+ error_domain_for_idx (idx, 4),
+ error_code_for_idx (idx, 4));
}
static void
-test_open_ap_wpa_eap_connection_5 (void)
+test_ap_wpa_eap_connection_5 (guint idx)
{
test_ap_wpa_eap_connection_base ("wpa-eap", "open",
- NM_802_11_AP_FLAGS_NONE,
- NM_802_11_AP_SEC_NONE,
- NM_802_11_AP_SEC_NONE,
- FALSE, 0, 0);
+ flags_for_idx (idx),
+ wpa_flags_for_idx (idx),
+ rsn_flags_for_idx (idx),
+ FALSE,
+ error_domain_for_idx (idx, 5),
+ error_code_for_idx (idx, 5));
}
/*******************************************/
@@ -845,68 +928,6 @@ test_priv_ap_wpa_psk_connection_5 (void)
/*******************************************/
-static void
-test_priv_ap_wpa_eap_connection_1 (void)
-{
- test_ap_wpa_eap_connection_base (NULL, NULL,
- NM_802_11_AP_FLAGS_PRIVACY,
- NM_802_11_AP_SEC_NONE,
- NM_802_11_AP_SEC_NONE,
- FALSE,
- NM_SETTING_802_1X_ERROR,
- NM_SETTING_802_1X_ERROR_MISSING_PROPERTY);
-}
-
-static void
-test_priv_ap_wpa_eap_connection_2 (void)
-{
- test_ap_wpa_eap_connection_base (NULL, NULL,
- NM_802_11_AP_FLAGS_PRIVACY,
- NM_802_11_AP_SEC_NONE,
- NM_802_11_AP_SEC_NONE,
- TRUE,
- NM_SETTING_802_1X_ERROR,
- NM_SETTING_802_1X_ERROR_MISSING_PROPERTY);
-}
-
-static void
-test_priv_ap_wpa_eap_connection_3 (void)
-{
- test_ap_wpa_eap_connection_base (NULL, "open",
- NM_802_11_AP_FLAGS_PRIVACY,
- NM_802_11_AP_SEC_NONE,
- NM_802_11_AP_SEC_NONE,
- FALSE,
- NM_SETTING_802_1X_ERROR,
- NM_SETTING_802_1X_ERROR_MISSING_PROPERTY);
-}
-
-static void
-test_priv_ap_wpa_eap_connection_4 (void)
-{
- test_ap_wpa_eap_connection_base (NULL, "shared",
- NM_802_11_AP_FLAGS_PRIVACY,
- NM_802_11_AP_SEC_NONE,
- NM_802_11_AP_SEC_NONE,
- FALSE,
- NM_SETTING_WIRELESS_SECURITY_ERROR,
- NM_SETTING_WIRELESS_SECURITY_ERROR_INVALID_PROPERTY);
-}
-
-static void
-test_priv_ap_wpa_eap_connection_5 (void)
-{
- test_ap_wpa_eap_connection_base ("wpa-eap", "open",
- NM_802_11_AP_FLAGS_PRIVACY,
- NM_802_11_AP_SEC_NONE,
- NM_802_11_AP_SEC_NONE,
- FALSE,
- NM_SETTING_WIRELESS_SECURITY_ERROR,
- NM_SETTING_WIRELESS_SECURITY_ERROR_INVALID_PROPERTY);
-}
-
-/*******************************************/
-
#define WPA_PSK_CAPS (NM_802_11_AP_SEC_PAIR_TKIP | NM_802_11_AP_SEC_KEY_MGMT_PSK)
static void
@@ -1149,11 +1170,11 @@ int main (int argc, char **argv)
g_test_suite_add (suite, TESTCASE (test_open_ap_wpa_psk_connection_4, NULL));
g_test_suite_add (suite, TESTCASE (test_open_ap_wpa_psk_connection_5, NULL));
- g_test_suite_add (suite, TESTCASE (test_open_ap_wpa_eap_connection_1, NULL));
- g_test_suite_add (suite, TESTCASE (test_open_ap_wpa_eap_connection_2, NULL));
- g_test_suite_add (suite, TESTCASE (test_open_ap_wpa_eap_connection_3, NULL));
- g_test_suite_add (suite, TESTCASE (test_open_ap_wpa_eap_connection_4, NULL));
- g_test_suite_add (suite, TESTCASE (test_open_ap_wpa_eap_connection_5, NULL));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_1, IDX_OPEN));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_2, IDX_OPEN));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_3, IDX_OPEN));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_4, IDX_OPEN));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_5, IDX_OPEN));
/* WEP AP tests */
g_test_suite_add (suite, TESTCASE (test_priv_ap_empty_connection, NULL));
@@ -1170,11 +1191,11 @@ int main (int argc, char **argv)
g_test_suite_add (suite, TESTCASE (test_priv_ap_wpa_psk_connection_4, NULL));
g_test_suite_add (suite, TESTCASE (test_priv_ap_wpa_psk_connection_5, NULL));
- g_test_suite_add (suite, TESTCASE (test_priv_ap_wpa_eap_connection_1, NULL));
- g_test_suite_add (suite, TESTCASE (test_priv_ap_wpa_eap_connection_2, NULL));
- g_test_suite_add (suite, TESTCASE (test_priv_ap_wpa_eap_connection_3, NULL));
- g_test_suite_add (suite, TESTCASE (test_priv_ap_wpa_eap_connection_4, NULL));
- g_test_suite_add (suite, TESTCASE (test_priv_ap_wpa_eap_connection_5, NULL));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_1, IDX_PRIV));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_2, IDX_PRIV));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_3, IDX_PRIV));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_4, IDX_PRIV));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_5, IDX_PRIV));
/* WPA-PSK tests */
g_test_suite_add (suite, TESTCASE (test_wpa_ap_empty_connection, NULL));
@@ -1189,6 +1210,12 @@ int main (int argc, char **argv)
g_test_suite_add (suite, TESTCASE (test_wpa_ap_wpa_psk_connection_4, NULL));
g_test_suite_add (suite, TESTCASE (test_wpa_ap_wpa_psk_connection_5, NULL));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_1, IDX_WPA_PSK));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_2, IDX_WPA_PSK));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_3, IDX_WPA_PSK));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_4, IDX_WPA_PSK));
+ g_test_suite_add (suite, TESTCASE (test_ap_wpa_eap_connection_5, IDX_WPA_PSK));
+
return g_test_run ();
}