mirror of
https://github.com/evennia/evennia.git
synced 2026-04-06 07:57:16 +02:00
540 lines
No EOL
81 KiB
HTML
540 lines
No EOL
81 KiB
HTML
|
|
<!DOCTYPE html>
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>evennia.accounts.tests — Evennia 0.9.1 documentation</title>
|
|
<link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
|
|
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
|
|
<script id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
|
|
<script src="../../../_static/jquery.js"></script>
|
|
<script src="../../../_static/underscore.js"></script>
|
|
<script src="../../../_static/doctools.js"></script>
|
|
<script src="../../../_static/language_data.js"></script>
|
|
<link rel="index" title="Index" href="../../../genindex.html" />
|
|
<link rel="search" title="Search" href="../../../search.html" />
|
|
|
|
<link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
|
|
|
</head><body>
|
|
|
|
|
|
<div class="document">
|
|
<div class="documentwrapper">
|
|
<div class="bodywrapper">
|
|
|
|
|
|
<div class="body" role="main">
|
|
|
|
<h1>Source code for evennia.accounts.tests</h1><div class="highlight"><pre>
|
|
<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
|
|
|
|
<span class="kn">import</span> <span class="nn">sys</span>
|
|
<span class="kn">from</span> <span class="nn">mock</span> <span class="k">import</span> <span class="n">Mock</span><span class="p">,</span> <span class="n">MagicMock</span><span class="p">,</span> <span class="n">patch</span>
|
|
<span class="kn">from</span> <span class="nn">random</span> <span class="k">import</span> <span class="n">randint</span>
|
|
<span class="kn">from</span> <span class="nn">unittest</span> <span class="k">import</span> <span class="n">TestCase</span>
|
|
|
|
<span class="kn">from</span> <span class="nn">django.test</span> <span class="k">import</span> <span class="n">override_settings</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.accounts.accounts</span> <span class="k">import</span> <span class="n">AccountSessionHandler</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.accounts.accounts</span> <span class="k">import</span> <span class="n">DefaultAccount</span><span class="p">,</span> <span class="n">DefaultGuest</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.utils.test_resources</span> <span class="k">import</span> <span class="n">EvenniaTest</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.utils</span> <span class="k">import</span> <span class="n">create</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.utils.utils</span> <span class="k">import</span> <span class="n">uses_database</span>
|
|
|
|
<span class="kn">from</span> <span class="nn">django.conf</span> <span class="k">import</span> <span class="n">settings</span>
|
|
|
|
|
|
<div class="viewcode-block" id="TestAccountSessionHandler"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestAccountSessionHandler">[docs]</a><span class="k">class</span> <span class="nc">TestAccountSessionHandler</span><span class="p">(</span><span class="n">TestCase</span><span class="p">):</span>
|
|
<span class="s2">"Check AccountSessionHandler class"</span>
|
|
|
|
<div class="viewcode-block" id="TestAccountSessionHandler.setUp"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestAccountSessionHandler.setUp">[docs]</a> <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="bp">self</span><span class="o">.</span><span class="n">account</span> <span class="o">=</span> <span class="n">create</span><span class="o">.</span><span class="n">create_account</span><span class="p">(</span>
|
|
<span class="n">f</span><span class="s2">"TestAccount{randint(0, 999999)}"</span><span class="p">,</span>
|
|
<span class="n">email</span><span class="o">=</span><span class="s2">"test@test.com"</span><span class="p">,</span>
|
|
<span class="n">password</span><span class="o">=</span><span class="s2">"testpassword"</span><span class="p">,</span>
|
|
<span class="n">typeclass</span><span class="o">=</span><span class="n">DefaultAccount</span><span class="p">,</span>
|
|
<span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">handler</span> <span class="o">=</span> <span class="n">AccountSessionHandler</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestAccountSessionHandler.tearDown"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestAccountSessionHandler.tearDown">[docs]</a> <span class="k">def</span> <span class="nf">tearDown</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"account"</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span></div>
|
|
|
|
<div class="viewcode-block" id="TestAccountSessionHandler.test_get"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestAccountSessionHandler.test_get">[docs]</a> <span class="k">def</span> <span class="nf">test_get</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Check get method"</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">get</span><span class="p">(),</span> <span class="p">[])</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="mi">100</span><span class="p">),</span> <span class="p">[])</span>
|
|
|
|
<span class="kn">import</span> <span class="nn">evennia.server.sessionhandler</span>
|
|
|
|
<span class="n">s1</span> <span class="o">=</span> <span class="n">MagicMock</span><span class="p">()</span>
|
|
<span class="n">s1</span><span class="o">.</span><span class="n">logged_in</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="n">s1</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">uid</span>
|
|
<span class="n">evennia</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">sessionhandler</span><span class="o">.</span><span class="n">SESSIONS</span><span class="p">[</span><span class="n">s1</span><span class="o">.</span><span class="n">uid</span><span class="p">]</span> <span class="o">=</span> <span class="n">s1</span>
|
|
|
|
<span class="n">s2</span> <span class="o">=</span> <span class="n">MagicMock</span><span class="p">()</span>
|
|
<span class="n">s2</span><span class="o">.</span><span class="n">logged_in</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="n">s2</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">uid</span> <span class="o">+</span> <span class="mi">1</span>
|
|
<span class="n">evennia</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">sessionhandler</span><span class="o">.</span><span class="n">SESSIONS</span><span class="p">[</span><span class="n">s2</span><span class="o">.</span><span class="n">uid</span><span class="p">]</span> <span class="o">=</span> <span class="n">s2</span>
|
|
|
|
<span class="n">s3</span> <span class="o">=</span> <span class="n">MagicMock</span><span class="p">()</span>
|
|
<span class="n">s3</span><span class="o">.</span><span class="n">logged_in</span> <span class="o">=</span> <span class="kc">False</span>
|
|
<span class="n">s3</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">uid</span> <span class="o">+</span> <span class="mi">2</span>
|
|
<span class="n">evennia</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">sessionhandler</span><span class="o">.</span><span class="n">SESSIONS</span><span class="p">[</span><span class="n">s3</span><span class="o">.</span><span class="n">uid</span><span class="p">]</span> <span class="o">=</span> <span class="n">s3</span>
|
|
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">([</span><span class="n">s</span><span class="o">.</span><span class="n">uid</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">get</span><span class="p">()],</span> <span class="p">[</span><span class="n">s1</span><span class="o">.</span><span class="n">uid</span><span class="p">])</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">([</span><span class="n">s</span><span class="o">.</span><span class="n">uid</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">uid</span><span class="p">)]],</span> <span class="p">[</span><span class="n">s1</span><span class="o">.</span><span class="n">uid</span><span class="p">])</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">([</span><span class="n">s</span><span class="o">.</span><span class="n">uid</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">uid</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)],</span> <span class="p">[])</span></div>
|
|
|
|
<div class="viewcode-block" id="TestAccountSessionHandler.test_all"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestAccountSessionHandler.test_all">[docs]</a> <span class="k">def</span> <span class="nf">test_all</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Check all method"</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">get</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">all</span><span class="p">())</span></div>
|
|
|
|
<div class="viewcode-block" id="TestAccountSessionHandler.test_count"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestAccountSessionHandler.test_count">[docs]</a> <span class="k">def</span> <span class="nf">test_count</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Check count method"</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">count</span><span class="p">(),</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">get</span><span class="p">()))</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="TestDefaultGuest"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultGuest">[docs]</a><span class="nd">@override_settings</span><span class="p">(</span><span class="n">GUEST_ENABLED</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">GUEST_LIST</span><span class="o">=</span><span class="p">[</span><span class="s2">"bruce_wayne"</span><span class="p">])</span>
|
|
<span class="k">class</span> <span class="nc">TestDefaultGuest</span><span class="p">(</span><span class="n">EvenniaTest</span><span class="p">):</span>
|
|
<span class="s2">"Check DefaultGuest class"</span>
|
|
|
|
<span class="n">ip</span> <span class="o">=</span> <span class="s2">"212.216.134.22"</span>
|
|
|
|
<div class="viewcode-block" id="TestDefaultGuest.test_create_not_enabled"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultGuest.test_create_not_enabled">[docs]</a> <span class="nd">@override_settings</span><span class="p">(</span><span class="n">GUEST_ENABLED</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
|
<span class="k">def</span> <span class="nf">test_create_not_enabled</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="c1"># Guest account should not be permitted</span>
|
|
<span class="n">account</span><span class="p">,</span> <span class="n">errors</span> <span class="o">=</span> <span class="n">DefaultGuest</span><span class="o">.</span><span class="n">authenticate</span><span class="p">(</span><span class="n">ip</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">ip</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">account</span><span class="p">,</span> <span class="s2">"Guest account was created despite being disabled."</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultGuest.test_authenticate"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultGuest.test_authenticate">[docs]</a> <span class="k">def</span> <span class="nf">test_authenticate</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="c1"># Create a guest account</span>
|
|
<span class="n">account</span><span class="p">,</span> <span class="n">errors</span> <span class="o">=</span> <span class="n">DefaultGuest</span><span class="o">.</span><span class="n">authenticate</span><span class="p">(</span><span class="n">ip</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">ip</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">account</span><span class="p">,</span> <span class="s2">"Guest account should have been created."</span><span class="p">)</span>
|
|
|
|
<span class="c1"># Create a second guest account</span>
|
|
<span class="n">account</span><span class="p">,</span> <span class="n">errors</span> <span class="o">=</span> <span class="n">DefaultGuest</span><span class="o">.</span><span class="n">authenticate</span><span class="p">(</span><span class="n">ip</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">ip</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span>
|
|
<span class="n">account</span><span class="p">,</span> <span class="s2">"Two guest accounts were created with a single entry on the guest list!"</span>
|
|
<span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultGuest.test_create"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultGuest.test_create">[docs]</a> <span class="nd">@patch</span><span class="p">(</span><span class="s2">"evennia.accounts.accounts.ChannelDB.objects.get_channel"</span><span class="p">)</span>
|
|
<span class="k">def</span> <span class="nf">test_create</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">get_channel</span><span class="p">):</span>
|
|
<span class="n">get_channel</span><span class="o">.</span><span class="n">connect</span> <span class="o">=</span> <span class="n">MagicMock</span><span class="p">(</span><span class="n">return_value</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
|
<span class="k">with</span> <span class="n">override_settings</span><span class="p">(</span><span class="n">GUEST_HOME</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">room1</span><span class="o">.</span><span class="n">dbref</span><span class="p">):</span>
|
|
<span class="n">account</span><span class="p">,</span> <span class="n">errors</span> <span class="o">=</span> <span class="n">DefaultGuest</span><span class="o">.</span><span class="n">create</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">account</span><span class="p">,</span> <span class="s2">"Guest account should have been created."</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">errors</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultGuest.test_at_post_login"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultGuest.test_at_post_login">[docs]</a> <span class="k">def</span> <span class="nf">test_at_post_login</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">_last_puppet</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">char1</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">at_post_login</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">at_post_login</span><span class="p">()</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultGuest.test_at_server_shutdown"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultGuest.test_at_server_shutdown">[docs]</a> <span class="k">def</span> <span class="nf">test_at_server_shutdown</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">account</span><span class="p">,</span> <span class="n">errors</span> <span class="o">=</span> <span class="n">DefaultGuest</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">ip</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">ip</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="o">.</span><span class="n">delete</span> <span class="o">=</span> <span class="n">MagicMock</span><span class="p">()</span>
|
|
<span class="n">account</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">_playable_characters</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="p">]</span>
|
|
<span class="n">account</span><span class="o">.</span><span class="n">at_server_shutdown</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="o">.</span><span class="n">delete</span><span class="o">.</span><span class="n">assert_called</span><span class="p">()</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultGuest.test_at_post_disconnect"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultGuest.test_at_post_disconnect">[docs]</a> <span class="k">def</span> <span class="nf">test_at_post_disconnect</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">account</span><span class="p">,</span> <span class="n">errors</span> <span class="o">=</span> <span class="n">DefaultGuest</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">ip</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">ip</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="o">.</span><span class="n">delete</span> <span class="o">=</span> <span class="n">MagicMock</span><span class="p">()</span>
|
|
<span class="n">account</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">_playable_characters</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="p">]</span>
|
|
<span class="n">account</span><span class="o">.</span><span class="n">at_post_disconnect</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="o">.</span><span class="n">delete</span><span class="o">.</span><span class="n">assert_called</span><span class="p">()</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountAuth"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountAuth">[docs]</a><span class="k">class</span> <span class="nc">TestDefaultAccountAuth</span><span class="p">(</span><span class="n">EvenniaTest</span><span class="p">):</span>
|
|
<div class="viewcode-block" id="TestDefaultAccountAuth.setUp"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountAuth.setUp">[docs]</a> <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="nb">super</span><span class="p">(</span><span class="n">TestDefaultAccountAuth</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">setUp</span><span class="p">()</span>
|
|
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="s2">"testpassword"</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span> <span class="o">=</span> <span class="n">create</span><span class="o">.</span><span class="n">create_account</span><span class="p">(</span>
|
|
<span class="n">f</span><span class="s2">"TestAccount{randint(100000, 999999)}"</span><span class="p">,</span>
|
|
<span class="n">email</span><span class="o">=</span><span class="s2">"test@test.com"</span><span class="p">,</span>
|
|
<span class="n">password</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="p">,</span>
|
|
<span class="n">typeclass</span><span class="o">=</span><span class="n">DefaultAccount</span><span class="p">,</span>
|
|
<span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountAuth.test_authentication"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountAuth.test_authentication">[docs]</a> <span class="k">def</span> <span class="nf">test_authentication</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Confirm Account authentication method is authenticating/denying users."</span>
|
|
<span class="c1"># Valid credentials</span>
|
|
<span class="n">obj</span><span class="p">,</span> <span class="n">errors</span> <span class="o">=</span> <span class="n">DefaultAccount</span><span class="o">.</span><span class="n">authenticate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s2">"Account did not authenticate given valid credentials."</span><span class="p">)</span>
|
|
|
|
<span class="c1"># Invalid credentials</span>
|
|
<span class="n">obj</span><span class="p">,</span> <span class="n">errors</span> <span class="o">=</span> <span class="n">DefaultAccount</span><span class="o">.</span><span class="n">authenticate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="s2">"xyzzy"</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s2">"Account authenticated using invalid credentials."</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountAuth.test_create"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountAuth.test_create">[docs]</a> <span class="k">def</span> <span class="nf">test_create</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Confirm Account creation is working as expected."</span>
|
|
<span class="c1"># Create a normal account</span>
|
|
<span class="n">account</span><span class="p">,</span> <span class="n">errors</span> <span class="o">=</span> <span class="n">DefaultAccount</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">username</span><span class="o">=</span><span class="s2">"ziggy"</span><span class="p">,</span> <span class="n">password</span><span class="o">=</span><span class="s2">"stardust11"</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">account</span><span class="p">,</span> <span class="s2">"New account should have been created."</span><span class="p">)</span>
|
|
|
|
<span class="c1"># Try creating a duplicate account</span>
|
|
<span class="n">account2</span><span class="p">,</span> <span class="n">errors</span> <span class="o">=</span> <span class="n">DefaultAccount</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">username</span><span class="o">=</span><span class="s2">"Ziggy"</span><span class="p">,</span> <span class="n">password</span><span class="o">=</span><span class="s2">"starman11"</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">account2</span><span class="p">,</span> <span class="s2">"Duplicate account name should not have been allowed."</span><span class="p">)</span>
|
|
<span class="n">account</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountAuth.test_throttle"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountAuth.test_throttle">[docs]</a> <span class="k">def</span> <span class="nf">test_throttle</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Confirm throttle activates on too many failures."</span>
|
|
<span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">20</span><span class="p">):</span>
|
|
<span class="n">obj</span><span class="p">,</span> <span class="n">errors</span> <span class="o">=</span> <span class="n">DefaultAccount</span><span class="o">.</span><span class="n">authenticate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="s2">"xyzzy"</span><span class="p">,</span> <span class="n">ip</span><span class="o">=</span><span class="s2">"12.24.36.48"</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span>
|
|
<span class="n">obj</span><span class="p">,</span>
|
|
<span class="s2">"Authentication was provided a bogus password; this should NOT have returned an account!"</span><span class="p">,</span>
|
|
<span class="p">)</span>
|
|
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span>
|
|
<span class="s2">"too many login failures"</span> <span class="ow">in</span> <span class="n">errors</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">(),</span>
|
|
<span class="s2">"Failed logins should have been throttled."</span><span class="p">,</span>
|
|
<span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountAuth.test_username_validation"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountAuth.test_username_validation">[docs]</a> <span class="k">def</span> <span class="nf">test_username_validation</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Check username validators deny relevant usernames"</span>
|
|
<span class="c1"># Should not accept Unicode by default, lest users pick names like this</span>
|
|
|
|
<span class="k">if</span> <span class="ow">not</span> <span class="n">uses_database</span><span class="p">(</span><span class="s2">"mysql"</span><span class="p">):</span>
|
|
<span class="c1"># TODO As of Mar 2019, mysql does not pass this test due to collation problems</span>
|
|
<span class="c1"># that has not been possible to resolve</span>
|
|
<span class="n">result</span><span class="p">,</span> <span class="n">error</span> <span class="o">=</span> <span class="n">DefaultAccount</span><span class="o">.</span><span class="n">validate_username</span><span class="p">(</span><span class="s2">"¯\_(ツ)_/¯"</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="s2">"Validator allowed kanji in username."</span><span class="p">)</span>
|
|
|
|
<span class="c1"># Should not allow duplicate username</span>
|
|
<span class="n">result</span><span class="p">,</span> <span class="n">error</span> <span class="o">=</span> <span class="n">DefaultAccount</span><span class="o">.</span><span class="n">validate_username</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="s2">"Duplicate username should not have passed validation."</span><span class="p">)</span>
|
|
|
|
<span class="c1"># Should not allow username too short</span>
|
|
<span class="n">result</span><span class="p">,</span> <span class="n">error</span> <span class="o">=</span> <span class="n">DefaultAccount</span><span class="o">.</span><span class="n">validate_username</span><span class="p">(</span><span class="s2">"xx"</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="s2">"2-character username passed validation."</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountAuth.test_password_validation"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountAuth.test_password_validation">[docs]</a> <span class="k">def</span> <span class="nf">test_password_validation</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Check password validators deny bad passwords"</span>
|
|
|
|
<span class="n">account</span> <span class="o">=</span> <span class="n">create</span><span class="o">.</span><span class="n">create_account</span><span class="p">(</span>
|
|
<span class="n">f</span><span class="s2">"TestAccount{randint(100000, 999999)}"</span><span class="p">,</span>
|
|
<span class="n">email</span><span class="o">=</span><span class="s2">"test@test.com"</span><span class="p">,</span>
|
|
<span class="n">password</span><span class="o">=</span><span class="s2">"testpassword"</span><span class="p">,</span>
|
|
<span class="n">typeclass</span><span class="o">=</span><span class="n">DefaultAccount</span><span class="p">,</span>
|
|
<span class="p">)</span>
|
|
<span class="k">for</span> <span class="n">bad</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">""</span><span class="p">,</span> <span class="s2">"123"</span><span class="p">,</span> <span class="s2">"password"</span><span class="p">,</span> <span class="s2">"TestAccount"</span><span class="p">,</span> <span class="s2">"#"</span><span class="p">,</span> <span class="s2">"xyzzy"</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">account</span><span class="o">.</span><span class="n">validate_password</span><span class="p">(</span><span class="n">bad</span><span class="p">,</span> <span class="n">account</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
|
|
|
<span class="s2">"Check validators allow sufficiently complex passwords"</span>
|
|
<span class="k">for</span> <span class="n">better</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">"Mxyzptlk"</span><span class="p">,</span> <span class="s2">"j0hn, i'M 0n1y d4nc1nG"</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">account</span><span class="o">.</span><span class="n">validate_password</span><span class="p">(</span><span class="n">better</span><span class="p">,</span> <span class="n">account</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
|
<span class="n">account</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountAuth.test_password_change"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountAuth.test_password_change">[docs]</a> <span class="k">def</span> <span class="nf">test_password_change</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Check password setting and validation is working as expected"</span>
|
|
<span class="n">account</span> <span class="o">=</span> <span class="n">create</span><span class="o">.</span><span class="n">create_account</span><span class="p">(</span>
|
|
<span class="n">f</span><span class="s2">"TestAccount{randint(100000, 999999)}"</span><span class="p">,</span>
|
|
<span class="n">email</span><span class="o">=</span><span class="s2">"test@test.com"</span><span class="p">,</span>
|
|
<span class="n">password</span><span class="o">=</span><span class="s2">"testpassword"</span><span class="p">,</span>
|
|
<span class="n">typeclass</span><span class="o">=</span><span class="n">DefaultAccount</span><span class="p">,</span>
|
|
<span class="p">)</span>
|
|
|
|
<span class="kn">from</span> <span class="nn">django.core.exceptions</span> <span class="k">import</span> <span class="n">ValidationError</span>
|
|
|
|
<span class="c1"># Try setting some bad passwords</span>
|
|
<span class="k">for</span> <span class="n">bad</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">""</span><span class="p">,</span> <span class="s2">"#"</span><span class="p">,</span> <span class="s2">"TestAccount"</span><span class="p">,</span> <span class="s2">"password"</span><span class="p">):</span>
|
|
<span class="n">valid</span><span class="p">,</span> <span class="n">error</span> <span class="o">=</span> <span class="n">account</span><span class="o">.</span><span class="n">validate_password</span><span class="p">(</span><span class="n">bad</span><span class="p">,</span> <span class="n">account</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">valid</span><span class="p">)</span>
|
|
|
|
<span class="c1"># Try setting a better password (test for False; returns None on success)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">account</span><span class="o">.</span><span class="n">set_password</span><span class="p">(</span><span class="s2">"Mxyzptlk"</span><span class="p">))</span>
|
|
<span class="n">account</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccount"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccount">[docs]</a><span class="k">class</span> <span class="nc">TestDefaultAccount</span><span class="p">(</span><span class="n">TestCase</span><span class="p">):</span>
|
|
<span class="s2">"Check DefaultAccount class"</span>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccount.setUp"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccount.setUp">[docs]</a> <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="bp">self</span><span class="o">.</span><span class="n">s1</span> <span class="o">=</span> <span class="n">MagicMock</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">puppet</span> <span class="o">=</span> <span class="kc">None</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">sessid</span> <span class="o">=</span> <span class="mi">0</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccount.test_puppet_object_no_object"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccount.test_puppet_object_no_object">[docs]</a> <span class="k">def</span> <span class="nf">test_puppet_object_no_object</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Check puppet_object method called with no object param"</span>
|
|
|
|
<span class="k">try</span><span class="p">:</span>
|
|
<span class="n">DefaultAccount</span><span class="p">()</span><span class="o">.</span><span class="n">puppet_object</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">fail</span><span class="p">(</span><span class="s2">"Expected error: 'Object not found'"</span><span class="p">)</span>
|
|
<span class="k">except</span> <span class="ne">RuntimeError</span> <span class="k">as</span> <span class="n">re</span><span class="p">:</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="s2">"Object not found"</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">re</span><span class="p">))</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccount.test_puppet_object_no_session"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccount.test_puppet_object_no_session">[docs]</a> <span class="k">def</span> <span class="nf">test_puppet_object_no_session</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Check puppet_object method called with no session param"</span>
|
|
|
|
<span class="k">try</span><span class="p">:</span>
|
|
<span class="n">DefaultAccount</span><span class="p">()</span><span class="o">.</span><span class="n">puppet_object</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="n">Mock</span><span class="p">())</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">fail</span><span class="p">(</span><span class="s2">"Expected error: 'Session not found'"</span><span class="p">)</span>
|
|
<span class="k">except</span> <span class="ne">RuntimeError</span> <span class="k">as</span> <span class="n">re</span><span class="p">:</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="s2">"Session not found"</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">re</span><span class="p">))</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccount.test_puppet_object_already_puppeting"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccount.test_puppet_object_already_puppeting">[docs]</a> <span class="k">def</span> <span class="nf">test_puppet_object_already_puppeting</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Check puppet_object method called, already puppeting this"</span>
|
|
|
|
<span class="kn">import</span> <span class="nn">evennia.server.sessionhandler</span>
|
|
|
|
<span class="n">account</span> <span class="o">=</span> <span class="n">create</span><span class="o">.</span><span class="n">create_account</span><span class="p">(</span>
|
|
<span class="n">f</span><span class="s2">"TestAccount{randint(0, 999999)}"</span><span class="p">,</span>
|
|
<span class="n">email</span><span class="o">=</span><span class="s2">"test@test.com"</span><span class="p">,</span>
|
|
<span class="n">password</span><span class="o">=</span><span class="s2">"testpassword"</span><span class="p">,</span>
|
|
<span class="n">typeclass</span><span class="o">=</span><span class="n">DefaultAccount</span><span class="p">,</span>
|
|
<span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="n">account</span><span class="o">.</span><span class="n">uid</span>
|
|
<span class="n">evennia</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">sessionhandler</span><span class="o">.</span><span class="n">SESSIONS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">uid</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">s1</span>
|
|
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">logged_in</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">data_out</span> <span class="o">=</span> <span class="n">Mock</span><span class="p">(</span><span class="n">return_value</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
|
|
|
|
<span class="n">obj</span> <span class="o">=</span> <span class="n">Mock</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">puppet</span> <span class="o">=</span> <span class="n">obj</span>
|
|
<span class="n">account</span><span class="o">.</span><span class="n">puppet_object</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="p">,</span> <span class="n">obj</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">data_out</span><span class="o">.</span><span class="n">assert_called_with</span><span class="p">(</span>
|
|
<span class="n">options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">text</span><span class="o">=</span><span class="s2">"You are already puppeting this object."</span>
|
|
<span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertIsNone</span><span class="p">(</span><span class="n">obj</span><span class="o">.</span><span class="n">at_post_puppet</span><span class="o">.</span><span class="n">call_args</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccount.test_puppet_object_no_permission"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccount.test_puppet_object_no_permission">[docs]</a> <span class="k">def</span> <span class="nf">test_puppet_object_no_permission</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Check puppet_object method called, no permission"</span>
|
|
|
|
<span class="kn">import</span> <span class="nn">evennia.server.sessionhandler</span>
|
|
|
|
<span class="n">account</span> <span class="o">=</span> <span class="n">create</span><span class="o">.</span><span class="n">create_account</span><span class="p">(</span>
|
|
<span class="n">f</span><span class="s2">"TestAccount{randint(0, 999999)}"</span><span class="p">,</span>
|
|
<span class="n">email</span><span class="o">=</span><span class="s2">"test@test.com"</span><span class="p">,</span>
|
|
<span class="n">password</span><span class="o">=</span><span class="s2">"testpassword"</span><span class="p">,</span>
|
|
<span class="n">typeclass</span><span class="o">=</span><span class="n">DefaultAccount</span><span class="p">,</span>
|
|
<span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="n">account</span><span class="o">.</span><span class="n">uid</span>
|
|
<span class="n">evennia</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">sessionhandler</span><span class="o">.</span><span class="n">SESSIONS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">uid</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">s1</span>
|
|
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">data_out</span> <span class="o">=</span> <span class="n">MagicMock</span><span class="p">()</span>
|
|
<span class="n">obj</span> <span class="o">=</span> <span class="n">Mock</span><span class="p">()</span>
|
|
<span class="n">obj</span><span class="o">.</span><span class="n">access</span> <span class="o">=</span> <span class="n">Mock</span><span class="p">(</span><span class="n">return_value</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
|
|
|
<span class="n">account</span><span class="o">.</span><span class="n">puppet_object</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="p">,</span> <span class="n">obj</span><span class="p">)</span>
|
|
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">data_out</span><span class="o">.</span><span class="n">call_args</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s2">"text"</span><span class="p">]</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">"You don't have permission to puppet"</span><span class="p">)</span>
|
|
<span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertIsNone</span><span class="p">(</span><span class="n">obj</span><span class="o">.</span><span class="n">at_post_puppet</span><span class="o">.</span><span class="n">call_args</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccount.test_puppet_object_joining_other_session"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccount.test_puppet_object_joining_other_session">[docs]</a> <span class="nd">@override_settings</span><span class="p">(</span><span class="n">MULTISESSION_MODE</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
|
|
<span class="k">def</span> <span class="nf">test_puppet_object_joining_other_session</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Check puppet_object method called, joining other session"</span>
|
|
|
|
<span class="kn">import</span> <span class="nn">evennia.server.sessionhandler</span>
|
|
|
|
<span class="n">account</span> <span class="o">=</span> <span class="n">create</span><span class="o">.</span><span class="n">create_account</span><span class="p">(</span>
|
|
<span class="n">f</span><span class="s2">"TestAccount{randint(0, 999999)}"</span><span class="p">,</span>
|
|
<span class="n">email</span><span class="o">=</span><span class="s2">"test@test.com"</span><span class="p">,</span>
|
|
<span class="n">password</span><span class="o">=</span><span class="s2">"testpassword"</span><span class="p">,</span>
|
|
<span class="n">typeclass</span><span class="o">=</span><span class="n">DefaultAccount</span><span class="p">,</span>
|
|
<span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="n">account</span><span class="o">.</span><span class="n">uid</span>
|
|
<span class="n">evennia</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">sessionhandler</span><span class="o">.</span><span class="n">SESSIONS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">uid</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">s1</span>
|
|
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">puppet</span> <span class="o">=</span> <span class="kc">None</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">logged_in</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">data_out</span> <span class="o">=</span> <span class="n">MagicMock</span><span class="p">()</span>
|
|
|
|
<span class="n">obj</span> <span class="o">=</span> <span class="n">Mock</span><span class="p">()</span>
|
|
<span class="n">obj</span><span class="o">.</span><span class="n">access</span> <span class="o">=</span> <span class="n">Mock</span><span class="p">(</span><span class="n">return_value</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
|
<span class="n">obj</span><span class="o">.</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span>
|
|
<span class="n">obj</span><span class="o">.</span><span class="n">sessions</span><span class="o">.</span><span class="n">all</span> <span class="o">=</span> <span class="n">MagicMock</span><span class="p">(</span><span class="n">return_value</span><span class="o">=</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="p">])</span>
|
|
|
|
<span class="n">account</span><span class="o">.</span><span class="n">puppet_object</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="p">,</span> <span class="n">obj</span><span class="p">)</span>
|
|
<span class="c1"># works because django.conf.settings.MULTISESSION_MODE is not in (1, 3)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">data_out</span><span class="o">.</span><span class="n">call_args</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s2">"text"</span><span class="p">]</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s2">"from another of your sessions.|n"</span><span class="p">)</span>
|
|
<span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">obj</span><span class="o">.</span><span class="n">at_post_puppet</span><span class="o">.</span><span class="n">call_args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="p">{})</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccount.test_puppet_object_already_puppeted"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccount.test_puppet_object_already_puppeted">[docs]</a> <span class="k">def</span> <span class="nf">test_puppet_object_already_puppeted</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Check puppet_object method called, already puppeted"</span>
|
|
|
|
<span class="kn">import</span> <span class="nn">evennia.server.sessionhandler</span>
|
|
|
|
<span class="n">account</span> <span class="o">=</span> <span class="n">create</span><span class="o">.</span><span class="n">create_account</span><span class="p">(</span>
|
|
<span class="n">f</span><span class="s2">"TestAccount{randint(0, 999999)}"</span><span class="p">,</span>
|
|
<span class="n">email</span><span class="o">=</span><span class="s2">"test@test.com"</span><span class="p">,</span>
|
|
<span class="n">password</span><span class="o">=</span><span class="s2">"testpassword"</span><span class="p">,</span>
|
|
<span class="n">typeclass</span><span class="o">=</span><span class="n">DefaultAccount</span><span class="p">,</span>
|
|
<span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="n">account</span><span class="o">.</span><span class="n">uid</span>
|
|
<span class="n">evennia</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">sessionhandler</span><span class="o">.</span><span class="n">SESSIONS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">uid</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">s1</span>
|
|
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">puppet</span> <span class="o">=</span> <span class="kc">None</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">logged_in</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">data_out</span> <span class="o">=</span> <span class="n">Mock</span><span class="p">(</span><span class="n">return_value</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
|
|
|
|
<span class="n">obj</span> <span class="o">=</span> <span class="n">Mock</span><span class="p">()</span>
|
|
<span class="n">obj</span><span class="o">.</span><span class="n">access</span> <span class="o">=</span> <span class="n">Mock</span><span class="p">(</span><span class="n">return_value</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
|
<span class="n">obj</span><span class="o">.</span><span class="n">account</span> <span class="o">=</span> <span class="n">Mock</span><span class="p">()</span>
|
|
<span class="n">obj</span><span class="o">.</span><span class="n">at_post_puppet</span> <span class="o">=</span> <span class="n">Mock</span><span class="p">()</span>
|
|
|
|
<span class="n">account</span><span class="o">.</span><span class="n">puppet_object</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="p">,</span> <span class="n">obj</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">data_out</span><span class="o">.</span><span class="n">call_args</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s2">"text"</span><span class="p">]</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span>
|
|
<span class="s2">"is already puppeted by another Account."</span>
|
|
<span class="p">)</span>
|
|
<span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertIsNone</span><span class="p">(</span><span class="n">obj</span><span class="o">.</span><span class="n">at_post_puppet</span><span class="o">.</span><span class="n">call_args</span><span class="p">)</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="TestAccountPuppetDeletion"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestAccountPuppetDeletion">[docs]</a><span class="k">class</span> <span class="nc">TestAccountPuppetDeletion</span><span class="p">(</span><span class="n">EvenniaTest</span><span class="p">):</span>
|
|
<div class="viewcode-block" id="TestAccountPuppetDeletion.test_puppet_deletion"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestAccountPuppetDeletion.test_puppet_deletion">[docs]</a> <span class="nd">@override_settings</span><span class="p">(</span><span class="n">MULTISESSION_MODE</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
|
|
<span class="k">def</span> <span class="nf">test_puppet_deletion</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="c1"># Check for existing chars</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">_playable_characters</span><span class="p">,</span> <span class="s2">"Account should not have any chars by default."</span>
|
|
<span class="p">)</span>
|
|
|
|
<span class="c1"># Add char1 to account's playable characters</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">_playable_characters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">_playable_characters</span><span class="p">,</span> <span class="s2">"Char was not added to account."</span><span class="p">)</span>
|
|
|
|
<span class="c1"># See what happens when we delete char1.</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
|
|
<span class="c1"># Playable char list should be empty.</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">_playable_characters</span><span class="p">,</span>
|
|
<span class="n">f</span><span class="s2">"Playable character list is not empty! </span><span class="si">{self.account.db._playable_characters}</span><span class="s2">"</span><span class="p">,</span>
|
|
<span class="p">)</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountEv"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountEv">[docs]</a><span class="k">class</span> <span class="nc">TestDefaultAccountEv</span><span class="p">(</span><span class="n">EvenniaTest</span><span class="p">):</span>
|
|
<span class="sd">"""</span>
|
|
<span class="sd"> Testing using the EvenniaTest parent</span>
|
|
|
|
<span class="sd"> """</span>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountEv.test_characters_property"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountEv.test_characters_property">[docs]</a> <span class="k">def</span> <span class="nf">test_characters_property</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"test existence of None in _playable_characters Attr"</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">_playable_characters</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="p">,</span> <span class="kc">None</span><span class="p">]</span>
|
|
<span class="n">chars</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">characters</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">chars</span><span class="p">,</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="p">])</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">_playable_characters</span><span class="p">,</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="p">])</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountEv.test_puppet_success"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountEv.test_puppet_success">[docs]</a> <span class="k">def</span> <span class="nf">test_puppet_success</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">msg</span> <span class="o">=</span> <span class="n">MagicMock</span><span class="p">()</span>
|
|
<span class="k">with</span> <span class="n">patch</span><span class="p">(</span><span class="s2">"evennia.accounts.accounts._MULTISESSION_MODE"</span><span class="p">,</span> <span class="mi">2</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">puppet_object</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">msg</span><span class="o">.</span><span class="n">assert_called_with</span><span class="p">(</span><span class="s2">"You are already puppeting this object."</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountEv.test_idle_time"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountEv.test_idle_time">[docs]</a> <span class="nd">@patch</span><span class="p">(</span><span class="s2">"evennia.accounts.accounts.time.time"</span><span class="p">,</span> <span class="n">return_value</span><span class="o">=</span><span class="mi">10000</span><span class="p">)</span>
|
|
<span class="k">def</span> <span class="nf">test_idle_time</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mock_time</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="o">.</span><span class="n">cmd_last_visible</span> <span class="o">=</span> <span class="mi">10000</span> <span class="o">-</span> <span class="mi">10</span>
|
|
<span class="n">idle</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">idle_time</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">idle</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span>
|
|
|
|
<span class="c1"># test no sessions</span>
|
|
<span class="k">with</span> <span class="n">patch</span><span class="p">(</span>
|
|
<span class="s2">"evennia.accounts.accounts._SESSIONS.sessions_from_account"</span><span class="p">,</span> <span class="n">return_value</span><span class="o">=</span><span class="p">[]</span>
|
|
<span class="p">)</span> <span class="k">as</span> <span class="n">mock_sessh</span><span class="p">:</span>
|
|
<span class="n">idle</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">idle_time</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">idle</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountEv.test_connection_time"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountEv.test_connection_time">[docs]</a> <span class="nd">@patch</span><span class="p">(</span><span class="s2">"evennia.accounts.accounts.time.time"</span><span class="p">,</span> <span class="n">return_value</span><span class="o">=</span><span class="mi">10000</span><span class="p">)</span>
|
|
<span class="k">def</span> <span class="nf">test_connection_time</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mock_time</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="o">.</span><span class="n">conn_time</span> <span class="o">=</span> <span class="mi">10000</span> <span class="o">-</span> <span class="mi">10</span>
|
|
<span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">connection_time</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span>
|
|
|
|
<span class="c1"># test no sessions</span>
|
|
<span class="k">with</span> <span class="n">patch</span><span class="p">(</span>
|
|
<span class="s2">"evennia.accounts.accounts._SESSIONS.sessions_from_account"</span><span class="p">,</span> <span class="n">return_value</span><span class="o">=</span><span class="p">[]</span>
|
|
<span class="p">)</span> <span class="k">as</span> <span class="n">mock_sessh</span><span class="p">:</span>
|
|
<span class="n">idle</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">connection_time</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">idle</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountEv.test_create_account"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountEv.test_create_account">[docs]</a> <span class="k">def</span> <span class="nf">test_create_account</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">acct</span> <span class="o">=</span> <span class="n">create</span><span class="o">.</span><span class="n">account</span><span class="p">(</span>
|
|
<span class="s2">"TestAccount3"</span><span class="p">,</span>
|
|
<span class="s2">"test@test.com"</span><span class="p">,</span>
|
|
<span class="s2">"testpassword123"</span><span class="p">,</span>
|
|
<span class="n">locks</span><span class="o">=</span><span class="s2">"test:all()"</span><span class="p">,</span>
|
|
<span class="n">tags</span><span class="o">=</span><span class="p">[(</span><span class="s2">"tag1"</span><span class="p">,</span> <span class="s2">"category1"</span><span class="p">),</span> <span class="p">(</span><span class="s2">"tag2"</span><span class="p">,</span> <span class="s2">"category2"</span><span class="p">,</span> <span class="s2">"data1"</span><span class="p">),</span> <span class="p">(</span><span class="s2">"tag3"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)],</span>
|
|
<span class="n">attributes</span><span class="o">=</span><span class="p">[(</span><span class="s2">"key1"</span><span class="p">,</span> <span class="s2">"value1"</span><span class="p">,</span> <span class="s2">"category1"</span><span class="p">,</span> <span class="s2">"edit:false()"</span><span class="p">,</span> <span class="kc">True</span><span class="p">),</span> <span class="p">(</span><span class="s2">"key2"</span><span class="p">,</span> <span class="s2">"value2"</span><span class="p">)],</span>
|
|
<span class="p">)</span>
|
|
<span class="n">acct</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">acct</span><span class="o">.</span><span class="n">pk</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountEv.test_at_look"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountEv.test_at_look">[docs]</a> <span class="k">def</span> <span class="nf">test_at_look</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">ret</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">at_look</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="s2">"Out-of-Character"</span> <span class="ow">in</span> <span class="n">ret</span><span class="p">)</span>
|
|
<span class="n">ret</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">at_look</span><span class="p">(</span><span class="n">target</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">obj1</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="s2">"Obj"</span> <span class="ow">in</span> <span class="n">ret</span><span class="p">)</span>
|
|
<span class="n">ret</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">at_look</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="s2">"*"</span> <span class="ow">in</span> <span class="n">ret</span><span class="p">)</span> <span class="c1"># * marks session is active in list</span>
|
|
<span class="n">ret</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">at_look</span><span class="p">(</span><span class="n">target</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">obj1</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="s2">"Obj"</span> <span class="ow">in</span> <span class="n">ret</span><span class="p">)</span>
|
|
<span class="n">ret</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">at_look</span><span class="p">(</span><span class="n">target</span><span class="o">=</span><span class="s2">"Invalid"</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="s2">"Invalid has no in-game appearance."</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestDefaultAccountEv.test_msg"><a class="viewcode-back" href="../../../api/evennia.accounts.html#evennia.accounts.tests.TestDefaultAccountEv.test_msg">[docs]</a> <span class="k">def</span> <span class="nf">test_msg</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="o">.</span><span class="n">msg</span></div></div>
|
|
</pre></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
|
<div class="sphinxsidebarwrapper">
|
|
<div id="searchbox" style="display: none" role="search">
|
|
<h3 id="searchlabel">Quick search</h3>
|
|
<div class="searchformwrapper">
|
|
<form class="search" action="../../../search.html" method="get">
|
|
<input type="text" name="q" aria-labelledby="searchlabel" />
|
|
<input type="submit" value="Go" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<script>$('#searchbox').show(0);</script><div class="relations">
|
|
<h3>Related Topics</h3>
|
|
<ul>
|
|
<li><a href="../../../index.html">Documentation overview</a><ul>
|
|
<li><a href="../../index.html">Module code</a><ul>
|
|
<li><a href="../../evennia.html">evennia</a><ul>
|
|
</ul></li>
|
|
</ul></li>
|
|
</ul></li>
|
|
</ul>
|
|
</div>
|
|
<h3>Versions</h3>
|
|
<ul>
|
|
<li><a href="../../../../../versions/1.0-dev/index.html">1.0-dev (develop branch)</a></li>
|
|
<li><a href="tests.html">0.9.1 (master branch)</a></li>
|
|
</ul>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="clearer"></div>
|
|
</div>
|
|
<div class="footer">
|
|
©2020, The Evennia developer community.
|
|
|
|
|
|
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 2.4.4</a>
|
|
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |