You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by rj...@apache.org on 2014/11/14 12:06:31 UTC
svn commit: r1639602 [2/14] - in /bloodhound/vendor/trac/current: ./
contrib/workflow/ doc/dev/ sample-plugins/ sample-plugins/permissions/
sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templates/
trac/admin/tests/ trac/db/ trac/db/tests/ trac/...
Modified: bloodhound/vendor/trac/current/trac/admin/tests/console.py
URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/admin/tests/console.py?rev=1639602&r1=1639601&r2=1639602&view=diff
==============================================================================
--- bloodhound/vendor/trac/current/trac/admin/tests/console.py (original)
+++ bloodhound/vendor/trac/current/trac/admin/tests/console.py Fri Nov 14 11:06:23 2014
@@ -14,6 +14,7 @@
# Author: Tim Moloney <t....@verizon.net>
import difflib
+import inspect
import os
import re
import sys
@@ -42,9 +43,10 @@ import trac.search.web_ui
import trac.timeline.web_ui
import trac.wiki.web_ui
-from trac.admin import console
-from trac.admin.api import AdminCommandManager, console_date_format, \
- get_console_locale
+from trac.admin.api import AdminCommandManager, IAdminCommandProvider, \
+ console_date_format, get_console_locale
+from trac.admin.console import TracAdmin, TracAdminHelpMacro
+from trac.core import Component, implements
from trac.test import EnvironmentStub
from trac.util.datefmt import format_date, get_date_format_hint, \
get_datetime_format_hint
@@ -75,20 +77,50 @@ def load_expected_results(file, pattern)
return expected
+def execute_cmd(tracadmin, cmd, strip_trailing_space=True, input=None):
+ _in = sys.stdin
+ _err = sys.stderr
+ _out = sys.stdout
+ try:
+ if input:
+ sys.stdin = StringIO(input.encode('utf-8'))
+ sys.stdin.encoding = 'utf-8' # fake input encoding
+ sys.stderr = sys.stdout = out = StringIO()
+ out.encoding = 'utf-8' # fake output encoding
+ retval = None
+ try:
+ retval = tracadmin.onecmd(cmd)
+ except SystemExit:
+ pass
+ value = out.getvalue()
+ if isinstance(value, str): # reverse what print_listing did
+ value = value.decode('utf-8')
+ if strip_trailing_space:
+ return retval, STRIP_TRAILING_SPACE.sub('', value)
+ else:
+ return retval, value
+ finally:
+ sys.stdin = _in
+ sys.stderr = _err
+ sys.stdout = _out
+
+
class TracadminTestCase(unittest.TestCase):
"""
Tests the output of trac-admin and is meant to be used with
.../trac/tests.py.
"""
- expected_results = load_expected_results(
- os.path.join(os.path.split(__file__)[0], 'console-tests.txt'),
- '===== (test_[^ ]+) =====')
+ expected_results_file = os.path.join(os.path.dirname(__file__),
+ 'console-tests.txt')
+
+ expected_results = load_expected_results(expected_results_file,
+ '===== (test_[^ ]+) =====')
def setUp(self):
self.env = EnvironmentStub(default_data=True, enable=('trac.*',),
disable=('trac.tests.*',))
- self._admin = console.TracAdmin()
+ self._admin = TracAdmin()
self._admin.env_set('', self.env)
# Set test date to 11th Jan 2004
@@ -98,34 +130,9 @@ class TracadminTestCase(unittest.TestCas
self.env = None
def _execute(self, cmd, strip_trailing_space=True, input=None):
- _in = sys.stdin
- _err = sys.stderr
- _out = sys.stdout
- try:
- if input:
- sys.stdin = StringIO(input.encode('utf-8'))
- sys.stdin.encoding = 'utf-8' # fake input encoding
- sys.stderr = sys.stdout = out = StringIO()
- out.encoding = 'utf-8' # fake output encoding
- retval = None
- try:
- retval = self._admin.onecmd(cmd)
- except SystemExit:
- pass
- value = out.getvalue()
- if isinstance(value, str): # reverse what print_listing did
- value = value.decode('utf-8')
- # DEBUG: uncomment in case of `AssertionError: 0 != 2` in tests
- #if retval != 0:
- # print>>_err, value
- if strip_trailing_space:
- return retval, STRIP_TRAILING_SPACE.sub('', value)
- else:
- return retval, value
- finally:
- sys.stdin = _in
- sys.stderr = _err
- sys.stdout = _out
+ return execute_cmd(self._admin, cmd,
+ strip_trailing_space=strip_trailing_space,
+ input=input)
@property
def _datetime_format_hint(self):
@@ -136,10 +143,19 @@ class TracadminTestCase(unittest.TestCas
self.assertEqual(1, len(docs))
return docs[0][2]
- def assertEqual(self, expected_results, output):
+ def assertExpectedResult(self, output, args=None):
+ test_name = inspect.stack()[1][3]
+ expected_result = self.expected_results[test_name]
+ if args is not None:
+ expected_result %= args
+ self.assertEqual(expected_result, output)
+
+ def assertEqual(self, expected_results, output, msg=None):
+ """:deprecated: since 1.0.2, use `assertExpectedResult` instead."""
if not (isinstance(expected_results, basestring) and
isinstance(output, basestring)):
- return unittest.TestCase.assertEqual(self, expected_results, output)
+ return unittest.TestCase.assertEqual(self, expected_results,
+ output, msg)
def diff():
# Create a useful delta between the output and the expected output
output_lines = ['%s\n' % x for x in output.split('\n')]
@@ -166,13 +182,14 @@ class TracadminTestCase(unittest.TestCas
"""
from trac import __version__
- test_name = sys._getframe().f_code.co_name
- d = {'version': __version__,
- 'date_format_hint': get_date_format_hint()}
- expected_results = self.expected_results[test_name] % d
rv, output = self._execute('help')
- self.assertEqual(0, rv)
- self.assertEqual(expected_results, output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output, {
+ 'version': __version__,
+ 'date_format_hint': get_date_format_hint()
+ })
+ self.assertTrue(all(len(line) < 80 for line in output.split('\n')),
+ "Lines should be less than 80 characters in length.")
# Locale test
@@ -240,19 +257,17 @@ class TracadminTestCase(unittest.TestCas
# commands. This requires being able to control the current
# time, which in turn would require centralizing the time
# provider, for example in the environment object.
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('attachment list wiki:WikiStart')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_attachment_add_nonexistent_resource(self):
"""Tests the 'attachment add' command in trac-admin, on a non-existent
resource."""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('attachment add wiki:NonExistentPage %s'
% __file__)
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
# Config tests
@@ -261,21 +276,19 @@ class TracadminTestCase(unittest.TestCas
Tests the 'config get' command in trac-admin. This particular
test gets the project name from the config.
"""
- test_name = sys._getframe().f_code.co_name
self.env.config.set('project', 'name', 'Test project')
rv, output = self._execute('config get project name')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_config_set(self):
"""
Tests the 'config set' command in trac-admin. This particular
test sets the project name using an option value containing a space.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('config set project name "Test project"')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
self.assertEqual('Test project',
self.env.config.get('project', 'name'))
@@ -285,11 +298,10 @@ class TracadminTestCase(unittest.TestCas
test removes the project name from the config, therefore reverting
the option to the default value.
"""
- test_name = sys._getframe().f_code.co_name
self.env.config.set('project', 'name', 'Test project')
rv, output = self._execute('config remove project name')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
self.assertEqual('My Project', self.env.config.get('project', 'name'))
# Permission tests
@@ -300,10 +312,9 @@ class TracadminTestCase(unittest.TestCas
has no command arguments, it is hard to call it incorrectly. As
a result, there is only this one test.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('permission list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_permission_add_one_action_ok(self):
"""
@@ -311,11 +322,10 @@ class TracadminTestCase(unittest.TestCas
test passes valid arguments to add one permission and checks for
success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('permission add test_user WIKI_VIEW')
rv, output = self._execute('permission list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_permission_add_multiple_actions_ok(self):
"""
@@ -323,11 +333,10 @@ class TracadminTestCase(unittest.TestCas
test passes valid arguments to add multiple permissions and checks for
success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('permission add test_user LOG_VIEW FILE_VIEW')
rv, output = self._execute('permission list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_permission_add_already_exists(self):
"""
@@ -335,13 +344,12 @@ class TracadminTestCase(unittest.TestCas
test passes a permission that already exists and checks for the
message. Other permissions passed are added.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('permission add anonymous WIKI_CREATE '
'WIKI_VIEW WIKI_MODIFY')
- self.assertEqual(0, rv)
+ self.assertEqual(0, rv, output)
rv, output2 = self._execute('permission list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output + output2)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output + output2)
def test_permission_remove_one_action_ok(self):
"""
@@ -349,11 +357,10 @@ class TracadminTestCase(unittest.TestCas
test passes valid arguments to remove one permission and checks for
success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('permission remove anonymous TICKET_MODIFY')
rv, output = self._execute('permission list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_permission_remove_multiple_actions_ok(self):
"""
@@ -361,44 +368,40 @@ class TracadminTestCase(unittest.TestCas
test passes valid arguments to remove multiple permission and checks
for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('permission remove anonymous WIKI_CREATE WIKI_MODIFY')
rv, output = self._execute('permission list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_permission_remove_all_actions_for_user(self):
"""
Tests the 'permission remove' command in trac-admin. This particular
test removes all permissions for anonymous.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('permission remove anonymous *')
rv, output = self._execute('permission list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_permission_remove_action_for_all_users(self):
"""
Tests the 'permission remove' command in trac-admin. This particular
test removes the TICKET_CREATE permission from all users.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('permission add anonymous TICKET_CREATE')
self._execute('permission remove * TICKET_CREATE')
rv, output = self._execute('permission list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_permission_remove_unknown_user(self):
"""
Tests the 'permission remove' command in trac-admin. This particular
test tries removing a permission from an unknown user.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('permission remove joe TICKET_VIEW')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_permission_remove_action_not_granted(self):
"""
@@ -406,49 +409,45 @@ class TracadminTestCase(unittest.TestCas
test tries removing TICKET_CREATE from user anonymous, who doesn't
have that permission.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('permission remove anonymous TICKET_CREATE')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_permission_remove_action_granted_through_meta_permission(self):
"""
Tests the 'permission remove' command in trac-admin. This particular
test tries removing WIKI_VIEW from a user. WIKI_VIEW has been granted
through user anonymous."""
- test_name = sys._getframe().f_code.co_name
self._execute('permission add joe TICKET_VIEW')
rv, output = self._execute('permission remove joe WIKI_VIEW')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_permission_export_ok(self):
"""
Tests the 'permission export' command in trac-admin. This particular
test exports the default permissions to stdout.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('permission export')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_permission_import_ok(self):
"""
Tests the 'permission import' command in trac-admin. This particular
test exports additional permissions, removes them and imports them back.
"""
- test_name = sys._getframe().f_code.co_name
user = u'test_user\u0250'
self._execute('permission add ' + user + ' WIKI_VIEW')
self._execute('permission add ' + user + ' TICKET_VIEW')
rv, output = self._execute('permission export')
self._execute('permission remove ' + user + ' *')
rv, output = self._execute('permission import', input=output)
- self.assertEqual(0, rv)
+ self.assertEqual(0, rv, output)
self.assertEqual('', output)
rv, output = self._execute('permission list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
# Component tests
@@ -458,21 +457,19 @@ class TracadminTestCase(unittest.TestCas
has no command arguments, it is hard to call it incorrectly. As
a result, there is only this one test.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('component list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_component_add_ok(self):
"""
Tests the 'component add' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('component add new_component')
rv, output = self._execute('component list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_component_add_optional_owner_ok(self):
"""
@@ -480,11 +477,10 @@ class TracadminTestCase(unittest.TestCas
'owner' argument. This particular test passes valid arguments and
checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('component add new_component new_user')
rv, output = self._execute('component list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_component_add_error_already_exists(self):
"""
@@ -492,52 +488,47 @@ class TracadminTestCase(unittest.TestCas
test passes a component name that already exists and checks for an
error message.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('component add component1 new_user')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_component_rename_ok(self):
"""
Tests the 'component rename' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('component rename component1 changed_name')
rv, output = self._execute('component list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_component_rename_error_bad_component(self):
"""
Tests the 'component rename' command in trac-admin. This particular
test tries to rename a component that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('component rename bad_component changed_name')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_component_rename_error_bad_new_name(self):
"""
Tests the 'component rename' command in trac-admin. This particular
test tries to rename a component to a name that already exists.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('component rename component1 component2')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_component_chown_ok(self):
"""
Tests the 'component chown' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('component chown component2 changed_owner')
rv, output = self._execute('component list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_component_chown_error_bad_component(self):
"""
@@ -545,34 +536,28 @@ class TracadminTestCase(unittest.TestCas
test tries to change the owner of a component that does not
exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('component chown bad_component changed_owner')
- self.assertEqual(2, rv)
- # We currently trigger a deprecation warning with py26 so we
- # can currently only verify that the end of the output string is
- # correct
- self.assertEqual(output.endswith(self.expected_results[test_name]), True)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_component_remove_ok(self):
"""
Tests the 'component remove' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('component remove component1')
rv, output = self._execute('component list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_component_remove_error_bad_component(self):
"""
Tests the 'component remove' command in trac-admin. This particular
test tries to remove a component that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('component remove bad_component')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
# Ticket-type tests
@@ -582,21 +567,19 @@ class TracadminTestCase(unittest.TestCas
has no command arguments, it is hard to call it incorrectly. As
a result, there is only this one test.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('ticket_type list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_ticket_type_add_ok(self):
"""
Tests the 'ticket_type add' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('ticket_type add new_type')
rv, output = self._execute('ticket_type list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_ticket_type_add_error_already_exists(self):
"""
@@ -604,94 +587,85 @@ class TracadminTestCase(unittest.TestCas
test passes a ticket type that already exists and checks for an error
message.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('ticket_type add defect')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_ticket_type_change_ok(self):
"""
Tests the 'ticket_type change' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('ticket_type change defect bug')
rv, output = self._execute('ticket_type list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_ticket_type_change_error_bad_type(self):
"""
Tests the 'ticket_type change' command in trac-admin. This particular
test tries to change a priority that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('ticket_type change bad_type changed_type')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_ticket_type_change_error_bad_new_name(self):
"""
Tests the 'ticket_type change' command in trac-admin. This particular
test tries to change a ticket type to another type that already exists.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('ticket_type change defect task')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_ticket_type_remove_ok(self):
"""
Tests the 'ticket_type remove' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('ticket_type remove task')
rv, output = self._execute('ticket_type list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_ticket_type_remove_error_bad_type(self):
"""
Tests the 'ticket_type remove' command in trac-admin. This particular
test tries to remove a ticket type that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('ticket_type remove bad_type')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_ticket_type_order_down_ok(self):
"""
Tests the 'ticket_type order' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('ticket_type order defect down')
rv, output = self._execute('ticket_type list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_ticket_type_order_up_ok(self):
"""
Tests the 'ticket_type order' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('ticket_type order enhancement up')
rv, output = self._execute('ticket_type list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_ticket_type_order_error_bad_type(self):
"""
Tests the 'priority order' command in trac-admin. This particular
test tries to reorder a priority that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('ticket_type order bad_type up')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
# Priority tests
@@ -701,33 +675,30 @@ class TracadminTestCase(unittest.TestCas
has no command arguments, it is hard to call it incorrectly. As
a result, there is only this one test.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('priority list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_priority_add_ok(self):
"""
Tests the 'priority add' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('priority add new_priority')
rv, output = self._execute('priority list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_priority_add_many_ok(self):
"""
Tests adding more than 10 priority values. This makes sure that
ordering is preserved when adding more than 10 values.
"""
- test_name = sys._getframe().f_code.co_name
for i in xrange(11):
self._execute('priority add p%s' % i)
rv, output = self._execute('priority list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_priority_add_error_already_exists(self):
"""
@@ -735,94 +706,85 @@ class TracadminTestCase(unittest.TestCas
test passes a priority name that already exists and checks for an
error message.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('priority add blocker')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_priority_change_ok(self):
"""
Tests the 'priority change' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('priority change major normal')
rv, output = self._execute('priority list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_priority_change_error_bad_priority(self):
"""
Tests the 'priority change' command in trac-admin. This particular
test tries to change a priority that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('priority change bad_priority changed_name')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_priority_change_error_bad_new_name(self):
"""
Tests the 'priority change' command in trac-admin. This particular
test tries to change a priority to a name that already exists.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('priority change major minor')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_priority_remove_ok(self):
"""
Tests the 'priority remove' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('priority remove major')
rv, output = self._execute('priority list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_priority_remove_error_bad_priority(self):
"""
Tests the 'priority remove' command in trac-admin. This particular
test tries to remove a priority that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('priority remove bad_priority')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_priority_order_down_ok(self):
"""
Tests the 'priority order' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('priority order blocker down')
rv, output = self._execute('priority list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_priority_order_up_ok(self):
"""
Tests the 'priority order' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('priority order critical up')
rv, output = self._execute('priority list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_priority_order_error_bad_priority(self):
"""
Tests the 'priority order' command in trac-admin. This particular
test tries to reorder a priority that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('priority remove bad_priority')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
# Severity tests
@@ -832,21 +794,19 @@ class TracadminTestCase(unittest.TestCas
has no command arguments, it is hard to call it incorrectly. As
a result, there is only this one test.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('severity list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_severity_add_ok(self):
"""
Tests the 'severity add' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('severity add new_severity')
rv, output = self._execute('severity list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_severity_add_error_already_exists(self):
"""
@@ -854,102 +814,93 @@ class TracadminTestCase(unittest.TestCas
test passes a severity name that already exists and checks for an
error message.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('severity add blocker')
rv, output = self._execute('severity add blocker')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_severity_change_ok(self):
"""
Tests the 'severity add' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('severity add critical')
self._execute('severity change critical "end-of-the-world"')
rv, output = self._execute('severity list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_severity_change_error_bad_severity(self):
"""
Tests the 'severity change' command in trac-admin. This particular
test tries to change a severity that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('severity change bad_severity changed_name')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_severity_change_error_bad_new_name(self):
"""
Tests the 'severity change' command in trac-admin. This particular
test tries to change a severity to a name that already exists.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('severity add major')
self._execute('severity add critical')
rv, output = self._execute('severity change critical major')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_severity_remove_ok(self):
"""
Tests the 'severity add' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('severity remove trivial')
rv, output = self._execute('severity list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_severity_remove_error_bad_severity(self):
"""
Tests the 'severity remove' command in trac-admin. This particular
test tries to remove a severity that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('severity remove bad_severity')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_severity_order_down_ok(self):
"""
Tests the 'severity order' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('severity add foo')
self._execute('severity add bar')
self._execute('severity order foo down')
rv, output = self._execute('severity list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_severity_order_up_ok(self):
"""
Tests the 'severity order' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('severity add foo')
self._execute('severity add bar')
self._execute('severity order bar up')
rv, output = self._execute('severity list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_severity_order_error_bad_severity(self):
"""
Tests the 'severity order' command in trac-admin. This particular
test tries to reorder a priority that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('severity remove bad_severity')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
# Version tests
@@ -959,21 +910,19 @@ class TracadminTestCase(unittest.TestCas
has no command arguments, it is hard to call it incorrectly. As
a result, there is only this one test.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('version list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_version_add_ok(self):
"""
Tests the 'version add' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('version add 9.9 "%s"' % self._test_date)
rv, output = self._execute('version list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_version_add_error_already_exists(self):
"""
@@ -981,86 +930,78 @@ class TracadminTestCase(unittest.TestCas
test passes a version name that already exists and checks for an
error message.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('version add 1.0 "%s"' % self._test_date)
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_version_rename_ok(self):
"""
Tests the 'version rename' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('version rename 1.0 9.9')
rv, output = self._execute('version list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_version_rename_error_bad_version(self):
"""
Tests the 'version rename' command in trac-admin. This particular
test tries to rename a version that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('version rename bad_version changed_name')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_version_time_ok(self):
"""
Tests the 'version time' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('version time 2.0 "%s"' % self._test_date)
rv, output = self._execute('version list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_version_time_unset_ok(self):
"""
Tests the 'version time' command in trac-admin. This particular
test passes valid arguments for unsetting the date.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('version time 2.0 "%s"' % self._test_date)
self._execute('version time 2.0 ""')
rv, output = self._execute('version list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_version_time_error_bad_version(self):
"""
Tests the 'version time' command in trac-admin. This particular
test tries to change the time on a version that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('version time bad_version "%s"'
% self._test_date)
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_version_remove_ok(self):
"""
Tests the 'version remove' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('version remove 1.0')
rv, output = self._execute('version list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_version_remove_error_bad_version(self):
"""
Tests the 'version remove' command in trac-admin. This particular
test tries to remove a version that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('version remove bad_version')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
# Milestone tests
@@ -1070,33 +1011,30 @@ class TracadminTestCase(unittest.TestCas
has no command arguments, it is hard to call it incorrectly. As
a result, there is only this one test.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('milestone list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_milestone_add_ok(self):
"""
Tests the 'milestone add' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('milestone add new_milestone "%s"' % self._test_date)
rv, output = self._execute('milestone list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_milestone_add_utf8_ok(self):
"""
Tests the 'milestone add' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute(u'milestone add \xa9tat_final "%s"' #\xc2\xa9
% self._test_date)
rv, output = self._execute('milestone list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_milestone_add_error_already_exists(self):
"""
@@ -1104,96 +1042,86 @@ class TracadminTestCase(unittest.TestCas
test passes a milestone name that already exists and checks for an
error message.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('milestone add milestone1 "%s"'
% self._test_date)
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_milestone_add_invalid_date(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('milestone add new_milestone <add>')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name] %
- {'hint': self._datetime_format_hint,
- 'isohint': get_datetime_format_hint('iso8601')},
- output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output, {
+ 'hint': self._datetime_format_hint,
+ 'isohint': get_datetime_format_hint('iso8601')
+ })
def test_milestone_rename_ok(self):
"""
Tests the 'milestone rename' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('milestone rename milestone1 changed_milestone')
rv, output = self._execute('milestone list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_milestone_rename_error_bad_milestone(self):
"""
Tests the 'milestone rename' command in trac-admin. This particular
test tries to rename a milestone that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('milestone rename bad_milestone changed_name')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_milestone_due_ok(self):
"""
Tests the 'milestone due' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('milestone due milestone2 "%s"' % self._test_date)
rv, output = self._execute('milestone list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_milestone_due_unset_ok(self):
"""
Tests the 'milestone due' command in trac-admin. This particular
test passes valid arguments for unsetting the due date.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('milestone due milestone2 "%s"' % self._test_date)
self._execute('milestone due milestone2 ""')
rv, output = self._execute('milestone list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_milestone_due_error_bad_milestone(self):
"""
Tests the 'milestone due' command in trac-admin. This particular
test tries to change the due date on a milestone that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('milestone due bad_milestone "%s"'
% self._test_date)
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_milestone_due_invalid_date(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('milestone due milestone1 <due>')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name] %
- {'hint': self._datetime_format_hint,
- 'isohint': get_datetime_format_hint('iso8601')},
- output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output, {
+ 'hint': self._datetime_format_hint,
+ 'isohint': get_datetime_format_hint('iso8601')
+ })
def test_milestone_completed_ok(self):
"""
Tests the 'milestone completed' command in trac-admin. This particular
test passes valid arguments and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
-
self._execute('milestone completed milestone2 "%s"' % self._test_date)
rv, output = self._execute('milestone list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_milestone_completed_error_bad_milestone(self):
"""
@@ -1201,230 +1129,201 @@ class TracadminTestCase(unittest.TestCas
test tries to change the completed date on a milestone that does not
exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('milestone completed bad_milestone "%s"'
% self._test_date)
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_milestone_completed_invalid_date(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('milestone completed milestone1 <com>')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name] %
- {'hint': self._datetime_format_hint,
- 'isohint': get_datetime_format_hint('iso8601')},
- output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output, {
+ 'hint': self._datetime_format_hint,
+ 'isohint': get_datetime_format_hint('iso8601')
+ })
def test_milestone_remove_ok(self):
"""
Tests the 'milestone remove' command in trac-admin. This particular
test passes a valid argument and checks for success.
"""
- test_name = sys._getframe().f_code.co_name
self._execute('milestone remove milestone3')
rv, output = self._execute('milestone list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_milestone_remove_error_bad_milestone(self):
"""
Tests the 'milestone remove' command in trac-admin. This particular
test tries to remove a milestone that does not exist.
"""
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('milestone remove bad_milestone')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_backslash_use_ok(self):
- test_name = sys._getframe().f_code.co_name
if self._admin.interactive:
self._execute('version add \\')
else:
self._execute(r"version add '\'")
rv, output = self._execute('version list')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_session_list_no_sessions(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('session list authenticated')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_session_list_authenticated(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env)
rv, output = self._execute('session list authenticated')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_session_list_anonymous(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env)
rv, output = self._execute('session list anonymous')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_session_list_all(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env)
if self._admin.interactive:
rv, output = self._execute("session list *")
else:
rv, output = self._execute("session list '*'")
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_session_list_authenticated_sid(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env)
rv, output = self._execute('session list name00')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_session_list_anonymous_sid(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env)
rv, output = self._execute('session list name10:0')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_session_list_missing_sid(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env)
rv, output = self._execute('session list thisdoesntexist')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_session_add_missing_sid(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('session add')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_session_add_duplicate_sid(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env)
rv, output = self._execute('session add name00')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_session_add_sid_all(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('session add john John john@example.org')
- self.assertEqual(0, rv)
+ self.assertEqual(0, rv, output)
rv, output = self._execute('session list john')
- self.assertEqual(self.expected_results[test_name]
- % {'today': format_date(None, console_date_format)},
- output)
+ self.assertExpectedResult(output, {
+ 'today': format_date(None, console_date_format)
+ })
def test_session_add_sid(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('session add john')
- self.assertEqual(0, rv)
+ self.assertEqual(0, rv, output)
rv, output = self._execute('session list john')
- self.assertEqual(self.expected_results[test_name]
- % {'today': format_date(None, console_date_format)},
- output)
+ self.assertExpectedResult(output, {
+ 'today': format_date(None, console_date_format)
+ })
def test_session_add_sid_name(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('session add john John')
- self.assertEqual(0, rv)
+ self.assertEqual(0, rv, output)
rv, output = self._execute('session list john')
- self.assertEqual(self.expected_results[test_name]
- % {'today': format_date(None, console_date_format)},
- output)
+ self.assertExpectedResult(output, {
+ 'today': format_date(None, console_date_format)
+ })
def test_session_set_attr_name(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env)
rv, output = self._execute('session set name name00 JOHN')
- self.assertEqual(0, rv)
+ self.assertEqual(0, rv, output)
rv, output = self._execute('session list name00')
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertExpectedResult(output)
def test_session_set_attr_email(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env)
rv, output = self._execute('session set email name00 JOHN@EXAMPLE.ORG')
- self.assertEqual(0, rv)
+ self.assertEqual(0, rv, output)
rv, output = self._execute('session list name00')
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertExpectedResult(output)
def test_session_set_attr_missing_attr(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('session set')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_session_set_attr_missing_value(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('session set name john')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_session_set_attr_missing_sid(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('session set name')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_session_set_attr_nonexistent_sid(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('session set name john foo')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output)
def test_session_delete_sid(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env)
rv, output = self._execute('session delete name00')
- self.assertEqual(0, rv)
+ self.assertEqual(0, rv, output)
rv, output = self._execute('session list nam00')
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertExpectedResult(output)
def test_session_delete_missing_params(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('session delete')
- self.assertEqual(0, rv)
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertEqual(0, rv, output)
+ self.assertExpectedResult(output)
def test_session_delete_anonymous(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env)
rv, output = self._execute('session delete anonymous')
- self.assertEqual(0, rv)
+ self.assertEqual(0, rv, output)
rv, output = self._execute('session list *')
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertExpectedResult(output)
def test_session_delete_multiple_sids(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env)
rv, output = self._execute('session delete name00 name01 name02 '
'name03')
- self.assertEqual(0, rv)
+ self.assertEqual(0, rv, output)
rv, output = self._execute('session list *')
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertExpectedResult(output)
def test_session_purge_age(self):
- test_name = sys._getframe().f_code.co_name
_prep_session_table(self.env, spread_visits=True)
rv, output = self._execute('session purge 20100112')
- self.assertEqual(0, rv)
+ self.assertEqual(0, rv, output)
rv, output = self._execute('session list *')
- self.assertEqual(self.expected_results[test_name], output)
+ self.assertExpectedResult(output)
def test_session_purge_invalid_date(self):
- test_name = sys._getframe().f_code.co_name
rv, output = self._execute('session purge <purge>')
- self.assertEqual(2, rv)
- self.assertEqual(self.expected_results[test_name] %
- {'hint': self._datetime_format_hint,
- 'isohint': get_datetime_format_hint('iso8601')},
- output)
+ self.assertEqual(2, rv, output)
+ self.assertExpectedResult(output, {
+ 'hint': self._datetime_format_hint,
+ 'isohint': get_datetime_format_hint('iso8601')
+ })
def test_help_milestone_due(self):
doc = self._get_command_help('milestone', 'due')
@@ -1446,8 +1345,66 @@ class TracadminTestCase(unittest.TestCas
self.assertIn(u'"YYYY-MM-DDThh:mm:ss±hh:mm"', doc)
+class TracadminNoEnvTestCase(unittest.TestCase):
+
+ def setUp(self):
+ self._admin = TracAdmin()
+
+ def tearDown(self):
+ self._admin = None
+
+ def _execute(self, cmd, strip_trailing_space=True, input=None):
+ return execute_cmd(self._admin, cmd,
+ strip_trailing_space=strip_trailing_space,
+ input=input)
+
+ def test_help(self):
+ rv, output = self._execute('help')
+ output = output.splitlines()
+ self.assertEqual('', output[-3])
+ self.assertEqual('help Show documentation', output[-2])
+ self.assertEqual('initenv Create and initialize a new environment',
+ output[-1])
+
+ def test_help_with_nocmd(self):
+ rv, output = self._execute('help nocmd')
+ output = output.splitlines()
+ self.assertEqual(["No documentation found for 'nocmd'. Use 'help' to "
+ "see the list of commands."],
+ output)
+
+
+class TracAdminHelpMacroTestCase(unittest.TestCase):
+
+ def setUp(self):
+ self.env = EnvironmentStub(enable=['%s.UnicodeHelpCommand' %
+ self.__module__])
+
+ def tearDown(self):
+ self.env.reset_db()
+
+ def test_unicode_help(self):
+ unicode_help = u'Hélp text with unicöde charà cters'
+
+ class UnicodeHelpCommand(Component):
+ implements(IAdminCommandProvider)
+ def get_admin_commands(self):
+ yield ('unicode-help', '', unicode_help,
+ None, self._cmd)
+ def _cmd(self):
+ pass
+
+ macro = TracAdminHelpMacro(self.env)
+ help = unicode(macro.expand_macro(None, None, 'unicode-help'))
+ self.assertTrue(unicode_help in help)
+
+
def suite():
- return unittest.makeSuite(TracadminTestCase)
+ suite = unittest.TestSuite()
+ suite.addTest(unittest.makeSuite(TracadminTestCase))
+ suite.addTest(unittest.makeSuite(TracadminNoEnvTestCase))
+ suite.addTest(unittest.makeSuite(TracAdminHelpMacroTestCase))
+ return suite
if __name__ == '__main__':
Modified: bloodhound/vendor/trac/current/trac/admin/tests/functional.py
URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/admin/tests/functional.py?rev=1639602&r1=1639601&r2=1639602&view=diff
==============================================================================
--- bloodhound/vendor/trac/current/trac/admin/tests/functional.py (original)
+++ bloodhound/vendor/trac/current/trac/admin/tests/functional.py Fri Nov 14 11:06:23 2014
@@ -13,7 +13,7 @@
# history and logs, available at http://trac.edgewall.org/log/.
from trac.tests.functional import *
-from trac.util.text import unicode_to_base64, unicode_from_base64
+from trac.util.text import unicode_to_base64
class AuthorizationTestCaseSetup(FunctionalTwillTestCaseSetup):
@@ -159,6 +159,30 @@ class TestAddUserToGroup(FunctionalTwill
somegroup = unicode_to_base64('somegroup')
tc.find('%s:%s' % (authenticated, somegroup))
+ revoke_checkbox = '%s:%s' % (unicode_to_base64('anonymous'),
+ unicode_to_base64('PERMISSION_GRANT'))
+ tc.formvalue('addperm', 'gp_subject', 'anonymous')
+ tc.formvalue('addperm', 'action', 'PERMISSION_GRANT')
+ tc.submit()
+ tc.find(revoke_checkbox)
+ self._testenv.get_trac_environment().config.touch()
+ self._tester.logout()
+ self._tester.go_to_admin("Permissions")
+ try:
+ tc.formvalue('addsubj', 'sg_subject', 'someuser')
+ tc.formvalue('addsubj', 'sg_group', 'authenticated')
+ tc.submit()
+ tc.find("The subject someuser was not added to the "
+ "group authenticated because the group has "
+ "TICKET_CHGPROP permission and users cannot "
+ "grant permissions they don't possess.")
+ finally:
+ self._tester.login('admin')
+ self._tester.go_to_admin("Permissions")
+ tc.formvalue('revokeform', 'sel', revoke_checkbox)
+ tc.submit()
+ tc.notfind(revoke_checkbox)
+
class TestRemoveUserFromGroup(FunctionalTwillTestCaseSetup):
def runTest(self):
@@ -209,14 +233,17 @@ class RegressionTestTicket10752(Function
are no longer defined.
"""
env = self._testenv.get_trac_environment()
- env.db_transaction("INSERT INTO permission VALUES (%s,%s)",
- ('anonymous', 'MISSING_PERMISSION'))
+ try:
+ env.db_transaction("INSERT INTO permission VALUES (%s,%s)",
+ ('anonymous', 'NOTDEFINED_PERMISSION'))
+ except env.db_exc.IntegrityError:
+ pass
env.config.touch()
self._tester.go_to_admin("Permissions")
tc.find('<span class="missing" '
- 'title="MISSING_PERMISSION is no longer defined">'
- 'MISSING_PERMISSION</span>')
+ 'title="NOTDEFINED_PERMISSION is no longer defined">'
+ 'NOTDEFINED_PERMISSION</span>')
class RegressionTestTicket11069(FunctionalTwillTestCaseSetup):