Newer
Older
postorius / src / postorius / doc / _build / html / using.html


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Using the Django App - Developers Resource (outdated) &mdash; Postorius 1.0a2 documentation</title>
    
    <link rel="stylesheet" href="_static/default.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '',
        VERSION:     '1.0a2',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <link rel="top" title="Postorius 1.0a2 documentation" href="index.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li><a href="index.html">Postorius 1.0a2 documentation</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="using-the-django-app-developers-resource-outdated">
<h1>Using the Django App - Developers Resource (outdated)<a class="headerlink" href="#using-the-django-app-developers-resource-outdated" title="Permalink to this headline">¶</a></h1>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">This user guide is outdated and needs to be updated.</p>
</div>
<span class="target" id="module-tests.tests"></span><div class="section" id="tests-login-and-permissions">
<h2>Tests Login and Permissions<a class="headerlink" href="#tests-login-and-permissions" title="Permalink to this headline">¶</a></h2>
<p>Setup Testobject (starts Mailman3 with an empty Database).</p>
<blockquote>
<div><div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">setup</span> <span class="kn">import</span> <span class="n">setup_mm</span><span class="p">,</span> <span class="n">Testobject</span><span class="p">,</span> <span class="n">teardown_mm</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">testobject</span> <span class="o">=</span> <span class="n">setup_mm</span><span class="p">(</span><span class="n">Testobject</span><span class="p">())</span>
</pre></div>
</div>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">You need to stop all Mailman3 instances before running the tests</p>
</div>
</div></blockquote>
<dl class="docutils">
<dt>Modules needed</dt>
<dd><p class="first">As we can&#8217;t make sure that you&#8217;re running the same language as we did we
made sure that each test below is executed using the exact same translation
mechanism as we use to Display you Status Messages and other GUI Texts.</p>
<dl class="last docutils">
<dt>Import Translation Module to check success messages</dt>
<dd><div class="first last highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">django.utils.translation</span> <span class="kn">import</span> <span class="n">gettext</span> <span class="k">as</span> <span class="n">_</span>
</pre></div>
</div>
</dd>
<dt>Import HTTPRedirectObject to check whether a response redirects</dt>
<dd><div class="first last highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">django.http</span> <span class="kn">import</span> <span class="n">HttpResponseRedirect</span>
</pre></div>
</div>
</dd>
</dl>
</dd>
</dl>
<p>Import Django test client.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">django.test.client</span> <span class="kn">import</span> <span class="n">Client</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">c</span> <span class="o">=</span> <span class="n">Client</span><span class="p">()</span>
</pre></div>
</div>
<div class="section" id="list-index">
<h3>List index<a class="headerlink" href="#list-index" title="Permalink to this headline">¶</a></h3>
<p>Try accessing the list index page.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;/lists/&#39;</span><span class="p">,)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span>
<span class="go">200</span>
</pre></div>
</div>
</div>
<div class="section" id="login-required">
<h3>Login Required<a class="headerlink" href="#login-required" title="Permalink to this headline">¶</a></h3>
<p>As described within the installation instructions we <em>already</em> started using
authentification. The easiest way testing it is that we simply load a page
which is restricted to some users only.
This was done using Django&#8217;s &#64;login_required Decorator in front of the View.
One of the pages which requires a Login is the Domain Administration, if
we can load the page without a redirect to the Login page, you&#8217;re either
already logged in or something went wrong.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;/domains/&#39;</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="nb">type</span><span class="p">(</span><span class="n">response</span><span class="p">)</span> <span class="o">==</span> <span class="n">HttpResponseRedirect</span>
<span class="go">True</span>
</pre></div>
</div>
</div>
</div>
<div class="section" id="pages">
<h2>Pages<a class="headerlink" href="#pages" title="Permalink to this headline">¶</a></h2>
<div class="section" id="create-a-new-list">
<h3>Create a New List<a class="headerlink" href="#create-a-new-list" title="Permalink to this headline">¶</a></h3>
<p>After creating a Domain you should be able to create new Lists. The Button for
doing so is shown on the List index Page which should offer a list of all
available (adverrtised) lists.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;/lists/&#39;</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span>
<span class="go">200</span>
<span class="gp">&gt;&gt;&gt; </span><span class="s">&quot;Lists &lt;span&gt;on&quot;</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
</pre></div>
</div>
<p>The new List creation form is opened by clicking on the Button mentioned above
or accessing the page directly</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;/lists/new/&#39;</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span>
<span class="go">200</span>
<span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="s">&quot;Create a new List on&quot;</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
</pre></div>
</div>
<p>Creating a new List we do need to specify at least the below mentioned items.
Those were entered using some nice GUI Forms which do only show up available
Values or offer you to choose a name which will be checked during validation.
We&#8217;re now submitting the form using a POST request and get redirected to
the List Index Page</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="s">&#39;/lists/new/&#39;</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="p">{</span><span class="s">&quot;listname&quot;</span><span class="p">:</span> <span class="s">&quot;new_list1&quot;</span><span class="p">,</span>
<span class="gp">... </span>                   <span class="s">&quot;mail_host&quot;</span><span class="p">:</span> <span class="s">&quot;mail.example.com&quot;</span><span class="p">,</span>
<span class="gp">... </span>                   <span class="s">&quot;list_owner&quot;</span><span class="p">:</span> <span class="s">&quot;james@example.com&quot;</span><span class="p">,</span>
<span class="gp">... </span>                   <span class="s">&quot;description&quot;</span><span class="p">:</span> <span class="s">&quot;doctest testing list&quot;</span><span class="p">,</span>
<span class="gp">... </span>                   <span class="s">&quot;advertised&quot;</span><span class="p">:</span> <span class="s">&quot;True&quot;</span><span class="p">,</span>    
<span class="gp">... </span>                   <span class="s">&quot;languages&quot;</span><span class="p">:</span> <span class="s">&quot;English (USA)&quot;</span><span class="p">})</span>    
<span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="nb">type</span><span class="p">(</span><span class="n">response</span><span class="p">)</span> <span class="o">==</span> <span class="n">HttpResponseRedirect</span>
<span class="go">True</span>
</pre></div>
</div>
<p>As List index is an overview of all advertised Lists and we&#8217;ve choosen to
do so we should now see our new List within the overview. HTTP_HOST is added
as META Data for the request because we do only want to see Domains which
belong to the example.com web_host</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;/lists/&#39;</span><span class="p">,</span><span class="n">HTTP_HOST</span><span class="o">=</span><span class="s">&#39;example.com&#39;</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span>
<span class="go">200</span>
<span class="gp">&gt;&gt;&gt; </span><span class="s">&quot;New_list1&quot;</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
</pre></div>
</div>
</div>
<div class="section" id="list-summary">
<h3>List Summary<a class="headerlink" href="#list-summary" title="Permalink to this headline">¶</a></h3>
<p>List summary is a dashboard for each List. It does have Links to the most
useful functions which are only related to that Domain. These include the
Values mentioned below. _(function) is used to Translate these to you local
language.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;/lists/new_list1%40mail.example.com/&#39;</span><span class="p">,)</span>    
<span class="gp">&gt;&gt;&gt; </span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span>
<span class="go">200</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Subscribe&quot;</span><span class="p">)</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Archives&quot;</span><span class="p">)</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Edit Options&quot;</span><span class="p">)</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Unsubscribe&quot;</span><span class="p">)</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
</pre></div>
</div>
</div>
<div class="section" id="subscriptions">
<h3>Subscriptions<a class="headerlink" href="#subscriptions" title="Permalink to this headline">¶</a></h3>
<p>The Subscriptions form is found on the below URL. Last part of the Url is one
of [None,&#8217;subscribe&#8217;,&#8217;unsubscribe&#8217;]</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">url</span> <span class="o">=</span> <span class="s">&#39;/subscriptions/new_list1%40mail.example.com/subscribe&#39;</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span>
<span class="go">200</span>
</pre></div>
</div>
<p>Forms will be prefilled with the Users Email if so. is logged in.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="s">&quot;james@example.com&quot;</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
</pre></div>
</div>
<p>Now we can subscribe James and Katie and check that we get redirected to List Summary.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="n">url</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="p">{</span><span class="s">&quot;email&quot;</span><span class="p">:</span> <span class="s">&quot;james@example.com&quot;</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="s">&quot;real_name&quot;</span><span class="p">:</span> <span class="s">&quot;James Watt&quot;</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;subscribe&quot;</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="s">&quot;fqdn_listname&quot;</span><span class="p">:</span> <span class="s">&quot;new_list1@mail.example.com&quot;</span><span class="p">})</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="n">url</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="p">{</span><span class="s">&quot;email&quot;</span><span class="p">:</span> <span class="s">&quot;katie@example.com&quot;</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="s">&quot;real_name&quot;</span><span class="p">:</span> <span class="s">&quot;Katie Doe&quot;</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;subscribe&quot;</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="s">&quot;fqdn_listname&quot;</span><span class="p">:</span> <span class="s">&quot;new_list1@mail.example.com&quot;</span><span class="p">})</span>   
<span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Subscribed&#39;</span><span class="p">)</span><span class="o">+</span><span class="s">&#39; katie@example.com&#39;</span><span class="p">)</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
</pre></div>
</div>
<p>The logged in user (<a class="reference external" href="mailto:james&#37;&#52;&#48;example&#46;com">james<span>&#64;</span>example<span>&#46;</span>com</a>) can now modify his own membership
using a button which is displayed in list_summary.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;/lists/new_list1%40mail.example.com/&#39;</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="s">&quot;mm_membership&quot;</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
</pre></div>
</div>
<p>Using the same subscription page we can unsubscribe as well.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="s">&#39;/subscriptions/new_list1%40mail.example.com/unsubscribe&#39;</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="p">{</span><span class="s">&quot;email&quot;</span><span class="p">:</span> <span class="s">&quot;katie@example.com&quot;</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;unsubscribe&quot;</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="s">&quot;fqdn_listname&quot;</span><span class="p">:</span> <span class="s">&quot;new_list1@mail.example.com&quot;</span><span class="p">})</span>
<span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Unsubscribed&#39;</span><span class="p">)</span><span class="o">+</span><span class="s">&#39; katie@example.com&#39;</span><span class="p">)</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
</pre></div>
</div>
</div>
<div class="section" id="mass-subscribe-users-within-settings">
<h3>Mass Subscribe Users (within settings)<a class="headerlink" href="#mass-subscribe-users-within-settings" title="Permalink to this headline">¶</a></h3>
<p>Another page related to Mass Subscriptions will be available to List Owners
as well. This page will allow adding a couple of users to one lists at the
same time.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">url</span> <span class="o">=</span> <span class="s">&#39;/subscriptions/new_list1%40mail.example.com/mass_subscribe/&#39;</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span>
<span class="go">200</span>
</pre></div>
</div>
<p>Try mass subscribing the users <a class="reference external" href="mailto:'liza&#37;&#52;&#48;example&#46;com">'liza<span>&#64;</span>example<span>&#46;</span>com</a>&#8216; and 
<a class="reference external" href="mailto:'george&#37;&#52;&#48;example&#46;com">'george<span>&#64;</span>example<span>&#46;</span>com</a>&#8216;. Each address should be provided on a separate 
line so add &#8216;n&#8217; between the names to indicate that this was done 
(we&#8217;re on a Linux machine which is why the letter &#8216;n&#8217; was used and 
the double &#8216;&#8217; instead of a single one is to escape the string 
parsing of Python).</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">url</span> <span class="o">=</span> <span class="s">&#39;/subscriptions/new_list1%40mail.example.com/mass_subscribe/&#39;</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="n">url</span><span class="p">,</span>
<span class="gp">... </span>                  <span class="p">{</span><span class="s">&quot;emails&quot;</span><span class="p">:</span> <span class="s">&quot;liza@example.com</span><span class="se">\n</span><span class="s">george@example.com&quot;</span><span class="p">})</span>
</pre></div>
</div>
<p>If everything was successful, we shall get a positive response from 
the page. We&#8217;ll check that this was the case.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The mass subscription was successful.&quot;</span><span class="p">)</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
</pre></div>
</div>
</div>
<div class="section" id="delete-the-list">
<h3>Delete the List<a class="headerlink" href="#delete-the-list" title="Permalink to this headline">¶</a></h3>
<p>Finally, let&#8217;s delete the list.
We start by checking that the list is really there (for reference).</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;/lists/&#39;</span><span class="p">,</span><span class="n">HTTP_HOST</span><span class="o">=</span><span class="s">&#39;example.com&#39;</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="s">&quot;New_list1&quot;</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
</pre></div>
</div>
<dl class="docutils">
<dt>Trying to delete the List we have to confirm this action</dt>
<dd><div class="first last highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;/delete_list/new_list1%40mail.example.com/&#39;</span><span class="p">,)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="s">&quot;Please confirm&quot;</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">True</span>
</pre></div>
</div>
</dd>
<dt>Confirmed by pressing the button which requests the same page using POST</dt>
<dd><div class="first last highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="s">&#39;/delete_list/new_list1%40mail.example.com/&#39;</span><span class="p">,)</span>
</pre></div>
</div>
</dd>
<dt>...and check that it&#8217;s been deleted.</dt>
<dd><div class="first last highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">response</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;/lists/&#39;</span><span class="p">,</span><span class="n">HTTP_HOST</span><span class="o">=</span><span class="s">&#39;example.com&#39;</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="s">&quot;new_list1</span><span class="si">%40e</span><span class="s">xample.com&quot;</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">content</span>
<span class="go">False</span>
</pre></div>
</div>
</dd>
</dl>
</div>
</div>
<div class="section" id="finishing-test">
<h2>Finishing Test<a class="headerlink" href="#finishing-test" title="Permalink to this headline">¶</a></h2>
<dl class="docutils">
<dt>Don&#8217;t forget to remove the test object after testing all functions</dt>
<dd><div class="first last highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">teardown_mm</span><span class="p">(</span><span class="n">testobject</span><span class="p">)</span>    
</pre></div>
</div>
</dd>
</dl>
</div>
<div class="section" id="running-the-tests-explained-above">
<h2>Running the tests explained above.<a class="headerlink" href="#running-the-tests-explained-above" title="Permalink to this headline">¶</a></h2>
<p>We&#8217;ve added our own test-suite to the Django App which will be executed together with the Django Test. Last thing you should do is running these tests. If they fail you did something wrong, if they succeed you can enjoy the site.</p>
<p>Run the following in the Site Directory</p>
<blockquote>
<div><div class="highlight-bash"><div class="highlight"><pre><span class="nv">$ </span>python manage.py <span class="nb">test</span>
</pre></div>
</div>
</div></blockquote>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Please be aware that we want to run a development instance of mailman you need to stop the stable one first and the tests will open it&#8217;s own mailman temporily.</p>
</div>
</div>
<div class="section" id="accessing-the-rest-client-for-testing">
<h2>Accessing the REST Client for Testing<a class="headerlink" href="#accessing-the-rest-client-for-testing" title="Permalink to this headline">¶</a></h2>
<p>If you want to access the Functions, which we use in the views, directly feel free to run the following block of code within a Shell which does have it&#8217;s current Directory within the Django Site Directory.</p>
<blockquote>
<div><div class="highlight-python"><div class="highlight"><pre><span class="kn">from</span> <span class="nn">settings</span> <span class="kn">import</span> <span class="n">API_USER</span><span class="p">,</span> <span class="n">API_PASS</span>
<span class="kn">from</span> <span class="nn">mailman.client</span> <span class="kn">import</span> <span class="n">Client</span>
<span class="n">c</span> <span class="o">=</span> <span class="n">Client</span><span class="p">(</span><span class="s">&#39;http://localhost:8001/3.0&#39;</span><span class="p">,</span> <span class="n">API_USER</span><span class="p">,</span> <span class="n">API_PASS</span><span class="p">)</span>
<span class="c">#DEBUG: Python Session</span>
</pre></div>
</div>
</div></blockquote>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h3><a href="index.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Using the Django App - Developers Resource (outdated)</a><ul>
<li><a class="reference internal" href="#tests-login-and-permissions">Tests Login and Permissions</a><ul>
<li><a class="reference internal" href="#list-index">List index</a></li>
<li><a class="reference internal" href="#login-required">Login Required</a></li>
</ul>
</li>
<li><a class="reference internal" href="#pages">Pages</a><ul>
<li><a class="reference internal" href="#create-a-new-list">Create a New List</a></li>
<li><a class="reference internal" href="#list-summary">List Summary</a></li>
<li><a class="reference internal" href="#subscriptions">Subscriptions</a></li>
<li><a class="reference internal" href="#mass-subscribe-users-within-settings">Mass Subscribe Users (within settings)</a></li>
<li><a class="reference internal" href="#delete-the-list">Delete the List</a></li>
</ul>
</li>
<li><a class="reference internal" href="#finishing-test">Finishing Test</a></li>
<li><a class="reference internal" href="#running-the-tests-explained-above">Running the tests explained above.</a></li>
<li><a class="reference internal" href="#accessing-the-rest-client-for-testing">Accessing the REST Client for Testing</a></li>
</ul>
</li>
</ul>

  <h3>This Page</h3>
  <ul class="this-page-menu">
    <li><a href="_sources/using.txt"
           rel="nofollow">Show Source</a></li>
  </ul>
<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li><a href="index.html">Postorius 1.0a2 documentation</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2012, The Free Software Foundation.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
    </div>
  </body>
</html>