2007-06-12 Murray Cumming <murrayc@murrayc.com>
[modest] / tests / check_account-mgr.c
index c35317a..6c00667 100644 (file)
 #include <string.h>
 #include <modest-conf.h>
 #include <modest-account-mgr.h>
+#include <modest-protocol-info.h>
 
 /* ----------------------- Defines ---------------------- */
 
-#define TEST_MODEST_ACCOUNT_NAME  "modest-unit-tests-account"
+#define TEST_MODEST_ACCOUNT_NAME  "modest-unit-tests-àccount"
 
 /* ------------------ Global variables ------------------ */
 
@@ -45,18 +46,31 @@ static ModestAccountMgr *account_mgr = NULL;
 static void
 fx_setup_default_account_mgr ()
 {
-  int argc = 0;
-  ModestConf *conf = NULL;
-
-  g_type_init ();
-
-  conf = modest_conf_new ();
-  fail_unless (MODEST_IS_CONF (conf), 
-              "modest_conf_new failed");
-
-  account_mgr = modest_account_mgr_new (conf);
-  fail_unless (MODEST_IS_ACCOUNT_MGR (account_mgr),
-              "modest_account_mgr_new failed");
+       ModestConf *conf = NULL;
+
+       g_type_init ();
+
+       conf = modest_conf_new ();
+       fail_unless (MODEST_IS_CONF (conf), 
+                    "modest_conf_new failed");
+
+       account_mgr = modest_account_mgr_new (conf);
+       fail_unless (MODEST_IS_ACCOUNT_MGR (account_mgr),
+                    "modest_account_mgr_new failed");
+
+       /* cleanup old garbage (from previous runs)*/
+       if (modest_account_mgr_account_exists(account_mgr,
+                                             TEST_MODEST_ACCOUNT_NAME,
+                                             FALSE))
+               modest_account_mgr_remove_account (account_mgr,
+                                                  TEST_MODEST_ACCOUNT_NAME,
+                                                  FALSE);
+       if (modest_account_mgr_account_exists(account_mgr,
+                                             TEST_MODEST_ACCOUNT_NAME,
+                                             TRUE))
+               modest_account_mgr_remove_account (account_mgr,
+                                                  TEST_MODEST_ACCOUNT_NAME,
+                                                  TRUE);
 }
 
 static void
@@ -90,25 +104,21 @@ START_TEST (test_add_exists_remove_account_regular)
        gchar *hostname = NULL;
        gchar *username = NULL;
        gchar *password = NULL;
-       gchar *proto = NULL;
-       GError *error = NULL;
+       ModestTransportStoreProtocol proto;
        gboolean result;
-
+       
        name = g_strdup (TEST_MODEST_ACCOUNT_NAME);
-
        /* Test 1 */
        store_account = g_strdup ("imap://me@myserver");
        transport_account = g_strdup ("local-smtp");
        result = modest_account_mgr_add_account (account_mgr,
                                                 name,
                                                 store_account,
-                                                transport_account,
-                                                &error);
-       fail_unless (result && !error,
+                                                transport_account, TRUE);
+       fail_unless (result,
                     "modest_account_mgr_add_account failed:\n" \
-                    "name: %s\nstore: %s\ntransport: %s\nerror: %s",
-                    name, store_account, transport_account,
-                    error ? error->message : "");
+                    "name: %s\nstore: %s\ntransport: %s\n",
+                    name, store_account, transport_account, TRUE);
        
        g_free (store_account);
        g_free (transport_account);
@@ -116,34 +126,34 @@ START_TEST (test_add_exists_remove_account_regular)
        /* Test 2 */
        result = modest_account_mgr_account_exists (account_mgr,
                                                    name,
-                                                   FALSE,
-                                                   &error);
-       fail_unless (result && !error,
+                                                   FALSE);
+       fail_unless (result,
                     "modest_account_mgr_account_exists failed: " \
-                    "Account with name \"%s\" should exist. Error: %s",
-                    name, error ? error->message : "");
+                    "Account with name \"%s\" should exist.\n", name);
        
 
        /* Test 3 */
        result = modest_account_mgr_remove_account (account_mgr,
                                                    name,
-                                                   FALSE,
-                                                   &error);
-       fail_unless (result && !error,
+                                                   FALSE);
+       fail_unless (result,
                     "modest_account_mgr_remove_account failed:\nname: %s\nerror: %s",
-                    name,  error ? error->message : "");
+                    name);
+
 
        /* Test 4 */
        hostname = g_strdup ("myhostname.mydomain.com");
        username = g_strdup ("myusername");
        password = g_strdup ("mypassword");
