~unity-2d-team/unity-2d/Shell-MultiMonitor

« back to all changes in this revision

Viewing changes to grackle/tests/test_client.py

  • Committer: Curtis Hovey
  • Date: 2012-03-16 16:10:54 UTC
  • mto: This revision was merged to the branch mainline in revision 45.
  • Revision ID: curtis.hovey@canonical.com-20120316161054-jk68i83kh81qm2vi
Store the body text only.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
def make_message(message_id, body='body', headers=None, hidden=False):
33
33
    if headers is None:
34
34
        headers = {}
35
 
    message_headers = {
36
 
        'Message-Id': message_id,
37
 
        'date': '2005-01-01',
38
 
        'subject': 'subject',
39
 
        'from': 'author',
40
 
        'replies': '',
 
35
    headers['Message-Id'] = message_id
 
36
    message = {
 
37
        'message_id': message_id,
 
38
        'headers': headers,
 
39
        'thread_id': message_id,
 
40
        'date': headers.get('date', '2005-01-01'),
 
41
        'subject': headers.get('subject', 'subject'),
 
42
        'author': headers.get('author', 'author'),
 
43
        'hidden': hidden,
 
44
        'attachments': [],
 
45
        'replies': headers.get('in-reply-to', None),
 
46
        'body': body,
41
47
        }
42
 
    message_headers.update(headers.items())
43
 
    message = Message()
44
 
    message.set_payload(body)
45
 
    for key, value in message_headers.items():
46
 
        message[key] = value
47
 
    return make_json_message(message_id, message.as_string(), hidden)
 
48
    return message
48
49
 
49
50
 
50
51
def make_mime_message(message_id, body='body', headers=None, hidden=False,
51
52
                      attachment_type=None):
 
53
    if headers is None:
 
54
        headers = {}
52
55
    parts = MIMEMultipart()
53
56
    parts.attach(MIMEText(body))
54
57
    if attachment_type is not None:
57
60
        attachment['Content-Type'] = attachment_type
58
61
        attachment['Content-Disposition'] = 'attachment; filename="file.ext"'
59
62
        parts.attach(attachment)
60
 
    return make_message(message_id, parts.as_string(), headers, hidden)
 
63
    message = Message()
 
64
    message.set_payload(parts.as_string())
 
65
    for key, value in headers.items():
 
66
        message[key] = value
 
67
    return make_json_message(message_id, message.as_string())
61
68
 
62
69
 
63
70
class ForkedFakeService:
237
244
 
238
245
    def get_messages_member_order_test(self, key):
239
246
        client = GrackleClient('localhost', 8439)
240
 
        if key == 'author':
241
 
            header_name = 'from'
242
 
        else:
243
 
            header_name = key
244
247
        archive = {
245
248
            'baz': [
246
 
                make_message('foo', headers={header_name: '2011-03-25'}),
247
 
                make_message('bar', headers={header_name: '2011-03-24'}),
 
249
                make_message('foo', headers={key: '2011-03-25'}),
 
250
                make_message('bar', headers={key: '2011-03-24'}),
248
251
             ]}
249
252
        with ForkedFakeService.from_client(client, archive):
250
253
            response = client.get_messages('baz')
397
400
        first_message = response['messages'][0]
398
401
        self.assertEqual('foo', first_message['message_id'])
399
402
        self.assertEqual(
400
 
            archive['baz'][0]['headers'], first_message['headers'])
 
403
            {'From': 'me', 'Message-Id': 'foo', 'To': 'you'},
 
404
            first_message['headers'])
401
405
        self.assertNotIn('body', first_message)
402
406
 
403
407
    def test_display_type_text_only(self):