mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-27 10:26:23 +00:00
39 lines
3.8 KiB
HTML
39 lines
3.8 KiB
HTML
|
<div class="highlight"><pre><span class="kn">import</span> <span class="nn">requests</span>
|
||
|
<span class="kn">from</span> <span class="nn">libpathod</span> <span class="kn">import</span> <span class="n">test</span>
|
||
|
|
||
|
<span class="k">class</span> <span class="nc">Test</span><span class="p">:</span>
|
||
|
<span class="sd">"""</span>
|
||
|
<span class="sd"> Testing the requests module with </span>
|
||
|
<span class="sd"> a single pathod instance started </span>
|
||
|
<span class="sd"> for the test suite.</span>
|
||
|
<span class="sd"> """</span>
|
||
|
<span class="nd">@classmethod</span>
|
||
|
<span class="k">def</span> <span class="nf">setUpAll</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
|
||
|
<span class="n">cls</span><span class="o">.</span><span class="n">d</span> <span class="o">=</span> <span class="n">test</span><span class="o">.</span><span class="n">Daemon</span><span class="p">()</span>
|
||
|
|
||
|
<span class="nd">@classmethod</span>
|
||
|
<span class="k">def</span> <span class="nf">tearDownAll</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
|
||
|
<span class="n">cls</span><span class="o">.</span><span class="n">d</span><span class="o">.</span><span class="n">shutdown</span><span class="p">()</span>
|
||
|
|
||
|
<span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||
|
<span class="c"># Clear the pathod logs between tests</span>
|
||
|
<span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="o">.</span><span class="n">clear_log</span><span class="p">()</span>
|
||
|
|
||
|
<span class="k">def</span> <span class="nf">test_simple</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||
|
<span class="c"># Get a URL for a pathod spec</span>
|
||
|
<span class="n">url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="o">.</span><span class="n">p</span><span class="p">(</span><span class="s">"200:b@100"</span><span class="p">)</span>
|
||
|
<span class="c"># ... and request it</span>
|
||
|
<span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">put</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>
|
||
|
|
||
|
<span class="c"># Check the returned data</span>
|
||
|
<span class="k">assert</span> <span class="n">r</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span>
|
||
|
<span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">content</span><span class="p">)</span> <span class="o">==</span> <span class="mi">100</span>
|
||
|
|
||
|
<span class="c"># Check pathod's internal log</span>
|
||
|
<span class="n">log</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="o">.</span><span class="n">last_log</span><span class="p">()[</span><span class="s">"request"</span><span class="p">]</span>
|
||
|
<span class="k">assert</span> <span class="n">log</span><span class="p">[</span><span class="s">"method"</span><span class="p">]</span> <span class="o">==</span> <span class="s">"PUT"</span>
|
||
|
|
||
|
<span class="k">def</span> <span class="nf">test_two</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||
|
<span class="k">assert</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="o">.</span><span class="n">log</span><span class="p">()</span>
|
||
|
</pre></div>
|