-       proto = g_strdup ("smtp");
+       proto = MODEST_PROTOCOL_TRANSPORT_SMTP;
        result = modest_account_mgr_add_server_account (account_mgr,
                                                        name,
                                                        hostname,
                                                        username,
                                                        password,
-                                                       proto);
+                                                       proto,
+                                                       MODEST_PROTOCOL_SECURITY_NONE,
+                                                       MODEST_PROTOCOL_AUTH_NONE); 
        fail_unless (result,
                     "modest_account_mgr_add_server_account failed:\n" \
                     "name: %s\nhostname: %s\nusername: %s\npassword: %s\nproto: %s",
@@ -152,47 +162,38 @@ START_TEST (test_add_exists_remove_account_regular)
        g_free (hostname);
        g_free (username);
        g_free (password);
-       g_free (proto);
-
+       
        /* Test 5 */
-       result = modest_account_mgr_account_exists (account_mgr,
-                                                   name,
-                                                   TRUE,
-                                                   &error);
-       fail_unless (result && !error,
+       result = modest_account_mgr_account_exists (account_mgr,name,TRUE);
+       fail_unless (result,
                     "modest_account_mgr_account_exists failed: " \
-                    "Server account with name \"%s\" should exist. Error: %s",
-                    name, error ? error->message : "");
-
+                    "Server account with name \"%s\" should exist. Error: %s", name);
 
        /* Test 6 */
        result = modest_account_mgr_remove_account (account_mgr,
                                                    name,
-                                                   TRUE,
-                                                   &error);
-       fail_unless (result && !error,
+                                                   TRUE);
+       fail_unless (result,
                     "modest_account_mgr_remove_account failed:\nname: %s\nerror: %s",
-                    name, error ? error->message : "");
+                    name);
 
 
        /* Test 7 */
        result = modest_account_mgr_account_exists (account_mgr,
                                                    "a_name_that_does_not_exist",
-                                                   FALSE,
-                                                   NULL);
-       fail_unless (!result,
+                                                   FALSE);
+       fail_unless (result,
                     "modest_account_mgr_exists_account does not return " \
                     "FALSE when passing an account that does not exist");
 
        /* Test 8 */
        result = modest_account_mgr_account_exists (account_mgr,
                                                    "a_name_that_does_not_exist",
-                                                   TRUE,
-                                                   NULL);
-       fail_unless (!result,
+                                                   TRUE);
+       fail_unless (result,
                     "modest_account_mgr_exists_account does not return " \
                     "FALSE when passing a server account that does not exist");
-
+       
        g_free (name);
 }
 END_TEST
@@ -226,8 +227,7 @@ START_TEST (test_add_exists_remove_account_invalid)
        result = modest_account_mgr_add_account (NULL,
                                                 TEST_MODEST_ACCOUNT_NAME,
                                                 "store_account",
-                                                "transport_account",
-                                                NULL);
+                                                "transport_account", TRUE);
        fail_unless (!result,
                     "modest_account_mgr_add_account does not return FALSE when" \
                     "passing a NULL ModestAccountMgr");
@@ -236,18 +236,16 @@ START_TEST (test_add_exists_remove_account_invalid)
        result = modest_account_mgr_add_account (account_mgr,
                                                 NULL,
                                                 "store_account",
-                                                "transport_account",
-                                                NULL);
+                                                "transport_account", TRUE);
        fail_unless (!result,
                     "modest_account_mgr_add_account does not return FALSE when" \
                     "passing a NULL account name");
 
        /* Test 3*/
        result = modest_account_mgr_add_account (account_mgr,
-                                                "ïnválid_accountñ_nÄméç",
+                                                "ïnválid//accountñ//nÄméç",
                                                 "store_account",
-                                                "transport_account",
-                                                NULL);
+                                                "transport_account", TRUE);
        fail_unless (!result,
                     "modest_account_mgr_add_account does not return FALSE when" \
                     "passing an invalid account name");
@@ -258,7 +256,9 @@ START_TEST (test_add_exists_remove_account_invalid)
                                                        "hostname",
                                                        "username",
                                                        "password",
-                                                       "proto");
+                                                       MODEST_PROTOCOL_STORE_IMAP,
+                                                      MODEST_PROTOCOL_SECURITY_NONE,
+                                                      MODEST_PROTOCOL_AUTH_NONE);
        fail_unless (!result,
                     "modest_account_mgr_add_server_account does not return " \
                     "FALSE when passing a NULL ModestAccountMgr");
@@ -269,27 +269,30 @@ START_TEST (test_add_exists_remove_account_invalid)
                                                        "hostname",
                                                        "username",
                                                        "password",
