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)))
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))
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))
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_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_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_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)
def test_global_neighborhood_attachments(self): target = resource.Neighborhood('global', None).child(self.resource) self.assertEquals( "[global:] Attachment 'foo.txt' in [global:] Ticket #1", resource.get_resource_description(self.env, target)) self.assertEquals( "[global:] Attachment 'foo.txt' in [global:] Ticket #1", resource.get_resource_name(self.env, target)) self.assertEquals("[global:] foo.txt ([global:] Ticket #1)", resource.get_resource_shortname(self.env, target)) self.assertEquals('Global Bar', resource.get_resource_summary(self.env, target)) self.assertEquals( 'http://example.org/trac.cgi/attachment/ticket/1/foo.txt', resource.get_resource_url(self.env, target, self.env.href))
def test_product_neighborhood_attachments(self): target = resource.Neighborhood('product', u'xü').child(self.resource) self.assertEquals( u"[product:xü] Attachment 'foo.txt' in [product:xü] Ticket #1", resource.get_resource_description(self.env, target)) self.assertEquals( u"[product:xü] Attachment 'foo.txt' in [product:xü] Ticket #1", resource.get_resource_name(self.env, target)) self.assertEquals(u"[product:xü] foo.txt ([product:xü] Ticket #1)", resource.get_resource_shortname(self.env, target)) self.assertEquals('Product Bar', resource.get_resource_summary(self.env, target)) self.assertEquals( 'http://example.org/trac.cgi/products/x%C3%BC/attachment/ticket/1/foo.txt', resource.get_resource_url(self.env, target, self.env.href))
def test_product_neighborhood_ticket(self): nbh = resource.Neighborhood('product', u'xü') data = dict(summary='Ticket summary', description='Ticket description', type='task', status='accepted') target = nbh.child('ticket', self._new_ticket(self.env1, data)) self.assertEquals(u"[product:xü] Ticket #1", resource.get_resource_description(self.env, target)) self.assertEquals(u"[product:xü] Ticket #1", resource.get_resource_name(self.env, target)) self.assertEquals(u"[product:xü] #1", resource.get_resource_shortname(self.env, target)) self.assertEquals(u"task: Ticket summary (accepted)", resource.get_resource_summary(self.env, target)) self.assertEquals( 'http://example.org/trac.cgi/products/x%C3%BC/ticket/1', resource.get_resource_url(self.env, target, self.env.href))
def test_global_neighborhood_ticket(self): nbh = resource.Neighborhood('global', None) data = dict(summary='Ticket summary', description='Ticket description', type='enhancement', status='new') target = nbh.child('ticket', self._new_ticket(self.global_env, data)) self.assertEquals("[global:] Ticket #1", resource.get_resource_description(self.env, target)) self.assertEquals("[global:] Ticket #1", resource.get_resource_name(self.env, target)) self.assertEquals("[global:] #1", resource.get_resource_shortname(self.env, target)) self.assertEquals('enhancement: Ticket summary (new)', resource.get_resource_summary(self.env, target)) self.assertEquals( 'http://example.org/trac.cgi/ticket/1', resource.get_resource_url(self.env, target, self.env.href))
def test_equals(self): # Plain equalities self.assertEqual(resource.Neighborhood(), resource.Neighborhood()) self.assertEqual(resource.Neighborhood(None), resource.Neighborhood()) self.assertEqual(resource.Neighborhood('realm'), resource.Neighborhood('realm')) self.assertEqual(resource.Neighborhood('realm', 'id'), resource.Neighborhood('realm', 'id')) # Inequalities self.assertNotEqual(resource.Neighborhood('realm', 'id'), resource.Neighborhood('realm', 'id1')) self.assertNotEqual(resource.Neighborhood('realm1', 'id'), resource.Neighborhood('realm', 'id'))