示例#1
0
 def test_resource_exists_default_format(self):
     res = resource.Resource('fake', 'exists', version=1)
     link = resource.render_resource_link(self.env, self.context, res)
     html = tag.a('fake:exists',
                  class_='fake',
                  href='/trac.cgi/fake/exists?version=1')
     self.assertEqual(unicode(html), unicode(link))
示例#2
0
 def test_resource_has_no_manager_default_format(self):
     res = resource.Resource('unmanaged', 'exists', version=1)
     link = resource.render_resource_link(self.env, self.context, res)
     html = tag.a('unmanaged:exists',
                  class_='unmanaged',
                  href='/trac.cgi/unmanaged/exists?version=1')
     self.assertEqual(unicode(html), unicode(link))
示例#3
0
class ProductReportResourceTestCase(ProductResourceTestCase):
    resource = resource.Resource('report', 1)

    def test_global_neighborhood_report(self):
        target = resource.Neighborhood('global', None).child(self.resource)

        self.assertEquals("[global:] report:1",
                          resource.get_resource_description(self.env, target))
        self.assertEquals("[global:] report:1",
                          resource.get_resource_name(self.env, target))
        self.assertEquals("[global:] report:1",
                          resource.get_resource_shortname(self.env, target))
        self.assertEquals('[global:] report:1 at version None',
                          resource.get_resource_summary(self.env, target))
        self.assertEquals(
            'http://example.org/trac.cgi/report/1',
            resource.get_resource_url(self.env, target, self.env.href))

    def test_product_neighborhood_report(self):
        target = resource.Neighborhood('product', u'xü').child(self.resource)

        self.assertEquals(u"[product:xü] report:1",
                          resource.get_resource_description(self.env, target))
        self.assertEquals(u"[product:xü] report:1",
                          resource.get_resource_name(self.env, target))
        self.assertEquals(u"[product:xü] report:1",
                          resource.get_resource_shortname(self.env, target))
        self.assertEquals(u"[product:xü] report:1 at version None",
                          resource.get_resource_summary(self.env, target))
        self.assertEquals(
            'http://example.org/trac.cgi/products/x%C3%BC/report/1',
            resource.get_resource_url(self.env, target, self.env.href))
示例#4
0
class ProductMilestoneResourceTestCase(ProductResourceTestCase):
    resource = resource.Resource('milestone', 'milestone1')

    def test_global_neighborhood_milestone(self):
        target = resource.Neighborhood('global', None).child(self.resource)

        self.assertEquals("[global:] Milestone milestone1",
                          resource.get_resource_description(self.env, target))
        self.assertEquals("[global:] Milestone milestone1",
                          resource.get_resource_name(self.env, target))
        self.assertEquals("milestone1",
                          resource.get_resource_shortname(self.env, target))
        self.assertEquals("[global:] Milestone milestone1",
                          resource.get_resource_summary(self.env, target))
        self.assertEquals(
            'http://example.org/trac.cgi/milestone/milestone1',
            resource.get_resource_url(self.env, target, self.env.href))

    def test_product_neighborhood_milestone(self):
        target = resource.Neighborhood('product', u'xü').child(self.resource)

        self.assertEquals(u"[product:xü] Milestone milestone1",
                          resource.get_resource_description(self.env, target))
        self.assertEquals(u"[product:xü] Milestone milestone1",
                          resource.get_resource_name(self.env, target))
        self.assertEquals(u"milestone1",
                          resource.get_resource_shortname(self.env, target))
        self.assertEquals(u"[product:xü] Milestone milestone1",
                          resource.get_resource_summary(self.env, target))
        self.assertEquals(
            'http://example.org/trac.cgi/products/x%C3%BC/milestone/milestone1',
            resource.get_resource_url(self.env, target, self.env.href))
示例#5
0
 def test_resource_missing_default_format(self):
     res = resource.Resource('fake', 'missing', version=1)
     link = resource.render_resource_link(self.env, self.context, res)
     html = tag.a('fake:missing',
                  class_='fake missing',
                  rel='nofollow',
                  href='/trac.cgi/fake/missing?version=1')
     self.assertEqual(unicode(html), unicode(link))