-                                                       "proto");
+                                                       MODEST_PROTOCOL_STORE_IMAP,
+                                                       MODEST_PROTOCOL_SECURITY_NONE,
+                                                       MODEST_PROTOCOL_AUTH_NONE); 
        fail_unless (!result,
                     "modest_account_mgr_add_server_account does not return " \
                     "FALSE when passing a NULL account name");
 
        /* Test 6 */
-       result = modest_account_mgr_add_server_account (account_mgr,
-                                                       "ïnválid_accountñ_nÄméç",
-                                                       "hostname",
-                                                       "username",
-                                                       "password",
-                                                       "proto");
-       fail_unless (!result,
-                    "modest_account_mgr_add_server_account does not return " \
-                    "FALSE when passing an invalid account name");
+       result = modest_account_mgr_add_server_account (account_mgr, 
+                                                       "ïnválid//accountñ//nÄméç",
+                                                       "hostname", 
+                                                       "username", 
+                                                       "password", 
+                                                       MODEST_PROTOCOL_STORE_IMAP,
+                                                       MODEST_PROTOCOL_SECURITY_NONE,
+                                                       MODEST_PROTOCOL_AUTH_NONE); 
+       fail_unless (!result, 
+                    "modest_account_mgr_add_server_account does not return " \
+                    "FALSE when passing an invalid account name"); 
 
        /* Test 7 */
        result = modest_account_mgr_remove_account (account_mgr,
                                                    "a_name_that_does_not_exist",
-                                                   FALSE,
-                                                   NULL);
+                                                   FALSE);
        fail_unless (!result,
                     "modest_account_mgr_remove_acccount does not return FALSE " \
                     "when trying to remove an account that does not exist");
@@ -297,8 +300,7 @@ START_TEST (test_add_exists_remove_account_invalid)
        /* Test 8 */
        result = modest_account_mgr_remove_account (account_mgr,
                                                    "a_name_that_does_not_exist",
-                                                   TRUE,
-                                                   NULL);
+                                                   TRUE);
        fail_unless (!result,
                     "modest_account_mgr_remove_acccount does not return FALSE " \
                     "when trying to remove a server account that does not exist");
@@ -306,8 +308,7 @@ START_TEST (test_add_exists_remove_account_invalid)
        /* Test 9 */
        result = modest_account_mgr_remove_account (NULL,
                                                    TEST_MODEST_ACCOUNT_NAME,
-                                                   FALSE,
-                                                   NULL);
+                                                   FALSE);
        fail_unless (!result,
                     "modest_account_mgr_remove_acccount does not return " \
                     "FALSE when passing a NULL ModestAccountMgr");
@@ -315,8 +316,7 @@ START_TEST (test_add_exists_remove_account_invalid)
        /* Test 10 */
        result = modest_account_mgr_remove_account (account_mgr,
                                                    NULL,
-                                                   FALSE,
-                                                   NULL);
+                                                   FALSE);
        fail_unless (!result,
                     "modest_account_mgr_remove_acccount does not return " \
                     "FALSE when passing a NULL account name");
@@ -324,8 +324,7 @@ START_TEST (test_add_exists_remove_account_invalid)
        /* Test 11 */
        result = modest_account_mgr_account_exists (NULL,
                                                    TEST_MODEST_ACCOUNT_NAME,
-                                                   TRUE,
-                                                   NULL);
+                                                   TRUE);
        fail_unless (!result,
                     "modest_account_mgr_exists_account does not return " \
                     "FALSE when passing a NULL ModestAccountMgr");
@@ -333,8 +332,7 @@ START_TEST (test_add_exists_remove_account_invalid)
        /* Test 12 */
        result = modest_account_mgr_account_exists (NULL,
                                                    TEST_MODEST_ACCOUNT_NAME,
-                                                   FALSE,
-                                                   NULL);
+                                                   FALSE);
        fail_unless (!result,
                     "modest_account_mgr_exists_account does not return " \
                     "FALSE when passing a NULL ModestAccountMgr");
@@ -342,8 +340,7 @@ START_TEST (test_add_exists_remove_account_invalid)
        /* Test 13 */
        result = modest_account_mgr_account_exists (account_mgr,
                                                    NULL,
-                                                   FALSE,
-                                                   NULL);
+                                                   FALSE);
        fail_unless (!result,
                     "modest_account_mgr_exists_acccount does not return " \
                     "FALSE when passing a NULL account name");
@@ -351,8 +348,7 @@ START_TEST (test_add_exists_remove_account_invalid)
        /* Test 14 */
        result = modest_account_mgr_account_exists (account_mgr,
                                                    NULL,
-                                                   TRUE,
-                                                   NULL);
+                                                   TRUE);
        fail_unless (!result,
                     "modest_account_mgr_exists_account does not return " \
                     "FALSE when passing a NULL server account name");