summaryrefslogtreecommitdiff
path: root/src/mailman/queue/docs/archiver.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/queue/docs/archiver.txt')
-rw-r--r--src/mailman/queue/docs/archiver.txt34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/mailman/queue/docs/archiver.txt b/src/mailman/queue/docs/archiver.txt
new file mode 100644
index 000000000..601857cd9
--- /dev/null
+++ b/src/mailman/queue/docs/archiver.txt
@@ -0,0 +1,34 @@
+Archiving
+=========
+
+Mailman can archive to any number of archivers that adhere to the IArchiver
+interface. By default, there's a Pipermail archiver.
+
+ >>> from mailman.app.lifecycle import create_list
+ >>> mlist = create_list(u'test@example.com')
+ >>> commit()
+
+ >>> msg = message_from_string("""\
+ ... From: aperson@example.com
+ ... To: test@example.com
+ ... Subject: My first post
+ ... Message-ID: <first>
+ ...
+ ... First post!
+ ... """)
+
+ >>> archiver_queue = config.switchboards['archive']
+ >>> ignore = archiver_queue.enqueue(msg, {}, listname=mlist.fqdn_listname)
+
+ >>> from mailman.queue.archive import ArchiveRunner
+ >>> from mailman.testing.helpers import make_testable_runner
+ >>> runner = make_testable_runner(ArchiveRunner)
+ >>> runner.run()
+
+ # The best we can do is verify some landmark exists. Let's use the
+ # Pipermail pickle file exists.
+ >>> listname = mlist.fqdn_listname
+ >>> import os
+ >>> os.path.exists(os.path.join(
+ ... config.PUBLIC_ARCHIVE_FILE_DIR, listname, 'pipermail.pck'))
+ True