示例#6
0
 def test_resource_exists_summary_format(self):
     res = resource.Resource('fake', 'exists', version=1)
     link = resource.render_resource_link(self.env, self.context, res,
                                          'summary')
     html = tag.a('fake:exists at version 1',
                  class_='fake',
                  href='/trac.cgi/fake/exists?version=1')
     self.assertEqual(str(html), str(link))
示例#7
0
 def test_resource_has_no_manager_summary_format(self):
     res = resource.Resource('unmanaged', 'exists', version=1)
     link = resource.render_resource_link(self.env, self.context, res,
                                          'summary')
     html = tag.a('unmanaged:exists at version 1',
                  class_='unmanaged',
                  href='/trac.cgi/unmanaged/exists?version=1')
     self.assertEqual(str(html), str(link))
示例#8
0
 def test_resource_missing_summary_format(self):
     res = resource.Resource('fake', 'missing', version=1)
     link = resource.render_resource_link(self.env, self.context, res,
                                          'summary')
     html = tag.a('fake:missing at version 1',
                  class_='fake missing',
                  rel='nofollow',
                  href='/trac.cgi/fake/missing?version=1')
     self.assertEqual(str(html), str(link))
示例#9
0
    def test_hierarchy_clone(self):
        def enum_parents(r):
            while r is not None:
                yield r
                r = r.parent

        nbh = resource.Neighborhood('realm', 'id')
        nbh1 = resource.Neighborhood('realm', 'id1')

        src = resource.Resource('attachment', 'file.txt')
        src.parent = resource.Resource('wiki', 'WikiStart')
        src.parent.parent = resource.Resource('x', 'y')

        self.assertTrue(
            all(r.neighborhood is nbh for r in enum_parents(nbh(src))))
        self.assertTrue(all(r.neighborhood is None for r in enum_parents(src)))

        src = nbh1(src)
        self.assertTrue(
            all(r.neighborhood is nbh for r in enum_parents(nbh(src))))
        self.assertTrue(all(r.neighborhood is nbh1 for r in enum_parents(src)))
示例#10
0
class ProductWikiResourceTestCase(ProductResourceTestCase):
    resource = resource.Resource('wiki', 'TestPage', version=2)

    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 test_global_neighborhood_wiki(self):
        target = resource.Neighborhood('global', None).child(self.resource)

        self.assertEquals("TestPage",
                          resource.get_resource_description(self.env, target))
        self.assertEquals("TestPage",
                          resource.get_resource_name(self.env, target))
        self.assertEquals("TestPage",
                          resource.get_resource_shortname(self.env, target))
        self.assertEquals("TestPage",
                          resource.get_resource_summary(self.env, target))
        self.assertEquals(
            'http://example.org/trac.cgi/wiki/TestPage?version=2',
            resource.get_resource_url(self.env, target, self.env.href))

    def test_product_neighborhood_wiki(self):
        target = resource.Neighborhood('product', u'xü').child(self.resource)

        self.assertEquals(u"TestPage",
                          resource.get_resource_description(self.env, target))
        self.assertEquals(u"TestPage",
                          resource.get_resource_name(self.env, target))
        self.assertEquals(u"TestPage",
                          resource.get_resource_shortname(self.env, target))
        self.assertEquals(u"TestPage",
                          resource.get_resource_summary(self.env, target))
        self.assertEquals(
            'http://example.org/trac.cgi/products/x%C3%BC/wiki/TestPage?version=2',
            resource.get_resource_url(self.env, target, self.env.href))
