Fix some unit tests.
[modest] / tests / check_account-mgr.c
index dd4e6e1..369ac3b 100644 (file)
 
 #include <check.h>
 #include <string.h>
+#include <modest-defs.h>
 #include <modest-conf.h>
 #include <modest-account-mgr.h>
-#include <modest-protocol-info.h>
+#include <gtk/gtk.h>
+#include <modest-init.h>
 
 /* ----------------------- Defines ---------------------- */
 
@@ -46,39 +48,28 @@ static ModestAccountMgr *account_mgr = NULL;
 static void
 fx_setup_default_account_mgr ()
 {
-       ModestConf *conf = NULL;
+       fail_unless (gtk_init_check (NULL, NULL));
 
-       g_type_init ();
+       fail_unless (g_setenv (MODEST_DIR_ENV, ".modesttest", TRUE));
+       fail_unless (g_setenv (MODEST_NAMESPACE_ENV, "/apps/modesttest", TRUE));
+       fail_unless (modest_init (0, NULL), "Failed running modest_init");
 
-       conf = modest_conf_new ();
-       fail_unless (MODEST_IS_CONF (conf), 
-                    "modest_conf_new failed");
-
-       account_mgr = modest_account_mgr_new (conf);
+       account_mgr = modest_runtime_get_account_mgr ();
        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, NULL))
+                                             FALSE))
                modest_account_mgr_remove_account (account_mgr,
-                                                  TEST_MODEST_ACCOUNT_NAME,
-                                                  FALSE,
-                                                  NULL);
+                                                  TEST_MODEST_ACCOUNT_NAME);
        if (modest_account_mgr_account_exists(account_mgr,
                                              TEST_MODEST_ACCOUNT_NAME,
-                                             TRUE, NULL))
-               modest_account_mgr_remove_account (account_mgr,
-                                                  TEST_MODEST_ACCOUNT_NAME,
-                                                  TRUE,
-                                                  NULL);
-}
-
-static void
-fx_teardown_default_account_mgr ()
-{
-       g_object_unref (account_mgr);
+                                             TRUE)) {
+               modest_account_mgr_remove_server_account (account_mgr,
+                                                         TEST_MODEST_ACCOUNT_NAME);
+       }
 }
 
 /* ---------- add/exists/remove account tests  ---------- */
@@ -106,8 +97,8 @@ START_TEST (test_add_exists_remove_account_regular)
        gchar *hostname = NULL;
        gchar *username = NULL;
        gchar *password = NULL;
-       ModestProtocol proto;
-       GError *error = NULL;
+       gint portnum;
+       ModestProtocolType proto;
        gboolean result;
        
        name = g_strdup (TEST_MODEST_ACCOUNT_NAME);
@@ -116,14 +107,16 @@ START_TEST (test_add_exists_remove_account_regular)
        transport_account = g_strdup ("local-smtp");
        result = modest_account_mgr_add_account (account_mgr,
                                                 name,
+                                                "test display name",
+                                                "user fullname",
+                                                "user@email.com",
+                                                MODEST_ACCOUNT_RETRIEVE_HEADERS_ONLY,
                                                 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);
@@ -131,38 +124,38 @@ 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,
+                                                   name);
+       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 = MODEST_PROTOCOL_TRANSPORT_SMTP;
+       proto = MODEST_PROTOCOLS_TRANSPORT_SMTP;
+       portnum = 25;
        result = modest_account_mgr_add_server_account (account_mgr,
                                                        name,
                                                        hostname,
+                                                       portnum,
                                                        username,
                                                        password,
-                                                       proto);
+                                                       proto,
+                                                       MODEST_PROTOCOLS_CONNECTION_NONE,
+                                                       MODEST_PROTOCOLS_AUTH_NONE); 
        fail_unless (result,
                     "modest_account_mgr_add_server_account failed:\n" \
-                    "name: %s\nhostname: %s\nusername: %s\npassword: %s\nproto: %s",
+                    "name: %s\nhostname: %s\nusername: %s\npassword: %s\nproto: %d",
                     name, hostname, username, password, proto);
 
        g_free (hostname);
@@ -170,31 +163,23 @@ START_TEST (test_add_exists_remove_account_regular)
        g_free (password);
        
        /* 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,
-                    "modest_account_mgr_remove_account failed:\nname: %s\nerror: %s",
-                    name, error ? error->message : "");
+       result = modest_account_mgr_remove_server_account (account_mgr,
+                                                          name);
+       fail_unless (result,
+                    "modest_account_mgr_remove_server_account failed:\nname: %s\nerror: %s",
+                    name);
 
 
        /* Test 7 */
        result = modest_account_mgr_account_exists (account_mgr,
                                                    "a_name_that_does_not_exist",
-                                                   FALSE,
-                                                   NULL);
+                                                   FALSE);
        fail_unless (!result,
                     "modest_account_mgr_exists_account does not return " \
                     "FALSE when passing an account that does not exist");
@@ -202,12 +187,11 @@ START_TEST (test_add_exists_remove_account_regular)
        /* Test 8 */
        result = modest_account_mgr_account_exists (account_mgr,
                                                    "a_name_that_does_not_exist",
-                                                   TRUE,
-                                                   NULL);
+                                                   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
@@ -225,7 +209,7 @@ END_TEST
  *  - Test 5: Create server account with NULL name
  *  - Test 6: Create server account with invalid name string
  *  - Test 7: Remove a non-existing account
