1b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook/* 2b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * Copyright (C) 2010 The Android Open Source Project. 3b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * 4b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * Licensed under the Apache License, Version 2.0 (the "License"); 5b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * you may not use this file except in compliance with the License. 6b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * You may obtain a copy of the License at 7b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * 8b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * http://www.apache.org/licenses/LICENSE-2.0 9b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * 10b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * Unless required by applicable law or agreed to in writing, software 11b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * distributed under the License is distributed on an "AS IS" BASIS, 12b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * See the License for the specific language governing permissions and 14b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * limitations under the License. 15b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook */ 16b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook 17b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrookpackage com.android.exchange; 18b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook 19b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrookimport android.test.suitebuilder.annotation.MediumTest; 20b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook 21b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrookimport com.android.emailcommon.provider.Mailbox; 22b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrookimport com.android.exchange.EasOutboxService.OriginalMessageInfo; 23b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrookimport com.android.exchange.utility.ExchangeTestCase; 24b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook 25b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook/** 26b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * You can run this entire test case with: 27b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * runtest -c com.android.exchange.EasOutboxServiceTests exchange 28b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook */ 29b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook@MediumTest 30b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrookpublic class EasOutboxServiceTests extends ExchangeTestCase { 31b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook 32b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook public void testGenerateSmartSendCmd() { 33b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook EasOutboxService svc = new EasOutboxService(mProviderContext, new Mailbox()); 34b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook // Test encoding of collection id; colon should be preserved 35b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook OriginalMessageInfo info = new OriginalMessageInfo("1339085683659694034", "Mail:^f", null); 36b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook String cmd = svc.generateSmartSendCmd(true, info); 37b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook assertEquals("SmartReply&ItemId=1339085683659694034&CollectionId=Mail:%5Ef", cmd); 38b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook // Test encoding of item id 39b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook info = new OriginalMessageInfo("14:&3", "6", null); 40b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook cmd = svc.generateSmartSendCmd(false, info); 41b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook assertEquals("SmartForward&ItemId=14:%263&CollectionId=6", cmd); 42b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook // Test use of long id 43b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook info = new OriginalMessageInfo("1339085683659694034", "Mail:^f", "3232323AAA"); 44b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook cmd = svc.generateSmartSendCmd(false, info); 45b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook assertEquals("SmartForward&LongId=3232323AAA", cmd); 46b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook } 47b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook} 48