mirror of
https://github.com/moparisthebest/k-9
synced 2024-12-25 00:58:50 -05:00
Added unit tests for IMAP store URIs
This commit is contained in:
parent
63605b65b6
commit
ed560bdac7
123
tests/src/com/fsck/k9/mail/store/ImapStoreUriTest.java
Normal file
123
tests/src/com/fsck/k9/mail/store/ImapStoreUriTest.java
Normal file
@ -0,0 +1,123 @@
|
||||
package com.fsck.k9.mail.store;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fsck.k9.mail.ConnectionSecurity;
|
||||
import com.fsck.k9.mail.ServerSettings;
|
||||
import com.fsck.k9.mail.Store;
|
||||
import com.fsck.k9.mail.store.ImapStore;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class ImapStoreUriTest extends TestCase {
|
||||
public void testDecodeStoreUriImapAllExtras() {
|
||||
String uri = "imap://PLAIN:user:pass@server:143/0%7CcustomPathPrefix";
|
||||
ServerSettings settings = Store.decodeStoreUri(uri);
|
||||
|
||||
assertEquals("PLAIN", settings.authenticationType);
|
||||
assertEquals("user", settings.username);
|
||||
assertEquals("pass", settings.password);
|
||||
assertEquals("server", settings.host);
|
||||
assertEquals(143, settings.port);
|
||||
assertEquals("false", settings.getExtra().get("autoDetectNamespace"));
|
||||
assertEquals("customPathPrefix", settings.getExtra().get("pathPrefix"));
|
||||
}
|
||||
|
||||
public void testDecodeStoreUriImapNoExtras() {
|
||||
String uri = "imap://PLAIN:user:pass@server:143/";
|
||||
ServerSettings settings = Store.decodeStoreUri(uri);
|
||||
|
||||
assertEquals("PLAIN", settings.authenticationType);
|
||||
assertEquals("user", settings.username);
|
||||
assertEquals("pass", settings.password);
|
||||
assertEquals("server", settings.host);
|
||||
assertEquals(143, settings.port);
|
||||
assertEquals("true", settings.getExtra().get("autoDetectNamespace"));
|
||||
}
|
||||
|
||||
public void testDecodeStoreUriImapPrefixOnly() {
|
||||
String uri = "imap://PLAIN:user:pass@server:143/customPathPrefix";
|
||||
ServerSettings settings = Store.decodeStoreUri(uri);
|
||||
|
||||
assertEquals("PLAIN", settings.authenticationType);
|
||||
assertEquals("user", settings.username);
|
||||
assertEquals("pass", settings.password);
|
||||
assertEquals("server", settings.host);
|
||||
assertEquals(143, settings.port);
|
||||
assertEquals("false", settings.getExtra().get("autoDetectNamespace"));
|
||||
assertEquals("customPathPrefix", settings.getExtra().get("pathPrefix"));
|
||||
}
|
||||
|
||||
public void testDecodeStoreUriImapEmptyPrefix() {
|
||||
String uri = "imap://PLAIN:user:pass@server:143/0%7C";
|
||||
ServerSettings settings = Store.decodeStoreUri(uri);
|
||||
|
||||
assertEquals("PLAIN", settings.authenticationType);
|
||||
assertEquals("user", settings.username);
|
||||
assertEquals("pass", settings.password);
|
||||
assertEquals("server", settings.host);
|
||||
assertEquals(143, settings.port);
|
||||
assertEquals("false", settings.getExtra().get("autoDetectNamespace"));
|
||||
assertEquals("", settings.getExtra().get("pathPrefix"));
|
||||
}
|
||||
|
||||
public void testDecodeStoreUriImapAutodetectAndPrefix() {
|
||||
String uri = "imap://PLAIN:user:pass@server:143/1%7CcustomPathPrefix";
|
||||
ServerSettings settings = Store.decodeStoreUri(uri);
|
||||
|
||||
assertEquals("PLAIN", settings.authenticationType);
|
||||
assertEquals("user", settings.username);
|
||||
assertEquals("pass", settings.password);
|
||||
assertEquals("server", settings.host);
|
||||
assertEquals(143, settings.port);
|
||||
assertEquals("true", settings.getExtra().get("autoDetectNamespace"));
|
||||
assertNull(settings.getExtra().get("pathPrefix"));
|
||||
}
|
||||
|
||||
|
||||
public void testCreateStoreUriImapPrefix() {
|
||||
Map<String, String> extra = new HashMap<String, String>();
|
||||
extra.put("autoDetectNamespace", "false");
|
||||
extra.put("pathPrefix", "customPathPrefix");
|
||||
|
||||
ServerSettings settings = new ServerSettings(ImapStore.STORE_TYPE, "server", 143,
|
||||
ConnectionSecurity.NONE, "PLAIN", "user", "pass", extra);
|
||||
|
||||
String uri = Store.createStoreUri(settings);
|
||||
|
||||
assertEquals("imap://PLAIN:user:pass@server:143/0%7CcustomPathPrefix", uri);
|
||||
}
|
||||
|
||||
public void testCreateStoreUriImapEmptyPrefix() {
|
||||
Map<String, String> extra = new HashMap<String, String>();
|
||||
extra.put("autoDetectNamespace", "false");
|
||||
extra.put("pathPrefix", "");
|
||||
|
||||
ServerSettings settings = new ServerSettings(ImapStore.STORE_TYPE, "server", 143,
|
||||
ConnectionSecurity.NONE, "PLAIN", "user", "pass", extra);
|
||||
|
||||
String uri = Store.createStoreUri(settings);
|
||||
|
||||
assertEquals("imap://PLAIN:user:pass@server:143/0%7C", uri);
|
||||
}
|
||||
|
||||
public void testCreateStoreUriImapNoExtra() {
|
||||
ServerSettings settings = new ServerSettings(ImapStore.STORE_TYPE, "server", 143,
|
||||
ConnectionSecurity.NONE, "PLAIN", "user", "pass");
|
||||
|
||||
String uri = Store.createStoreUri(settings);
|
||||
|
||||
assertEquals("imap://PLAIN:user:pass@server:143/1%7C", uri);
|
||||
}
|
||||
|
||||
public void testCreateStoreUriImapAutoDetectNamespace() {
|
||||
Map<String, String> extra = new HashMap<String, String>();
|
||||
extra.put("autoDetectNamespace", "true");
|
||||
|
||||
ServerSettings settings = new ServerSettings(ImapStore.STORE_TYPE, "server", 143,
|
||||
ConnectionSecurity.NONE, "PLAIN", "user", "pass", extra);
|
||||
|
||||
String uri = Store.createStoreUri(settings);
|
||||
|
||||
assertEquals("imap://PLAIN:user:pass@server:143/1%7C", uri);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user