ProviderTestUtils.java revision 4006e5fc224d097450fd66a321901b6636f7d9c4
128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler/* 228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * Copyright (C) 2009 The Android Open Source Project 328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * 428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * Licensed under the Apache License, Version 2.0 (the "License"); 528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * you may not use this file except in compliance with the License. 628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * You may obtain a copy of the License at 728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * 828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * http://www.apache.org/licenses/LICENSE-2.0 928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * 1028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * Unless required by applicable law or agreed to in writing, software 1128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * distributed under the License is distributed on an "AS IS" BASIS, 1228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * See the License for the specific language governing permissions and 1428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * limitations under the License. 1528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler */ 1628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 1728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadlerpackage com.android.email.provider; 1828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 1928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadlerimport com.android.email.provider.EmailContent.Account; 204119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadlerimport com.android.email.provider.EmailContent.Attachment; 21da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadlerimport com.android.email.provider.EmailContent.HostAuth; 2228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadlerimport com.android.email.provider.EmailContent.Mailbox; 2328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadlerimport com.android.email.provider.EmailContent.Message; 2428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 2528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadlerimport android.content.Context; 2628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 2728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadlerimport junit.framework.Assert; 2828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 2928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadlerpublic class ProviderTestUtils extends Assert { 3028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 3128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler /** 3228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * No constructor - statics only 3328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler */ 3428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler private ProviderTestUtils() { 3528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 3628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 3728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler /** 3828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * Create an account for test purposes 3928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler */ 4028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler public static Account setupAccount(String name, boolean saveIt, Context context) { 4128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler Account account = new Account(); 4228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 4328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler account.mDisplayName = name; 4428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler account.mEmailAddress = name + "@android.com"; 4528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler account.mSyncKey = "sync-key-" + name; 4628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler account.mSyncLookback = 1; 479e2c6bd5f21f2d19eef7ebfe30e6fdf94ede0857Andrew Stadler account.mSyncInterval = EmailContent.Account.CHECK_INTERVAL_NEVER; 48da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler account.mHostAuthKeyRecv = 0; 49da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler account.mHostAuthKeySend = 0; 5028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler account.mFlags = 4; 5128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler account.mIsDefault = true; 5228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler account.mCompatibilityUuid = "test-uid-" + name; 5328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler account.mSenderName = name; 5428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler account.mRingtoneUri = "content://ringtone-" + name; 5553093871c492d03947c494f17e2463b27345e083Marc Blank account.mProtocolVersion = "2.5" + name; 564a8c70c09be3914ded18031b4cca5a6d867de0d3Andrew Stadler account.mNewMessageCount = 5 + name.length(); 57345fb8b737c1632fb2a7e69ac44b8612be6237edAndrew Stadler account.mSecurityFlags = 7; 58345fb8b737c1632fb2a7e69ac44b8612be6237edAndrew Stadler account.mSecuritySyncKey = "sec-sync-key-" + name; 59345fb8b737c1632fb2a7e69ac44b8612be6237edAndrew Stadler account.mSignature = "signature-" + name; 6028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler if (saveIt) { 619e2c6bd5f21f2d19eef7ebfe30e6fdf94ede0857Andrew Stadler account.save(context); 6228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 6328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler return account; 6428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 6528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 6628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler /** 67da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler * Create a hostauth record for test purposes 68da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler */ 69da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler public static HostAuth setupHostAuth(String name, long accountId, boolean saveIt, 70da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler Context context) { 71da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler HostAuth hostAuth = new HostAuth(); 72da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler 73da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler hostAuth.mProtocol = "protocol-" + name; 74da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler hostAuth.mAddress = "address-" + name; 75da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler hostAuth.mPort = 100; 76da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler hostAuth.mFlags = 200; 77da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler hostAuth.mLogin = "login-" + name; 78da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler hostAuth.mPassword = "password-" + name; 79da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler hostAuth.mDomain = "domain-" + name; 80da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler hostAuth.mAccountKey = accountId; 81da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler 82da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler if (saveIt) { 83da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler hostAuth.save(context); 84da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler } 85da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler return hostAuth; 86da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler } 87da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler 88da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler /** 8928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * Create a mailbox for test purposes 9028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler */ 9128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler public static Mailbox setupMailbox(String name, long accountId, boolean saveIt, 9228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler Context context) { 93694257cb7e7a191b3314cb209b6c38a8a07583efMarc Blank return setupMailbox(name, accountId, saveIt, context, Mailbox.TYPE_MAIL); 94694257cb7e7a191b3314cb209b6c38a8a07583efMarc Blank } 95694257cb7e7a191b3314cb209b6c38a8a07583efMarc Blank 96694257cb7e7a191b3314cb209b6c38a8a07583efMarc Blank public static Mailbox setupMailbox(String name, long accountId, boolean saveIt, 97694257cb7e7a191b3314cb209b6c38a8a07583efMarc Blank Context context, int type) { 9828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler Mailbox box = new Mailbox(); 9928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 10028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler box.mDisplayName = name; 10128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler box.mServerId = "serverid-" + name; 10228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler box.mParentServerId = "parent-serverid-" + name; 10328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler box.mAccountKey = accountId; 104694257cb7e7a191b3314cb209b6c38a8a07583efMarc Blank box.mType = type; 10528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler box.mDelimiter = 1; 10628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler box.mSyncKey = "sync-key-" + name; 10728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler box.mSyncLookback = 2; 1089e2c6bd5f21f2d19eef7ebfe30e6fdf94ede0857Andrew Stadler box.mSyncInterval = EmailContent.Account.CHECK_INTERVAL_NEVER; 10928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler box.mSyncTime = 3; 110758a532fce2f672673d38b2daa5f67eb757b118bMarc Blank // Should always be saved as zero 111758a532fce2f672673d38b2daa5f67eb757b118bMarc Blank box.mUnreadCount = 0; 11228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler box.mFlagVisible = true; 11328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler box.mFlags = 5; 11428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler box.mVisibleLimit = 6; 11528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 11628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler if (saveIt) { 1179e2c6bd5f21f2d19eef7ebfe30e6fdf94ede0857Andrew Stadler box.save(context); 11828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 11928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler return box; 12028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 12128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 12228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler /** 12328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * Create a message for test purposes 124758a532fce2f672673d38b2daa5f67eb757b118bMarc Blank * 12528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * TODO: body 12628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * TODO: attachments 12728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler */ 12828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler public static Message setupMessage(String name, long accountId, long mailboxId, 12928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler boolean addBody, boolean saveIt, Context context) { 13028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler Message message = new Message(); 13128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 13228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mDisplayName = name; 1330d00889f83fc8c1d69039a2c849b630fb4dd28ddAndrew Stadler message.mTimeStamp = 100 + name.length(); 13428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mSubject = "subject " + name; 13528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mFlagRead = true; 1366c21942ec45f561d711b3d74ecca8e62afb735c4Andrew Stadler message.mFlagLoaded = Message.FLAG_LOADED_UNLOADED; 13728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mFlagFavorite = true; 13828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mFlagAttachment = true; 139c41c47fa07a22f8a7612fb0191f152a36d95b7a5Andrew Stadler message.mFlags = 0; 14028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 14128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mServerId = "serverid " + name; 1420d00889f83fc8c1d69039a2c849b630fb4dd28ddAndrew Stadler message.mServerTimeStamp = 300 + name.length(); 14328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mClientId = "clientid " + name; 14428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mMessageId = "messageid " + name; 14528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 14628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mMailboxKey = mailboxId; 14728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mAccountKey = accountId; 14828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 14928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mFrom = "from " + name; 15028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mTo = "to " + name; 15128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mCc = "cc " + name; 15228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mBcc = "bcc " + name; 15328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mReplyTo = "replyto " + name; 15428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 1554006e5fc224d097450fd66a321901b6636f7d9c4Marc Blank message.mMeetingInfo = "123" + accountId + mailboxId + name.length(); 1564006e5fc224d097450fd66a321901b6636f7d9c4Marc Blank 15728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler if (addBody) { 15828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mText = "body text " + name; 15928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler message.mHtml = "body html " + name; 160936babc145e2e6eb2e222f2ce5e3da8f9e4fb9f2Andrew Stadler message.mTextReply = "reply text " + name; 161936babc145e2e6eb2e222f2ce5e3da8f9e4fb9f2Andrew Stadler message.mHtmlReply = "reply html " + name; 1620d00889f83fc8c1d69039a2c849b630fb4dd28ddAndrew Stadler message.mSourceKey = 400 + name.length(); 1635fc57eccefeba517fe5e6f093786f37c6c4d50e6Marc Blank message.mIntroText = "intro text " + name; 16428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 16528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 16628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler if (saveIt) { 1679e2c6bd5f21f2d19eef7ebfe30e6fdf94ede0857Andrew Stadler message.save(context); 16828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 16928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler return message; 17028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 17128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 17228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler /** 1734119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler * Create a test attachment. A few fields are specified by params, and all other fields 1744119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler * are generated using pseudo-unique values. 175758a532fce2f672673d38b2daa5f67eb757b118bMarc Blank * 1764119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler * @param messageId the message to attach to 1774119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler * @param fileName the "file" to indicate in the attachment 1784119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler * @param length the "length" of the attachment 1794119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler * @param saveIt if true, write the new attachment directly to the DB 1804119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler * @param context use this context 1814119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler */ 1824119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler public static Attachment setupAttachment(long messageId, String fileName, long length, 1834119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler boolean saveIt, Context context) { 1844119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler Attachment att = new Attachment(); 1854119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler att.mSize = length; 1864119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler att.mFileName = fileName; 1874119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler att.mContentId = "contentId " + fileName; 1884119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler att.mContentUri = "contentUri " + fileName; 1894119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler att.mMessageKey = messageId; 1904119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler att.mMimeType = "mimeType " + fileName; 1914119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler att.mLocation = "location " + fileName; 1924119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler att.mEncoding = "encoding " + fileName; 1934119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler if (saveIt) { 1949e2c6bd5f21f2d19eef7ebfe30e6fdf94ede0857Andrew Stadler att.save(context); 1954119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler } 1964119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler return att; 1974119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler } 1984119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler 199758a532fce2f672673d38b2daa5f67eb757b118bMarc Blank private static void assertEmailContentEqual(String caller, EmailContent expect, 20053093871c492d03947c494f17e2463b27345e083Marc Blank EmailContent actual) { 20153093871c492d03947c494f17e2463b27345e083Marc Blank if (expect == actual) { 20253093871c492d03947c494f17e2463b27345e083Marc Blank return; 20353093871c492d03947c494f17e2463b27345e083Marc Blank } 20453093871c492d03947c494f17e2463b27345e083Marc Blank 20553093871c492d03947c494f17e2463b27345e083Marc Blank assertEquals(caller + " mId", expect.mId, actual.mId); 20653093871c492d03947c494f17e2463b27345e083Marc Blank assertEquals(caller + " mBaseUri", expect.mBaseUri, actual.mBaseUri); 20753093871c492d03947c494f17e2463b27345e083Marc Blank } 20853093871c492d03947c494f17e2463b27345e083Marc Blank 2094119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler /** 21028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * Compare two accounts for equality 211758a532fce2f672673d38b2daa5f67eb757b118bMarc Blank * 21228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * TODO: check host auth? 21328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler */ 21428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler public static void assertAccountEqual(String caller, Account expect, Account actual) { 21528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler if (expect == actual) { 21628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler return; 21728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 21828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 21953093871c492d03947c494f17e2463b27345e083Marc Blank assertEmailContentEqual(caller, expect, actual); 22028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mDisplayName", expect.mDisplayName, actual.mDisplayName); 22128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mEmailAddress", expect.mEmailAddress, actual.mEmailAddress); 22228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mSyncKey", expect.mSyncKey, actual.mSyncKey); 22328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 22428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mSyncLookback", expect.mSyncLookback, actual.mSyncLookback); 2259e2c6bd5f21f2d19eef7ebfe30e6fdf94ede0857Andrew Stadler assertEquals(caller + " mSyncInterval", expect.mSyncInterval, actual.mSyncInterval); 22628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mHostAuthKeyRecv", expect.mHostAuthKeyRecv, 22728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler actual.mHostAuthKeyRecv); 22828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mHostAuthKeySend", expect.mHostAuthKeySend, 22928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler actual.mHostAuthKeySend); 23028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mFlags", expect.mFlags, actual.mFlags); 23128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mIsDefault", expect.mIsDefault, actual.mIsDefault); 23228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mCompatibilityUuid", expect.mCompatibilityUuid, 23328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler actual.mCompatibilityUuid); 23428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mSenderName", expect.mSenderName, actual.mSenderName); 23528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mRingtoneUri", expect.mRingtoneUri, actual.mRingtoneUri); 23653093871c492d03947c494f17e2463b27345e083Marc Blank assertEquals(caller + " mProtocolVersion", expect.mProtocolVersion, 23753093871c492d03947c494f17e2463b27345e083Marc Blank actual.mProtocolVersion); 2384a8c70c09be3914ded18031b4cca5a6d867de0d3Andrew Stadler assertEquals(caller + " mNewMessageCount", expect.mNewMessageCount, 2394a8c70c09be3914ded18031b4cca5a6d867de0d3Andrew Stadler actual.mNewMessageCount); 240fc8d943a828cd79ff71c703ced37001bd5482173Andrew Stadler assertEquals(caller + " mSecurityFlags", expect.mSecurityFlags, actual.mSecurityFlags); 241345fb8b737c1632fb2a7e69ac44b8612be6237edAndrew Stadler assertEquals(caller + " mSecuritySyncKey", expect.mSecuritySyncKey, 242345fb8b737c1632fb2a7e69ac44b8612be6237edAndrew Stadler actual.mSecuritySyncKey); 243345fb8b737c1632fb2a7e69ac44b8612be6237edAndrew Stadler assertEquals(caller + " mSignature", expect.mSignature, actual.mSignature); 24428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 24528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 24628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler /** 247da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler * Compare two hostauth records for equality 248da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler */ 249da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler public static void assertHostAuthEqual(String caller, HostAuth expect, HostAuth actual) { 250da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler if (expect == actual) { 251da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler return; 252da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler } 253da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler 254da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler assertEmailContentEqual(caller, expect, actual); 255da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler assertEquals(caller + " mProtocol", expect.mProtocol, actual.mProtocol); 256da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler assertEquals(caller + " mAddress", expect.mAddress, actual.mAddress); 257da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler assertEquals(caller + " mPort", expect.mPort, actual.mPort); 258da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler assertEquals(caller + " mFlags", expect.mFlags, actual.mFlags); 259da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler assertEquals(caller + " mLogin", expect.mLogin, actual.mLogin); 260da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler assertEquals(caller + " mPassword", expect.mPassword, actual.mPassword); 261da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler assertEquals(caller + " mDomain", expect.mDomain, actual.mDomain); 262da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler // This field is dead and is not checked 263da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler// assertEquals(caller + " mAccountKey", expect.mAccountKey, actual.mAccountKey); 264da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler } 265da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler 266da8836a76cd8a6eaa7e3693eeacc6393870b2066Andrew Stadler /** 26728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * Compare two mailboxes for equality 26828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler */ 26928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler public static void assertMailboxEqual(String caller, Mailbox expect, Mailbox actual) { 27028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler if (expect == actual) { 27128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler return; 27228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 27328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 27453093871c492d03947c494f17e2463b27345e083Marc Blank assertEmailContentEqual(caller, expect, actual); 27528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mDisplayName", expect.mDisplayName, actual.mDisplayName); 27628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mServerId", expect.mServerId, actual.mServerId); 27728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mParentServerId", expect.mParentServerId, actual.mParentServerId); 27828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mAccountKey", expect.mAccountKey, actual.mAccountKey); 27928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mType", expect.mType, actual.mType); 28028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mDelimiter", expect.mDelimiter, actual.mDelimiter); 28128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mSyncKey", expect.mSyncKey, actual.mSyncKey); 28228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mSyncLookback", expect.mSyncLookback, actual.mSyncLookback); 2839e2c6bd5f21f2d19eef7ebfe30e6fdf94ede0857Andrew Stadler assertEquals(caller + " mSyncInterval", expect.mSyncInterval, actual.mSyncInterval); 28428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mSyncTime", expect.mSyncTime, actual.mSyncTime); 28528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mUnreadCount", expect.mUnreadCount, actual.mUnreadCount); 28628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mFlagVisible", expect.mFlagVisible, actual.mFlagVisible); 28728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mFlags", expect.mFlags, actual.mFlags); 28828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mVisibleLimit", expect.mVisibleLimit, actual.mVisibleLimit); 28928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 29028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 29128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler /** 29228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * Compare two messages for equality 293758a532fce2f672673d38b2daa5f67eb757b118bMarc Blank * 29428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * TODO: body? 29528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler * TODO: attachments? 29628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler */ 29728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler public static void assertMessageEqual(String caller, Message expect, Message actual) { 29828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler if (expect == actual) { 29928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler return; 30028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 30128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 30253093871c492d03947c494f17e2463b27345e083Marc Blank assertEmailContentEqual(caller, expect, actual); 30328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mDisplayName", expect.mDisplayName, actual.mDisplayName); 30428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mTimeStamp", expect.mTimeStamp, actual.mTimeStamp); 30528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mSubject", expect.mSubject, actual.mSubject); 30628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mFlagRead = false", expect.mFlagRead, actual.mFlagRead); 30728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mFlagLoaded", expect.mFlagLoaded, actual.mFlagLoaded); 30828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mFlagFavorite", expect.mFlagFavorite, actual.mFlagFavorite); 30928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mFlagAttachment", expect.mFlagAttachment, actual.mFlagAttachment); 31028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mFlags", expect.mFlags, actual.mFlags); 31128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 31228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mServerId", expect.mServerId, actual.mServerId); 3130d00889f83fc8c1d69039a2c849b630fb4dd28ddAndrew Stadler assertEquals(caller + " mServerTimeStamp", expect.mServerTimeStamp,actual.mServerTimeStamp); 31428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mClientId", expect.mClientId, actual.mClientId); 31528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mMessageId", expect.mMessageId, actual.mMessageId); 31628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 31728448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mMailboxKey", expect.mMailboxKey, actual.mMailboxKey); 31828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mAccountKey", expect.mAccountKey, actual.mAccountKey); 31928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 32028448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mFrom", expect.mFrom, actual.mFrom); 32128448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mTo", expect.mTo, actual.mTo); 32228448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mCc", expect.mCc, actual.mCc); 32328448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mBcc", expect.mBcc, actual.mBcc); 32428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mReplyTo", expect.mReplyTo, actual.mReplyTo); 32528448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler 3264006e5fc224d097450fd66a321901b6636f7d9c4Marc Blank assertEquals(caller + " mMeetingInfo", expect.mMeetingInfo, actual.mMeetingInfo); 3274006e5fc224d097450fd66a321901b6636f7d9c4Marc Blank 32828448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mText", expect.mText, actual.mText); 32928448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler assertEquals(caller + " mHtml", expect.mHtml, actual.mHtml); 330936babc145e2e6eb2e222f2ce5e3da8f9e4fb9f2Andrew Stadler assertEquals(caller + " mTextReply", expect.mTextReply, actual.mTextReply); 331936babc145e2e6eb2e222f2ce5e3da8f9e4fb9f2Andrew Stadler assertEquals(caller + " mHtmlReply", expect.mHtmlReply, actual.mHtmlReply); 332e25698319325d5e9619bc45ae85d861b0f1c5954Marc Blank assertEquals(caller + " mSourceKey", expect.mSourceKey, actual.mSourceKey); 3335fc57eccefeba517fe5e6f093786f37c6c4d50e6Marc Blank assertEquals(caller + " mIntroText", expect.mIntroText, actual.mIntroText); 33428448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler } 3354119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler 3364119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler /** 3374119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler * Compare to attachments for equality 338758a532fce2f672673d38b2daa5f67eb757b118bMarc Blank * 3394119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler * TODO: file / content URI mapping? Compare the actual files? 3404119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler */ 3414119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler public static void assertAttachmentEqual(String caller, Attachment expect, Attachment actual) { 3424119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler if (expect == actual) { 3434119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler return; 3444119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler } 3454119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler 34653093871c492d03947c494f17e2463b27345e083Marc Blank assertEmailContentEqual(caller, expect, actual); 3474119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler assertEquals(caller + " mSize", expect.mSize, actual.mSize); 3484119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler assertEquals(caller + " mFileName", expect.mFileName, actual.mFileName); 3494119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler assertEquals(caller + " mContentId", expect.mContentId, actual.mContentId); 3504119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler assertEquals(caller + " mContentUri", expect.mContentUri, actual.mContentUri); 3514119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler assertEquals(caller + " mMessageKey", expect.mMessageKey, actual.mMessageKey); 3524119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler assertEquals(caller + " mMimeType", expect.mMimeType, actual.mMimeType); 3534119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler assertEquals(caller + " mLocation", expect.mLocation, actual.mLocation); 3544119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler assertEquals(caller + " mEncoding", expect.mEncoding, actual.mEncoding); 3554119218e2fd64341ac946fb8f2cbdb796a444cb8Andrew Stadler } 35628448e782b825d1978c0923003a2cf91efe733dcAndrew Stadler} 357