- *  - Test 8: Remove a non-existing server account
+ *  - Test 8: Remove a non-existing server account (REMOVED)
  *  - Test 9: Remove with NULL acount manager
  *  - Test 10: Remove with NULL name
  *  - Test 11: Check if an  account exists with NULL account_mgr
@@ -240,9 +224,12 @@ START_TEST (test_add_exists_remove_account_invalid)
        /* Test 1 */
        result = modest_account_mgr_add_account (NULL,
                                                 TEST_MODEST_ACCOUNT_NAME,
+                                                "test display name",
+                                                "user fullname",
+                                                "user@email.com",
+                                                MODEST_ACCOUNT_RETRIEVE_HEADERS_ONLY,
                                                 "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");
@@ -250,9 +237,12 @@ START_TEST (test_add_exists_remove_account_invalid)
        /* Test 2 */
        result = modest_account_mgr_add_account (account_mgr,
                                                 NULL,
+                                                "test display name",
+                                                "user fullname",
+                                                "user@email.com",
+                                                MODEST_ACCOUNT_RETRIEVE_HEADERS_ONLY,
                                                 "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");
@@ -260,9 +250,12 @@ START_TEST (test_add_exists_remove_account_invalid)
        /* Test 3*/
        result = modest_account_mgr_add_account (account_mgr,
                                                 "ïnválid//accountñ//nÄméç",
+                                                "test display name",
+                                                "user fullname",
+                                                "user@email.com",
+                                                MODEST_ACCOUNT_RETRIEVE_HEADERS_ONLY,
                                                 "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");
@@ -271,9 +264,12 @@ START_TEST (test_add_exists_remove_account_invalid)
        result = modest_account_mgr_add_server_account (NULL,
                                                        TEST_MODEST_ACCOUNT_NAME,
                                                        "hostname",
+                                                       143,
                                                        "username",
                                                        "password",
-                                                       MODEST_PROTOCOL_STORE_IMAP);
+                                                       MODEST_PROTOCOLS_STORE_IMAP,
+                                                      MODEST_PROTOCOLS_CONNECTION_NONE,
+                                                      MODEST_PROTOCOLS_AUTH_NONE);
        fail_unless (!result,
                     "modest_account_mgr_add_server_account does not return " \
                     "FALSE when passing a NULL ModestAccountMgr");
@@ -282,9 +278,12 @@ START_TEST (test_add_exists_remove_account_invalid)
        result = modest_account_mgr_add_server_account (account_mgr,
                                                        NULL,
                                                        "hostname",
+                                                       143,
                                                        "username",
                                                        "password",
-                                                       MODEST_PROTOCOL_STORE_IMAP);
+                                                       MODEST_PROTOCOLS_STORE_IMAP,
+                                                       MODEST_PROTOCOLS_CONNECTION_NONE,
+                                                       MODEST_PROTOCOLS_AUTH_NONE); 
        fail_unless (!result,
                     "modest_account_mgr_add_server_account does not return " \
                     "FALSE when passing a NULL account name");
@@ -293,44 +292,32 @@ START_TEST (test_add_exists_remove_account_invalid)
        result = modest_account_mgr_add_server_account (account_mgr, 
                                                        "ïnválid//accountñ//nÄméç",
                                                        "hostname", 
+                                                       143,
                                                        "username", 
                                                        "password", 
-                                                       MODEST_PROTOCOL_STORE_IMAP); 
+                                                       MODEST_PROTOCOLS_STORE_IMAP,
+                                                       MODEST_PROTOCOLS_CONNECTION_NONE,
+                                                       MODEST_PROTOCOLS_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);
+                                                   "a_name_that_does_not_exist");
        fail_unless (!result,
                     "modest_account_mgr_remove_acccount does not return FALSE " \
                     "when trying to remove an account that does not exist");
 
-       /* Test 8 */
-       result = modest_account_mgr_remove_account (account_mgr,
-                                                   "a_name_that_does_not_exist",
-                                                   TRUE,
-                                                   NULL);
-       fail_unless (!result,
-                    "modest_account_mgr_remove_acccount does not return FALSE " \
-                    "when trying to remove a server account that does not exist");
-
        /* Test 9 */
        result = modest_account_mgr_remove_account (NULL,
-                                                   TEST_MODEST_ACCOUNT_NAME,
-                                                   FALSE,
-                                                   NULL);
+                                                   TEST_MODEST_ACCOUNT_NAME);
        fail_unless (!result,
                     "modest_account_mgr_remove_acccount does not return " \
                     "FALSE when passing a NULL ModestAccountMgr");
 
        /* Test 10 */
        result = modest_account_mgr_remove_account (account_mgr,
-                                                   NULL,
-                                                   FALSE,
                                                    NULL);
        fail_unless (!result,
                     "modest_account_mgr_remove_acccount does not return " \
@@ -339,8 +326,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");
@@ -348,8 +334,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");
@@ -357,8 +342,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");
@@ -366,8 +350,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");
@@ -384,9 +367,8 @@ account_mgr_suite (void)
 
        /* Tests case for "add/exists/remove account" */
        tc = tcase_create ("add_exists_remove_account");
-       tcase_add_checked_fixture (tc, 
-                                  fx_setup_default_account_mgr, 
-                                  fx_teardown_default_account_mgr);
+       tcase_add_unchecked_fixture (tc, 
+                                    fx_setup_default_account_mgr, NULL);
        tcase_add_test (tc, test_add_exists_remove_account_regular);
        tcase_add_test (tc, test_add_exists_remove_account_invalid);
        suite_add_tcase (suite, tc);