draft_ids = [row['id'] for row in output['drafts']]
check('两份草稿对应原始通知', draft_ids == ['D1', 'D2'])
with sqlite3.connect(':memory:') as db:
    db.executescript('CREATE TABLE outbox(id TEXT PRIMARY KEY,body TEXT);CREATE TABLE inbox(id TEXT PRIMARY KEY,body TEXT);')
    with db:
        db.executemany('INSERT INTO outbox VALUES(?,?)', [(row['id'], row['body']) for row in output['drafts']])
    for key in ['D1', 'D2', 'D2']:
        row = db.execute('SELECT id,body FROM outbox WHERE id=?', (key,)).fetchone()
        db.execute('INSERT OR IGNORE INTO inbox VALUES(?,?)', row)
    inbox = db.execute('SELECT id FROM inbox ORDER BY id').fetchall()
check('重试投递不会重复入本地收件箱', inbox == [('D1',), ('D2',)])
result = {'drafts': output['drafts'], 'inbox_ids': [row[0] for row in inbox], 'external_messages_sent': 0}
