def wiki_setup(tc): wiki1 = WikiPage(tc.env) wiki1.name = 'TestPage' wiki1.text = '--' wiki1.save('joe', 'normal WikiPageNames', '::1', 42) wiki2 = WikiPage(tc.env) wiki2.name = 'Space 1 23' wiki2.text = '--' wiki2.save('joe', 'not a WikiPageNames', '::1', 42) wiki3 = WikiPage(tc.env) wiki3.name = u"C'est l'\xe9t\xe9" wiki3.text = '--' wiki3.save('joe', 'unicode WikiPageNames', '::1', 42) imt = WikiPage(tc.env) imt.name = u"InterMapTxt" imt.text = """ This is the InterMapTxt ---- {{{ MeatBall http://www.usemod.com/cgi-bin/mb.pl? # $1 in MeatBall... tsvn tsvn: complex http://server/$1/page/$2?format=txt # resource $2 in $1 }}} ---- {{{ nolink http://noweb }}} """ imt.save('joe', 'test InterWiki links', '::1', 42)
def _insert_templates(self): page = WikiPage(self.env) page.name = 'PageTemplates/TheTemplate' page.text = 'The template below /PageTemplates' page.save('trac', 'create page') page = WikiPage(self.env) page.name = 'TheTemplate' page.text = 'The template below /' page.save('trac', 'create page')
def wiki_setup(tc): tc.env.config.set('wiki', 'render_unsafe_content', True) # for #9712 now = datetime.now(utc) wiki0 = WikiPage(tc.env) wiki0.name = 'Main/Sub' wiki0.text = '--' wiki0.save('joe', 'subpage', '::1', now) wiki1 = WikiPage(tc.env) wiki1.name = 'TestPage' wiki1.text = '--' wiki1.save('joe', 'normal WikiPageNames', '::1', now) wiki2 = WikiPage(tc.env) wiki2.name = 'Space 1 23' wiki2.text = '--' wiki2.save('joe', 'not a WikiPageNames', '::1', now) wiki3 = WikiPage(tc.env) wiki3.name = u"C'est l'\xe9t\xe9" wiki3.text = '--' wiki3.save('joe', 'unicode WikiPageNames', '::1', now) imt = WikiPage(tc.env) imt.name = u"InterMapTxt" imt.text = """ This is the InterMapTxt ---- {{{ MeatBall http://www.usemod.com/cgi-bin/mb.pl? # $1 in MeatBall... tsvn tsvn: complex http://server/$1/page/$2?format=txt # resource $2 in $1 }}} ---- {{{ nolink http://noweb }}} """ imt.save('joe', 'test InterWiki links', '::1', now) w = WikiPage(tc.env) w.name = 'FirstLevel' w.text = '--' w.save('joe', 'first level of hierarchy', '::1', now) w = WikiPage(tc.env) w.name = 'FirstLevel/SecondLevel' w.text = '--' w.save('joe', 'second level of hierarchy', '::1', now) w = WikiPage(tc.env) w.name = 'FirstLevel/SecondLevel/ThirdLevel' w.text = '--' w.save('joe', 'third level of hierarchy', '::1', now) w = WikiPage(tc.env) w.name = 'FirstLevel/SecondLevel/OtherThirdLevel' w.text = '--' w.save('joe', 'other third level of hierarchy', '::1', now)
def test_delete_page(self): page = WikiPage(self.env) page.name = 'SandBox' page.text = 'Contents for SandBox' page.save('trac', 'create page') mod = WikiModule(self.env) req = MockRequest(self.env, path_info='/wiki/SandBox', method='GET', args={ 'action': 'delete', 'version': '1' }) self.assertTrue(mod.match_request(req)) resp = mod.process_request(req) self.assertEqual(2, len(resp)) self.assertIn('Are you sure you want to completely delete this page?', self._render_template(req, resp[0], resp[1])) req = MockRequest(self.env, path_info='/wiki/SandBox', method='POST', args={'action': 'delete'}) self.assertTrue(mod.match_request(req)) self.assertRaises(RequestDone, mod.process_request, req) self.assertIn('The page SandBox has been deleted.', req.chrome.get('notices')) self.assertEqual(False, WikiPage(self.env, 'SandBox').exists)
def setUp(self): wiki = WikiPage(self.env) wiki.name = 'WikiStart' wiki.text = '--' wiki.save('joe', 'Entry page', '::1', datetime.now(utc)) if self._setup: self._setup(self)
def wiki_setup(tc): tc.env = EnvironmentStub(default_data=True, enable=['trac.*', 'tractags.*']) tc.env.path = tempfile.mkdtemp() tc.db_mgr = DatabaseManager(tc.env) tc.db = tc.env.get_db_cnx() TagSetup(tc.env).upgrade_environment(tc.db) now = datetime.now(utc) wiki = WikiPage(tc.env) wiki.name = 'TestPage' wiki.text = '--' wiki.save('joe', 'TagsPluginTestPage', '::1', now) req = Mock(href=Href('/'), abs_href=Href('http://www.example.com/'), authname='anonymous', perm=MockPerm(), tz=utc, args={}, locale=Locale.parse('en_US') if Locale else None) tc.env.href = req.href tc.env.abs_href = req.abs_href tc.context = Context.from_request(req) # Enable big diff output. tc.maxDiff = None
def add_pages(tc, names): now = datetime.now(utc) for name in names: w = WikiPage(tc.env) w.name = name w.text = '--' w.save('joe', 'the page ' + name, '::1', now)
def add_pages(tc, names): now = datetime.now(utc) for name in names: w = WikiPage(tc.env) w.name = name w.text = "--" w.save("joe", "the page " + name, "::1", now)
def add_pages(tc, names): for name in names: now = datetime_now(utc) w = WikiPage(tc.env) w.name = name w.text = '--' w.save('joe', 'the page ' + name, now)
def _insert_page(self, name=None): page = WikiPage(self.env) if name is None: name = random_unique_camel() page.name = name page.text = random_paragraph() page.save('user1', 'Page created.') return name
def setUp(self): ProductResourceTestCase.setUp(self) page = WikiPage(self.global_env) page.name = 'TestPage' page.text = 'Bla bla' t = datetime(2001, 1, 1, 1, 1, 1, 0, utc) page.save('joe', 'Testing global', '::1', t) page.text = 'Bla bla bla' t = datetime(2002, 2, 2, 2, 2, 2, 0, utc) page.save('joe', 'Testing global 2', '::1', t) page = WikiPage(self.env1) page.name = 'TestPage' page.text = 'alb alB' t = datetime(2011, 1, 1, 1, 1, 1, 0, utc) page.save('mary', 'Testing product', '::1', t) page.text = 'Bla bla bla' t = datetime(2012, 2, 2, 2, 2, 2, 0, utc) page.save('mary', 'Testing product 2', '::1', t)
def setUp(self): ProductResourceTestCase.setUp(self) page = WikiPage(self.global_env) page.name = "TestPage" page.text = "Bla bla" t = datetime(2001, 1, 1, 1, 1, 1, 0, utc) page.save("joe", "Testing global", "::1", t) page.text = "Bla bla bla" t = datetime(2002, 2, 2, 2, 2, 2, 0, utc) page.save("joe", "Testing global 2", "::1", t) page = WikiPage(self.env1) page.name = "TestPage" page.text = "alb alB" t = datetime(2011, 1, 1, 1, 1, 1, 0, utc) page.save("mary", "Testing product", "::1", t) page.text = "Bla bla bla" t = datetime(2012, 2, 2, 2, 2, 2, 0, utc) page.save("mary", "Testing product 2", "::1", t)
def setUp(self): self.env = self._create_env() # TODO: remove the following lines in order to discover # all the places were we should use the req.href # instead of env.href self.env.href = self.req.href self.env.abs_href = self.req.abs_href wiki = WikiPage(self.env) wiki.name = 'WikiStart' wiki.text = '--' wiki.save('joe', 'Entry page', '::1', datetime_now(utc)) if self._setup: self._setup(self)
def wiki_setup(tc): tc.env = EnvironmentStub(default_data=True, enable=['trac.*', 'tractags.*']) tc.env.path = tempfile.mkdtemp() tc.db_mgr = DatabaseManager(tc.env) tc.db = tc.env.get_db_cnx() cursor = tc.db.cursor() cursor.execute("DROP TABLE IF EXISTS tags") cursor.execute("DROP TABLE IF EXISTS tags_change") cursor.execute("DELETE FROM system WHERE name='tags_version'") cursor.execute("DELETE FROM permission WHERE action %s" % tc.db.like(), ('TAGS_%', )) TagSetup(tc.env).upgrade_environment(tc.db) now = datetime.now(utc) wiki = WikiPage(tc.env) wiki.name = 'TestPage' wiki.text = '--' wiki.save('joe', 'TagsPluginTestPage', '::1', now) cursor = tc.db.cursor() # Populate table with initial test data. cursor.executemany( """ INSERT INTO tags (tagspace, name, tag) VALUES (%s,%s,%s) """, [ ('wiki', 'TestPage', '2ndtag'), ('wiki', 'TestPage', 'a.really?_\wild-thing'), ('wiki', 'TestPage', 'heavily-quoted'), ('wiki', 'TestPage', 'onetag'), ('wiki', 'TestPage', 'tagged'), ('wiki', 'TestPage', "single'quote"), ]) req = Mock(href=Href('/'), abs_href=Href('http://www.example.com/'), authname='anonymous', perm=MockPerm(), tz=utc, args={}, locale=locale_en) tc.env.href = req.href tc.env.abs_href = req.abs_href tc.context = Context.from_request(req) # Enable big diff output. tc.maxDiff = None
def interwiki_setup(tc): tc.env.config.set('interwiki', 'shields', 'https://img.shields.io/') tc.env.config.set('interwiki', 'travis', 'https://travis-ci.org/$1?branch=$2 Travis CI') page = WikiPage(tc.env) page.name = 'InterMapTxt' page.text = """ The InterWikiTxt page ---- {{{ SO http://stackoverflow.com/questions/ # Question $1 in StackOverflow CreoleWiki http://wikicreole.org/wiki/ }}} """ page.save('admin', 'created page')
def wiki_setup(tc): tc.env = EnvironmentStub(default_data=True, enable=['trac.*', 'tractags.*']) tc.env.path = tempfile.mkdtemp() tc.db_mgr = DatabaseManager(tc.env) tc.db = tc.env.get_db_cnx() cursor = tc.db.cursor() cursor.execute("DROP TABLE IF EXISTS tags") cursor.execute("DROP TABLE IF EXISTS tags_change") cursor.execute("DELETE FROM system WHERE name='tags_version'") cursor.execute("DELETE FROM permission WHERE action %s" % tc.db.like(), ('TAGS_%',)) TagSetup(tc.env).upgrade_environment(tc.db) now = datetime.now(utc) wiki = WikiPage(tc.env) wiki.name = 'TestPage' wiki.text = '--' wiki.save('joe', 'TagsPluginTestPage', '::1', now) cursor = tc.db.cursor() # Populate table with initial test data. cursor.executemany(""" INSERT INTO tags (tagspace, name, tag) VALUES (%s,%s,%s) """, [('wiki', 'TestPage', '2ndtag'), ('wiki', 'TestPage', 'a.really?_\wild-thing'), ('wiki', 'TestPage', 'heavily-quoted'), ('wiki', 'TestPage', 'onetag'), ('wiki', 'TestPage', 'tagged'), ('wiki', 'TestPage', "single'quote"), ]) req = Mock(href=Href('/'), abs_href=Href('http://www.example.com/'), authname='anonymous', perm=MockPerm(), tz=utc, args={}, locale=locale_en) tc.env.href = req.href tc.env.abs_href = req.abs_href tc.context = Context.from_request(req) # Enable big diff output. tc.maxDiff = None
def test_view_page_with_invalid_pattern(self): """Page with invalid pattern should render fine, but not allow an edit without correcting the invalid pattern. """ text = """{{{ (?i)eventbrite\.com (?i)sneaker(?:supplier|nice\.com }}}""" page = WikiPage(self.env) page.text = text page.name = 'BadContent' try: page.save('anonymous', 'Page created.') except TracError: self.assertTrue(WikiPage(self.env, 'BadContent').exists) else: self.fail("Saving page with invalid content did not " "raise a TracError.") req = MockRequest(self.env, authname='user', args={ 'action': 'view', }, path_info='/wiki/BadContent') data = self._dispatch_request(req)[1] self.assertEqual(page.text, data['text']) req = MockRequest(self.env, authname='user', args={ 'action': 'edit', 'preview': True, 'version': 1, 'text': text }, method='POST', path_info='/wiki/BadContent') self._dispatch_request(req) self.assertIn('Invalid Wiki page: Error in pattern ' '<tt>(?i)sneaker(?:supplier|nice\\.com</tt>: ' '<i>unbalanced parenthesis</i>.', req.chrome['warnings'])
def test_wiki_page_path(self): for name in ('WikiStart', 'Page', 'Page/SubPage'): page = WikiPage(self.env) page.name = name page.text = 'Contents for %s\n' % name page.save('trac', 'create page') def get_pagepath(path_info): content = self._render_wiki_page(path_info) match = re.search(r'<div\s+id="pagepath"[^>]*>.*?</div>', content, re.DOTALL) return match and match.group(0) pagepath = get_pagepath('/wiki') self.assertIn(' href="/trac.cgi/wiki">wiki:</a>', pagepath) self.assertIn(' href="/trac.cgi/wiki/WikiStart"', pagepath) pagepath = get_pagepath('/wiki/Page') self.assertIn(' href="/trac.cgi/wiki">wiki:</a>', pagepath) self.assertIn(' href="/trac.cgi/wiki/Page"', pagepath) pagepath = get_pagepath('/wiki/Page/SubPage') self.assertIn(' href="/trac.cgi/wiki">wiki:</a>', pagepath) self.assertIn(' href="/trac.cgi/wiki/Page"', pagepath) self.assertIn(' href="/trac.cgi/wiki/Page/SubPage"', pagepath)
def wiki_setup(tc): tc.env.config.set('wiki', 'render_unsafe_content', True) # for #9712 now = datetime_now(utc) wiki0 = WikiPage(tc.env) wiki0.name = 'Main/Sub' wiki0.text = '--' wiki0.save('joe', 'subpage', now) wiki1 = WikiPage(tc.env) wiki1.name = 'TestPage' wiki1.text = '--' wiki1.save('joe', 'normal WikiPageNames', now) wiki2 = WikiPage(tc.env) wiki2.name = 'Space 1 23' wiki2.text = '--' wiki2.save('joe', 'not a WikiPageNames', now) wiki3 = WikiPage(tc.env) wiki3.name = u"C'est l'\xe9t\xe9" wiki3.text = '--' wiki3.save('joe', 'unicode WikiPageNames', now) imt = WikiPage(tc.env) imt.name = u"InterMapTxt" imt.text = """ This is the InterMapTxt ---- {{{ MeatBall http://www.usemod.com/cgi-bin/mb.pl? # $1 in MeatBall... tsvn tsvn: complex http://server/$1/page/$2?format=txt # resource $2 in $1 over http://unused/? # Overridden in trac.ini js javascript: javasc javasc }}} ---- {{{ nolink http://noweb }}} """ imt.save('joe', 'test InterWiki links', now) tc.env.config.set('interwiki', 'inter', 'http://inter/$1/page/$2 Resource $2 in $1') tc.env.config.set('interwiki', 'over', 'http://over/$1/page/$2') w = WikiPage(tc.env) w.name = 'FirstLevel' w.text = '--' w.save('joe', 'first level of hierarchy', now) w = WikiPage(tc.env) w.name = 'FirstLevel/SecondLevel' w.text = '--' w.save('joe', 'second level of hierarchy', now) w = WikiPage(tc.env) w.name = 'FirstLevel/SecondLevel/ThirdLevel' w.text = '--' w.save('joe', 'third level of hierarchy', now) w = WikiPage(tc.env) w.name = 'FirstLevel/SecondLevel/OtherThirdLevel' w.text = '--' w.save('joe', 'other third level of hierarchy', now) tc.env.db_transaction("INSERT INTO ticket (id) VALUES ('123')")
def setUp(tc): tc.env = EnvironmentStub(enable=['trac.*', 'wantedpages.*']) page = WikiPage(tc.env) page.name = 'WantedLinksTestPage' page.text = CONTENT page.save('joe', 'first edit', '::1')
def read_file(name): text[name] = file("wiki/" + name).read().decode('utf-8') page = WikiPage(env) page.name = name page.text = '--' page.save('', '', '::1', 0)
def _create_a_wiki_page(self): page = WikiPage(self.env) page.text = '<comp5 pet cat>' page.name = 'TestPage' page.version = '1' return page
def setUp(self): self.env = EnvironmentStub(enable=[NewTitleIndexMacro]) page = WikiPage(self.env) page.name = 'NewTitleIndexMacroDefinitions' page.save('admin', 'NewTitleIndexMacro definitions')
def wiki_setup(tc): tc.env.config.set('wiki', 'render_unsafe_content', True) # for #9712 now = datetime.now(utc) wiki0 = WikiPage(tc.env) wiki0.name = 'Main/Sub' wiki0.text = '--' wiki0.save('joe', 'subpage', '::1', now) wiki1 = WikiPage(tc.env) wiki1.name = 'TestPage' wiki1.text = '--' wiki1.save('joe', 'normal WikiPageNames', '::1', now) wiki2 = WikiPage(tc.env) wiki2.name = 'Space 1 23' wiki2.text = '--' wiki2.save('joe', 'not a WikiPageNames', '::1', now) wiki3 = WikiPage(tc.env) wiki3.name = u"C'est l'\xe9t\xe9" wiki3.text = '--' wiki3.save('joe', 'unicode WikiPageNames', '::1', now) imt = WikiPage(tc.env) imt.name = u"InterMapTxt" imt.text = """ This is the InterMapTxt ---- {{{ MeatBall http://www.usemod.com/cgi-bin/mb.pl? # $1 in MeatBall... tsvn tsvn: complex http://server/$1/page/$2?format=txt # resource $2 in $1 over http://unused/? # Overridden in trac.ini js javascript: javasc javasc }}} ---- {{{ nolink http://noweb }}} """ imt.save('joe', 'test InterWiki links', '::1', now) tc.env.config.set('interwiki', 'inter', 'http://inter/$1/page/$2 Resource $2 in $1') tc.env.config.set('interwiki', 'over', 'http://over/$1/page/$2') w = WikiPage(tc.env) w.name = 'FirstLevel' w.text = '--' w.save('joe', 'first level of hierarchy', '::1', now) w = WikiPage(tc.env) w.name = 'FirstLevel/SecondLevel' w.text = '--' w.save('joe', 'second level of hierarchy', '::1', now) w = WikiPage(tc.env) w.name = 'FirstLevel/SecondLevel/ThirdLevel' w.text = '--' w.save('joe', 'third level of hierarchy', '::1', now) w = WikiPage(tc.env) w.name = 'FirstLevel/SecondLevel/OtherThirdLevel' w.text = '--' w.save('joe', 'other third level of hierarchy', '::1', now) tc.env.db_transaction("INSERT INTO ticket (id) VALUES ('123')")