Here are the examples of the python api trac.test.Mock taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
62 Examples
3
Example 1
Project: bloodhound Source File: auth.py
def test_already_logged_in_different_user(self):
self.env.db_transaction("""
INSERT INTO auth_cookie (cookie, name, ipnr)
VALUES ('123', 'john', '127.0.0.1')""")
incookie = Cookie()
incookie['trac_auth'] = '123'
req = Mock(incookie=incookie, authname='john',
href=Href('/trac.cgi'), base_path='/trac.cgi',
remote_addr='127.0.0.1', remote_user='tom')
self.assertRaises(AssertionError, self.module._do_login, req)
3
Example 2
Project: bloodhound Source File: session.py
def test_add_anonymous_session_var(self):
"""
Verify that new variables are inserted into the 'session' table in the
database for an anonymous session.
"""
incookie = Cookie()
incookie['trac_session'] = '123456'
req = Mock(authname='anonymous', base_path='/', incookie=incookie,
outcookie=Cookie())
session = Session(self.env, req)
session['foo'] = 'bar'
session.save()
self.assertEqual('bar', self.env.db_query(
"SELECT value FROM session_attribute WHERE sid='123456'")[0][0])
3
Example 3
Project: bloodhound Source File: session.py
def test_authenticated_session(self):
"""
Verifies that a session cookie does not get used if the user is logged
in, and that Trac expires the cookie.
"""
incookie = Cookie()
incookie['trac_session'] = '123456'
outcookie = Cookie()
req = Mock(authname='john', base_path='/', incookie=incookie,
outcookie=outcookie)
session = Session(self.env, req)
self.assertEqual('john', session.sid)
session['foo'] = 'bar'
session.save()
self.assertEquals(0, outcookie['trac_session']['expires'])
3
Example 4
Project: bloodhound Source File: auth.py
def test_known_cookie_ip_check_disabled(self):
self.env.config.set('trac', 'check_auth_ip', 'no')
self.env.db_transaction("""
INSERT INTO auth_cookie (cookie, name, ipnr)
VALUES ('123', 'john', '127.0.0.1')""")
incookie = Cookie()
incookie['trac_auth'] = '123'
outcookie = Cookie()
req = Mock(incookie=incookie, outcookie=outcookie,
href=Href('/trac.cgi'), base_path='/trac.cgi',
remote_addr='192.168.0.100', remote_user=None)
self.assertEqual('john', self.module.authenticate(req))
self.failIf('auth_cookie' in req.outcookie)
3
Example 5
Project: bloodhound Source File: patch.py
def setUp(self):
env = EnvironmentStub(enable=[Chrome, PatchRenderer])
req = Mock(base_path='', chrome={}, args={}, session={},
abs_href=Href('/'), href=Href('/'), locale='',
perm=MockPerm(), authname=None, tz=None)
self.context = web_context(req)
self.patch = Mimeview(env).renderers[0]
patch_html = open(os.path.join(os.path.split(__file__)[0],
'patch.html'))
self.patch_html = Stream(list(HTMLParser(patch_html, encoding='utf-8')))
3
Example 6
def test_csv_escape(self):
query = Mock(get_columns=lambda: ['col1'],
execute=lambda r: [{'id': 1,
'col1': 'value, needs escaped'}],
time_fields=['time', 'changetime'])
content, mimetype = QueryModule(self.env).export_csv(
Mock(href=self.env.href, perm=MockPerm()),
query)
self.assertEqual('\xef\xbb\xbfcol1\r\n"value, needs escaped"\r\n',
content)
3
Example 7
Project: bloodhound Source File: session.py
def test_anonymous_session(self):
"""
Verify that session variables are stored in the database.
"""
incookie = Cookie()
incookie['trac_session'] = '123456'
outcookie = Cookie()
req = Mock(authname='anonymous', base_path='/', incookie=incookie,
outcookie=outcookie)
session = Session(self.env, req)
self.assertEquals('123456', session.sid)
self.failIf(outcookie.has_key('trac_session'))
3
Example 8
Project: bloodhound Source File: api.py
def test_explicit_in_implicit_success(self):
db = Connection()
env = Mock(components={
DatabaseManager: Mock(get_connection=lambda: db)})
dbs = [None, None]
@with_transaction(env)
def level0(db):
dbs[0] = db
@with_transaction(env, db)
def level1(db):
dbs[1] = db
self.assertTrue(not db.committed and not db.rolledback)
self.assertTrue(not db.committed and not db.rolledback)
self.assertTrue(dbs[0] is not None)
self.assertTrue(dbs[0] is dbs[1])
self.assertTrue(dbs[0].committed and not dbs[0].rolledback)
3
Example 9
Project: bloodhound Source File: session.py
def test_delete_authenticated_session_var(self):
"""
Verify that deleting a variable updates the 'session' table accordingly
for an authenticated session.
"""
with self.env.db_transaction as db:
db("INSERT INTO session VALUES ('john', 1, 0)")
db("INSERT INTO session_attribute VALUES ('john', 1, 'foo', 'bar')")
req = Mock(authname='john', base_path='/', incookie=Cookie())
session = Session(self.env, req)
self.assertEqual('bar', session['foo'])
del session['foo']
session.save()
self.assertEqual(0, self.env.db_query("""
SELECT COUNT(*) FROM session_attribute
WHERE sid='john' AND name='foo'
""")[0][0])
3
Example 10
Project: bloodhound Source File: session.py
def test_modify_authenticated_session_var(self):
"""
Verify that modifying an existing variable updates the 'session' table
accordingly for an authenticated session.
"""
with self.env.db_transaction as db:
db("INSERT INTO session VALUES ('john', 1, 0)")
db("INSERT INTO session_attribute VALUES ('john',1,'foo','bar')")
req = Mock(authname='john', base_path='/', incookie=Cookie())
session = Session(self.env, req)
self.assertEqual('bar', session['foo'])
session['foo'] = 'baz'
session.save()
self.assertEqual('baz', self.env.db_query("""
SELECT value FROM session_attribute WHERE sid='john' AND name='foo'
""")[0][0])
3
Example 11
Project: bloodhound Source File: auth.py
def test_known_cookie_access(self):
self.env.db_transaction("""
INSERT INTO auth_cookie (cookie, name, ipnr)
VALUES ('123', 'john', '127.0.0.1')""")
incookie = Cookie()
incookie['trac_auth'] = '123'
outcookie = Cookie()
req = Mock(incookie=incookie, outcookie=outcookie,
href=Href('/trac.cgi'), base_path='/trac.cgi',
remote_addr='127.0.0.1', remote_user=None)
self.assertEqual('john', self.module.authenticate(req))
self.failIf('auth_cookie' in req.outcookie)
3
Example 12
def _get_node(path, rev=None):
if path == 'foo':
return Mock(path=path, rev=rev, isfile=False,
is_viewable=lambda resource: True)
elif path == 'missing/file':
raise NoSuchNode(path, rev)
else:
return Mock(path=path, rev=rev, isfile=True,
is_viewable=lambda resource: True)
3
Example 13
Project: bloodhound Source File: conversion.py
def setUp(self):
self.env = EnvironmentStub()
self.env.config.set('trac', 'templates_dir',
os.path.join(os.path.dirname(self.env.path),
'templates'))
self.ticket_module = TicketModule(self.env)
self.mimeview = Mimeview(self.env)
self.req = Mock(base_path='/trac.cgi', path_info='',
href=Href('/trac.cgi'), chrome={'logo': {}},
abs_href=Href('http://example.org/trac.cgi'),
environ={}, perm=[], authname='-', args={}, tz=None,
locale='', session=None, form_token=None)
3
Example 14
Project: bloodhound Source File: auth.py
def test_login_ignore_case(self):
"""
Test that login is succesful when the usernames differ in case, but case
is ignored.
"""
self.env.config.set('trac', 'ignore_auth_case', 'yes')
outcookie = Cookie()
req = Mock(cgi_location='/trac', href=Href('/trac.cgi'),
incookie=Cookie(), outcookie=outcookie,
remote_addr='127.0.0.1', remote_user='John',
authname='anonymous', base_path='/trac.cgi')
self.module._do_login(req)
assert outcookie.has_key('trac_auth'), '"trac_auth" Cookie not set'
auth_cookie = outcookie['trac_auth'].value
self.assertEquals([('john', '127.0.0.1')], self.env.db_query(
"SELECT name, ipnr FROM auth_cookie WHERE cookie=%s",
(auth_cookie,)))
3
Example 15
Project: bloodhound Source File: query.py
def test_template_data(self):
req = Mock(href=self.env.href, perm=MockPerm(), authname='anonymous',
tz=None, locale=None)
context = web_context(req, 'query')
query = Query.from_string(self.env, 'owner=$USER&order=id')
tickets = query.execute(req)
data = query.template_data(context, tickets, req=req)
self.assertEqual(['anonymous'], data['clauses'][0]['owner']['values'])
query = Query.from_string(self.env, 'owner=$USER&order=id')
tickets = query.execute(req)
data = query.template_data(context, tickets)
self.assertEqual(['$USER'], data['clauses'][0]['owner']['values'])
3
Example 16
Project: bloodhound Source File: auth.py
def test_logout_not_logged_in(self):
req = Mock(cgi_location='/trac', href=Href('/trac.cgi'),
incookie=Cookie(), outcookie=Cookie(),
remote_addr='127.0.0.1', remote_user=None,
authname='anonymous', base_path='/trac.cgi')
self.module._do_logout(req) # this shouldn't raise an error
3
Example 17
Project: bloodhound Source File: session.py
def test_new_session(self):
"""
Verify that a session cookie gets sent back to the client for a new
session.
"""
cookie = Cookie()
req = Mock(incookie=Cookie(), outcookie=cookie, authname='anonymous',
base_path='/')
session = Session(self.env, req)
self.assertEqual(session.sid, cookie['trac_session'].value)
self.assertEqual(0, self.env.db_query(
"SELECT COUNT(*) FROM session")[0][0])
3
Example 18
Project: bloodhound Source File: session.py
def test_session_promotion(self):
"""
Verifies that an existing anonymous session gets promoted to an
authenticated session when the user logs in.
"""
with self.env.db_transaction as db:
db("INSERT INTO session VALUES ('123456', 0, 0)")
incookie = Cookie()
incookie['trac_session'] = '123456'
outcookie = Cookie()
req = Mock(authname='john', base_path='/', incookie=incookie,
outcookie=outcookie)
session = Session(self.env, req)
self.assertEqual('john', session.sid)
session.save()
self.assertEqual([('john', 1)], self.env.db_query(
"SELECT sid, authenticated FROM session"))
3
Example 19
Project: bloodhound Source File: auth.py
def test_logout(self):
self.env.db_transaction("""
INSERT INTO auth_cookie (cookie, name, ipnr)
VALUES ('123', 'john', '127.0.0.1')""")
incookie = Cookie()
incookie['trac_auth'] = '123'
outcookie = Cookie()
req = Mock(cgi_location='/trac', href=Href('/trac.cgi'),
incookie=incookie, outcookie=outcookie,
remote_addr='127.0.0.1', remote_user=None, authname='john',
base_path='/trac.cgi')
self.module._do_logout(req)
self.failIf('trac_auth' not in outcookie)
self.failIf(self.env.db_query(
"SELECT name, ipnr FROM auth_cookie WHERE name='john'"))
3
Example 20
Project: bloodhound Source File: session.py
def test_add_authenticated_session_var(self):
"""
Verify that new variables are inserted into the 'session' table in the
database for an authenticated session.
"""
req = Mock(authname='john', base_path='/', incookie=Cookie())
session = Session(self.env, req)
session['foo'] = 'bar'
session.save()
self.assertEqual('bar', self.env.db_query("""
SELECT value FROM session_attribute WHERE sid='john' AND name='foo'
""")[0][0])
3
Example 21
Project: bloodhound Source File: cache.py
def get_repos(self, get_changeset=None, youngest_rev=1):
if get_changeset is None:
def no_changeset(rev):
raise NoSuchChangeset(rev)
get_changeset = no_changeset
return Mock(Repository, 'test-repos', {'name': 'test-repos', 'id': 1},
self.log,
get_changeset=get_changeset,
get_oldest_rev=lambda: 0,
get_youngest_rev=lambda: youngest_rev,
normalize_rev=lambda x: get_changeset(x).rev,
next_rev=(lambda x: int(x) < youngest_rev and x + 1 \
or None))
3
Example 22
Project: bloodhound Source File: api.py
def test_explicit_success(self):
db = Connection()
env = Mock(components={
DatabaseManager: Mock(get_connection=lambda: None)})
env = Mock(get_db_cnx=lambda: None)
@with_transaction(env, db)
def do_transaction(idb):
self.assertTrue(idb is db)
self.assertTrue(not db.committed and not db.rolledback)
self.assertTrue(not db.committed and not db.rolledback)
3
Example 23
Project: bloodhound Source File: session.py
def test_new_session_promotion(self):
"""
Verifies that even without a preexisting anonymous session,
an authenticated session will be created when the user logs in.
(same test as above without the initial INSERT)
"""
with self.env.db_transaction as db:
incookie = Cookie()
incookie['trac_session'] = '123456'
outcookie = Cookie()
req = Mock(authname='john', base_path='/', incookie=incookie,
outcookie=outcookie)
session = Session(self.env, req)
self.assertEqual('john', session.sid)
session.save()
self.assertEqual([('john', 1)], self.env.db_query(
"SELECT sid, authenticated FROM session"))
3
Example 24
Project: bloodhound Source File: pygments.py
def setUp(self):
self.env = EnvironmentStub(enable=[Chrome, PygmentsRenderer])
self.pygments = Mimeview(self.env).renderers[0]
self.req = Mock(base_path='', chrome={}, args={},
abs_href=Href('/'), href=Href('/'),
session={}, perm=None, authname=None, tz=None)
self.context = web_context(self.req)
pygments_html = open(os.path.join(os.path.split(__file__)[0],
'pygments.html'))
self.pygments_html = Stream(list(HTMLParser(pygments_html, encoding='utf-8')))
3
Example 25
def test_failed_transaction(self):
db = Connection()
env = Mock(components={
DatabaseManager: Mock(get_connection=lambda: db)})
try:
@with_transaction(env)
def do_transaction(db):
self.assertTrue(not db.committed and not db.rolledback)
raise Error()
self.fail()
except Error:
pass
self.assertTrue(not db.committed and db.rolledback)
3
Example 26
Project: bloodhound Source File: auth.py
def test_unknown_cookie_access(self):
incookie = Cookie()
incookie['trac_auth'] = '123'
req = Mock(cgi_location='/trac', href=Href('/trac.cgi'),
incookie=incookie, outcookie=Cookie(),
remote_addr='127.0.0.1', remote_user=None,
base_path='/trac.cgi')
self.assertEqual(None, self.module.authenticate(req))
3
Example 27
Project: bloodhound Source File: api.py
def test_redirect(self):
status_sent = []
headers_sent = {}
def start_response(status, headers):
status_sent.append(status)
headers_sent.update(dict(headers))
environ = self._make_environ(method='HEAD')
req = Request(environ, start_response)
req.session = Mock(save=lambda: None)
self.assertRaises(RequestDone, req.redirect, '/trac/test')
self.assertEqual('302 Found', status_sent[0])
self.assertEqual('http://example.org/trac/test',
headers_sent['Location'])
3
Example 28
Project: bloodhound Source File: batch.py
def setUp(self):
self.env = EnvironmentStub(default_data=True,
enable=[default_workflow.ConfigurableTicketWorkflow,
web_ui.TicketModule])
self.req = Mock(href=self.env.href, authname='anonymous', tz=utc)
self.req.session = {}
self.req.perm = PermissionCache(self.env)
3
Example 29
Project: bloodhound Source File: auth.py
def test_known_cookie_ip_check_enabled(self):
self.env.config.set('trac', 'check_auth_ip', 'yes')
self.env.db_transaction("""
INSERT INTO auth_cookie (cookie, name, ipnr)
VALUES ('123', 'john', '127.0.0.1')""")
incookie = Cookie()
incookie['trac_auth'] = '123'
outcookie = Cookie()
req = Mock(cgi_location='/trac', href=Href('/trac.cgi'),
incookie=incookie, outcookie=outcookie,
remote_addr='192.168.0.100', remote_user=None,
base_path='/trac.cgi')
self.assertEqual(None, self.module.authenticate(req))
self.failIf('trac_auth' not in req.outcookie)
3
Example 30
Project: bloodhound Source File: api.py
def test_implicit_in_explicit_success(self):
db = Connection()
env = Mock(components={
DatabaseManager: Mock(get_connection=lambda: db)})
dbs = [None, None]
@with_transaction(env, db)
def level0(db):
dbs[0] = db
@with_transaction(env)
def level1(db):
dbs[1] = db
self.assertTrue(not db.committed and not db.rolledback)
self.assertTrue(not db.committed and not db.rolledback)
self.assertTrue(dbs[0] is not None)
self.assertTrue(dbs[0] is dbs[1])
self.assertTrue(not dbs[0].committed and not dbs[0].rolledback)
3
Example 31
Project: bloodhound Source File: auth.py
def test_login(self):
outcookie = Cookie()
# remote_user must be upper case to test that by default, case is
# preserved.
req = Mock(cgi_location='/trac', href=Href('/trac.cgi'),
incookie=Cookie(), outcookie=outcookie,
remote_addr='127.0.0.1', remote_user='john',
authname='john', base_path='/trac.cgi')
self.module._do_login(req)
assert outcookie.has_key('trac_auth'), '"trac_auth" Cookie not set'
auth_cookie = outcookie['trac_auth'].value
self.assertEquals([('john', '127.0.0.1')], self.env.db_query(
"SELECT name, ipnr FROM auth_cookie WHERE cookie=%s",
(auth_cookie,)))
3
Example 32
Project: bloodhound Source File: api.py
def test_implicit_nesting_success(self):
env = Mock(components={
DatabaseManager: Mock(get_connection=Connection)})
dbs = [None, None]
@with_transaction(env)
def level0(db):
dbs[0] = db
@with_transaction(env)
def level1(db):
dbs[1] = db
self.assertTrue(not db.committed and not db.rolledback)
self.assertTrue(not db.committed and not db.rolledback)
self.assertTrue(dbs[0] is not None)
self.assertTrue(dbs[0] is dbs[1])
self.assertTrue(dbs[0].committed and not dbs[0].rolledback)
3
Example 33
Project: bloodhound Source File: auth.py
def test_already_logged_in_same_user(self):
self.env.db_transaction("""
INSERT INTO auth_cookie (cookie, name, ipnr)
VALUES ('123', 'john', '127.0.0.1')""")
incookie = Cookie()
incookie['trac_auth'] = '123'
req = Mock(incookie=incookie, outcookie=Cookie(),
href=Href('/trac.cgi'), base_path='/trac.cgi',
remote_addr='127.0.0.1', remote_user='john', authname='john')
self.module._do_login(req) # this shouldn't raise an error
3
Example 34
Project: bloodhound Source File: api.py
def test_successful_transaction(self):
db = Connection()
env = Mock(components={
DatabaseManager: Mock(get_connection=lambda: db)})
@with_transaction(env)
def do_transaction(db):
self.assertTrue(not db.committed and not db.rolledback)
self.assertTrue(db.committed and not db.rolledback)
3
Example 35
def test_invalid_nesting(self):
env = Mock(components={
DatabaseManager: Mock(get_connection=Connection)})
try:
@with_transaction(env)
def level0(db):
@with_transaction(env, Connection())
def level1(db):
raise Error()
raise Error()
raise Error()
except AssertionError:
pass
3
Example 36
Project: bloodhound Source File: api.py
def test_explicit_failure(self):
db = Connection()
env = Mock(components={
DatabaseManager: Mock(get_connection=lambda: None)})
env = Mock(get_db_cnx=lambda: None)
try:
@with_transaction(env, db)
def do_transaction(idb):
self.assertTrue(idb is db)
self.assertTrue(not db.committed and not db.rolledback)
raise Error()
self.fail()
except Error:
pass
self.assertTrue(not db.committed and not db.rolledback)
3
Example 37
Project: bloodhound Source File: api.py
def test_redirect_absolute(self):
status_sent = []
headers_sent = {}
def start_response(status, headers):
status_sent.append(status)
headers_sent.update(dict(headers))
environ = self._make_environ(method='HEAD')
req = Request(environ, start_response,)
req.session = Mock(save=lambda: None)
self.assertRaises(RequestDone, req.redirect,
'http://example.com/trac/test')
self.assertEqual('302 Found', status_sent[0])
self.assertEqual('http://example.com/trac/test',
headers_sent['Location'])
0
Example 38
Project: bloodhound Source File: api.py
def test_implicit_in_explicit_failure(self):
db = Connection()
env = Mock(components={
DatabaseManager: Mock(get_connection=lambda: db)})
dbs = [None, None]
try:
@with_transaction(env, db)
def level0(db):
dbs[0] = db
@with_transaction(env)
def level1(db):
dbs[1] = db
self.assertTrue(not db.committed and not db.rolledback)
raise Error()
self.fail()
self.fail()
except Error:
pass
self.assertTrue(dbs[0] is not None)
self.assertTrue(dbs[0] is dbs[1])
self.assertTrue(not dbs[0].committed and not dbs[0].rolledback)
0
Example 39
Project: bloodhound Source File: query.py
def setUp(self):
self.env = EnvironmentStub(default_data=True)
locale = Locale.parse('en_US') if Locale else None
self.req = Mock(href=self.env.href, authname='anonymous', tz=utc,
locale=locale, lc_time=locale)
0
Example 40
Project: bloodhound Source File: query.py
def setUp(self):
self.env = EnvironmentStub(default_data=True)
self.query_module = QueryModule(self.env)
req = Mock(perm=MockPerm(), args={}, href=Href('/'))
self.formatter = LinkFormatter(self.env, web_context(req))
0
Example 41
Project: bloodhound Source File: api.py
def test_implicit_nesting_failure(self):
env = Mock(components={
DatabaseManager: Mock(get_connection=Connection)})
dbs = [None, None]
try:
@with_transaction(env)
def level0(db):
dbs[0] = db
try:
@with_transaction(env)
def level1(db):
dbs[1] = db
self.assertTrue(not db.committed and not db.rolledback)
raise Error()
self.fail()
except Error:
self.assertTrue(not db.committed and not db.rolledback)
raise
self.fail()
except Error:
pass
self.assertTrue(dbs[0] is not None)
self.assertTrue(dbs[0] is dbs[1])
self.assertTrue(not dbs[0].committed and dbs[0].rolledback)
0
Example 42
Project: bloodhound Source File: api.py
def test_explicit_in_implicit_failure(self):
db = Connection()
env = Mock(components={
DatabaseManager: Mock(get_connection=lambda: db)})
dbs = [None, None]
try:
@with_transaction(env)
def level0(db):
dbs[0] = db
@with_transaction(env, db)
def level1(db):
dbs[1] = db
self.assertTrue(not db.committed and not db.rolledback)
raise Error()
self.fail()
self.fail()
except Error:
pass
self.assertTrue(dbs[0] is not None)
self.assertTrue(dbs[0] is dbs[1])
self.assertTrue(not dbs[0].committed and dbs[0].rolledback)
0
Example 43
Project: bloodhound Source File: report.py
def test_saved_custom_query_redirect(self):
query = u'query:?type=résumé'
db = self.env.get_db_cnx()
cursor = db.cursor()
cursor.execute("INSERT INTO report (title,query,description) "
"VALUES (%s,%s,%s)", ('redirect', query, ''))
id = db.get_last_id(cursor, 'report')
db.commit()
headers_sent = {}
def start_response(status, headers):
headers_sent.update(dict(headers))
environ = self._make_environ()
req = Request(environ, start_response)
req.authname = 'anonymous'
req.session = Mock(save=lambda: None)
self.assertRaises(RequestDone,
self.report_module._render_view, req, id)
self.assertEqual('http://example.org/trac/query?' + \
'type=r%C3%A9sum%C3%A9&report=' + str(id),
headers_sent['Location'])
0
Example 44
Project: bloodhound Source File: cache.py
def test_initial_sync(self):
t1 = datetime(2001, 1, 1, 1, 1, 1, 0, utc)
t2 = datetime(2002, 1, 1, 1, 1, 1, 0, utc)
repos = self.get_repos(get_changeset=lambda x: changesets[int(x)],
youngest_rev=1)
changes = [('trunk', Node.DIRECTORY, Changeset.ADD, None, None),
('trunk/README', Node.FILE, Changeset.ADD, None, None)]
changesets = [Mock(Changeset, repos, 0, '', '', t1,
get_changes=lambda: []),
Mock(Changeset, repos, 1, 'Import', 'joe', t2,
get_changes=lambda: iter(changes))]
cache = CachedRepository(self.env, repos, self.log)
cache.sync()
with self.env.db_query as db:
rows = db("SELECT rev, time, author, message FROM revision")
self.assertEquals(len(rows), 2)
self.assertEquals(('0', to_utimestamp(t1), '', ''), rows[0])
self.assertEquals(('1', to_utimestamp(t2), 'joe', 'Import'),
rows[1])
rows = db("""
SELECT rev, path, node_type, change_type, base_path, base_rev
FROM node_change""")
self.assertEquals(len(rows), 2)
self.assertEquals(('1', 'trunk', 'D', 'A', None, None), rows[0])
self.assertEquals(('1', 'trunk/README', 'F', 'A', None, None),
rows[1])
0
Example 45
Project: bloodhound Source File: cache.py
def test_update_sync(self):
t1 = datetime(2001, 1, 1, 1, 1, 1, 0, utc)
t2 = datetime(2002, 1, 1, 1, 1, 1, 0, utc)
t3 = datetime(2003, 1, 1, 1, 1, 1, 0, utc)
self.preset_cache(
(('0', to_utimestamp(t1), '', ''), []),
(('1', to_utimestamp(t2), 'joe', 'Import'),
[('trunk', 'D', 'A', None, None),
('trunk/README', 'F', 'A', None, None)]),
)
repos = self.get_repos(get_changeset=lambda x: changesets[int(x)],
youngest_rev=2)
changes = [('trunk/README', Node.FILE, Changeset.EDIT, 'trunk/README',
1)]
changesets = [
None,
Mock(Changeset, repos, 1, '', '', t2, get_changes=lambda: []),
Mock(Changeset, repos, 2, 'Update', 'joe', t3,
get_changes=lambda: iter(changes))
]
cache = CachedRepository(self.env, repos, self.log)
cache.sync()
with self.env.db_query as db:
self.assertEquals([(to_utimestamp(t3), 'joe', 'Update')],
db("SELECT time, author, message FROM revision WHERE rev='2'"))
self.assertEquals([('trunk/README', 'F', 'E', 'trunk/README',
'1')],
db("""SELECT path, node_type, change_type, base_path,
base_rev
FROM node_change WHERE rev='2'"""))
0
Example 46
Project: bloodhound Source File: cache.py
def test_clean_sync(self):
t1 = datetime(2001, 1, 1, 1, 1, 1, 0, utc)
t2 = datetime(2002, 1, 1, 1, 1, 1, 0, utc)
t3 = datetime(2003, 1, 1, 1, 1, 1, 0, utc)
self.preset_cache(
(('0', to_utimestamp(t1), '', ''), []),
(('1', to_utimestamp(t2), 'joe', 'Import'),
[('trunk', 'D', 'A', None, None),
('trunk/README', 'F', 'A', None, None)]),
)
repos = self.get_repos(get_changeset=lambda x: changesets[int(x)],
youngest_rev=2)
changes1 = [('trunk', Node.DIRECTORY, Changeset.ADD, None, None),
('trunk/README', Node.FILE, Changeset.ADD, None, None)]
changes2 = [('trunk/README', Node.FILE, Changeset.EDIT, 'trunk/README',
1)]
changesets = [
Mock(Changeset, repos, 0, '**empty**', 'joe', t1,
get_changes=lambda: []),
Mock(Changeset, repos, 1, 'Initial Import', 'joe', t2,
get_changes=lambda: iter(changes1)),
Mock(Changeset, repos, 2, 'Update', 'joe', t3,
get_changes=lambda: iter(changes2))
]
cache = CachedRepository(self.env, repos, self.log)
cache.sync(clean=True)
rows = self.env.db_query("""
SELECT time, author, message FROM revision ORDER BY rev
""")
self.assertEquals(3, len(rows))
self.assertEquals((to_utimestamp(t1), 'joe', '**empty**'), rows[0])
self.assertEquals((to_utimestamp(t2), 'joe', 'Initial Import'),
rows[1])
self.assertEquals((to_utimestamp(t3), 'joe', 'Update'), rows[2])
rows = self.env.db_query("""
SELECT rev, path, node_type, change_type, base_path, base_rev
FROM node_change ORDER BY rev, path""")
self.assertEquals(3, len(rows))
self.assertEquals(('1', 'trunk', 'D', 'A', None, None), rows[0])
self.assertEquals(('1', 'trunk/README', 'F', 'A', None, None), rows[1])
self.assertEquals(('2', 'trunk/README', 'F', 'E', 'trunk/README', '1'),
rows[2])
0
Example 47
Project: bloodhound Source File: cache.py
def test_sync_changeset(self):
t1 = datetime(2001, 1, 1, 1, 1, 1, 0, utc)
t2 = datetime(2002, 1, 1, 1, 1, 1, 0, utc)
self.preset_cache(
(('0', to_utimestamp(t1), '', ''), []),
(('1', to_utimestamp(t2), 'joe', 'Import'),
[('trunk', 'D', 'A', None, None),
('trunk/README', 'F', 'A', None, None)]),
)
repos = self.get_repos(get_changeset=lambda x: changesets[int(x)],
youngest_rev=1)
changes1 = [('trunk', Node.DIRECTORY, Changeset.ADD, None, None),
('trunk/README', Node.FILE, Changeset.ADD, None, None)]
changesets = [
Mock(Changeset, repos, 0, '**empty**', 'joe', t1,
get_changes=lambda: []),
Mock(Changeset, repos, 1, 'Initial Import', 'joe', t2,
get_changes=lambda: iter(changes1)),
]
cache = CachedRepository(self.env, repos, self.log)
cache.sync_changeset(0)
rows = self.env.db_query(
"SELECT time, author, message FROM revision ORDER BY rev")
self.assertEquals(2, len(rows))
self.assertEquals((to_utimestamp(t1), 'joe', '**empty**'), rows[0])
self.assertEquals((to_utimestamp(t2), 'joe', 'Import'), rows[1])
0
Example 48
Project: trac-code-comments-plugin Source File: comment.py
def format_to_html(req, env, text):
req = Mock(href=Href('/'), abs_href=Href('http://www.example.com/'), authname='anonymous', perm=MockPerm(), args={})
context = Context.from_request(req)
return trac.wiki.formatter.format_to_html(env, context, text)
0
Example 49
Project: bloodhound Source File: svn_authz.py
def setUp(self):
tmpdir = os.path.realpath(tempfile.gettempdir())
self.authz = os.path.join(tmpdir, 'trac-authz')
create_file(self.authz, """\
[groups]
group1 = user
group2 = @group1
cycle1 = @cycle2
cycle2 = @cycle3
cycle3 = @cycle1, user
alias1 = &jekyll
alias2 = @alias1
[aliases]
jekyll = Mr Hyde
# Read / write permissions
[/readonly]
user = r
[/writeonly]
user = w
[/readwrite]
user = rw
[/empty]
user =
# Trailing slashes
[/trailing_a]
user = r
[/trailing_b/]
user = r
# Sub-paths
[/sub/path]
user = r
# Module usage
[module:/module_a]
user = r
[other:/module_b]
user = r
[/module_c]
user = r
[module:/module_d]
user =
[/module_d]
user = r
# Wildcards
[/wildcard]
* = r
# Special tokens
[/special/anonymous]
$anonymous = r
[/special/authenticated]
$authenticated = r
# Groups
[/groups_a]
@group1 = r
[/groups_b]
@group2 = r
[/cyclic]
@cycle1 = r
# Precedence
[module:/precedence_a]
user =
[/precedence_a]
user = r
[/precedence_b]
user = r
[/precedence_b/sub]
user =
[/precedence_b/sub/test]
user = r
[/precedence_c]
user =
@group1 = r
[/precedence_d]
@group1 = r
user =
# Aliases
[/aliases_a]
&jekyll = r
[/aliases_b]
@alias2 = r
# Scoped repository
[scoped:/scope/dir1]
joe = r
[scoped:/scope/dir2]
jane = r
""")
self.env = EnvironmentStub(enable=[AuthzSourcePolicy])
self.env.config.set('trac', 'authz_file', self.authz)
self.policy = AuthzSourcePolicy(self.env)
# Monkey-subclass RepositoryManager to serve mock repositories
rm = RepositoryManager(self.env)
class TestRepositoryManager(rm.__class__):
def get_real_repositories(self):
return set([Mock(reponame='module'),
Mock(reponame='other'),
Mock(reponame='scoped')])
def get_repository(self, reponame):
if reponame == 'scoped':
def get_changeset(rev):
if rev == 123:
def get_changes():
yield ('/dir1/file',)
elif rev == 456:
def get_changes():
yield ('/dir2/file',)
else:
def get_changes():
return iter([])
return Mock(get_changes=get_changes)
return Mock(scope='/scope',
get_changeset=get_changeset)
return Mock(scope='/')
rm.__class__ = TestRepositoryManager
0
Example 50
Project: bloodhound Source File: api.py
def setUp(self):
self.env = EnvironmentStub()
self.perm = PermissionSystem(self.env)
self.ticket_system = TicketSystem(self.env)
self.req = Mock()