示例#11
0
    def setUp(self):
        ProductResourceTestCase.setUp(self)
        self.global_env.path = os.path.join(tempfile.gettempdir(),
                                            'trac-tempenv')
        if os.path.exists(self.global_env.path):
            shutil.rmtree(self.global_env.path)
        os.mkdir(self.global_env.path)

        attachment = Attachment(self.global_env, 'ticket', 1)
        attachment.description = 'Global Bar'
        attachment.insert('foo.txt', StringIO(''), 0)

        attachment = Attachment(self.env1, 'ticket', 1)
        attachment.description = 'Product Bar'
        attachment.insert('foo.txt', StringIO(''), 0)
        self.resource = resource.Resource('ticket',
                                          1).child('attachment', 'foo.txt')
示例#12
0
 def test_equals(self):
     # Plain equalities
     self.assertEqual(resource.Resource(), resource.Resource())
     self.assertEqual(resource.Resource(None), resource.Resource())
     self.assertEqual(resource.Resource('wiki'), resource.Resource('wiki'))
     self.assertEqual(resource.Resource('wiki', 'WikiStart'),
                      resource.Resource('wiki', 'WikiStart'))
     self.assertEqual(resource.Resource('wiki', 'WikiStart', 42),
                      resource.Resource('wiki', 'WikiStart', 42))
     # Inequalities
     self.assertNotEqual(resource.Resource('wiki', 'WikiStart', 42),
                         resource.Resource('wiki', 'WikiStart', 43))
     self.assertNotEqual(resource.Resource('wiki', 'WikiStart', 0),
                         resource.Resource('wiki', 'WikiStart', None))
     # Resource hierarchy
     r1 = resource.Resource('attachment', 'file.txt')
     r1.parent = resource.Resource('wiki', 'WikiStart')
     r2 = resource.Resource('attachment', 'file.txt')
     r2.parent = resource.Resource('wiki', 'WikiStart')
     self.assertEqual(r1, r2)
     r2.parent = r2.parent(version=42)
     self.assertNotEqual(r1, r2)
示例#13
0
 def test_resources_equals(self):
     nbh = resource.Neighborhood('realm', 'id')
     nbh1 = resource.Neighborhood('realm', 'id1')
     # Plain equalities
     self.assertEqual(nbh(resource.Resource()), nbh(resource.Resource()))
     self.assertEqual(nbh(resource.Resource(None)),
                      nbh(resource.Resource()))
     self.assertEqual(nbh(resource.Resource('wiki')),
                      nbh(resource.Resource('wiki')))
     self.assertEqual(nbh(resource.Resource('wiki', 'WikiStart')),
                      nbh(resource.Resource('wiki', 'WikiStart')))
     self.assertEqual(nbh(resource.Resource('wiki', 'WikiStart', 42)),
                      nbh(resource.Resource('wiki', 'WikiStart', 42)))
     # Inequalities
     self.assertNotEqual(nbh(resource.Resource('wiki', 'WikiStart', 42)),
                         nbh(resource.Resource('wiki', 'WikiStart', 43)))
     self.assertNotEqual(nbh(resource.Resource('wiki', 'WikiStart', 0)),
                         nbh(resource.Resource('wiki', 'WikiStart', None)))
     self.assertNotEqual(nbh1(resource.Resource()),
                         nbh(resource.Resource()))
     self.assertNotEqual(nbh1(resource.Resource(None)),
                         nbh(resource.Resource()))
     self.assertNotEqual(nbh1(resource.Resource('wiki')),
                         nbh(resource.Resource('wiki')))
     self.assertNotEqual(nbh1(resource.Resource('wiki', 'WikiStart')),
                         nbh(resource.Resource('wiki', 'WikiStart')))
     self.assertNotEqual(nbh1(resource.Resource('wiki', 'WikiStart', 42)),
                         nbh(resource.Resource('wiki', 'WikiStart', 42)))
     # Resource hierarchy
     r1 = nbh(resource.Resource('attachment', 'file.txt'))
     r1.parent = nbh(resource.Resource('wiki', 'WikiStart'))
     r2 = nbh(resource.Resource('attachment', 'file.txt'))
     r2.parent = nbh(resource.Resource('wiki', 'WikiStart'))
     self.assertEqual(r1, r2)
     r2.parent = r2.parent(version=42)
     self.assertNotEqual(r1, r2)