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