コード例 #1
0
ファイル: test.py プロジェクト: pombredanne/trachacks
    def setUp(self):
        self.env = EnvironmentStub(default_data=True)
        from trac.log import logger_factory
        self.env.log = logger_factory(logtype='syslog',
                                      logfile=None,
                                      level='DEBUG',
                                      logid='Trac',
                                      format=None)

        self.env.path = '/'
        self.wiki_tag_rpc_engine = WikiTagRPCSystem(self.env)
        self.ticket_tag_rpc_engine = TicketTagRPCSystem(self.env)
        self.tag_engine = TagEngine(self.env)
        self.tag_engine.upgrade_environment(self.env.get_db_cnx())
        self.xml_rpc_system = XMLRPCSystem(self.env)

        # Insert some test tickets
        from trac.ticket.model import Ticket
        for id in (1, 2, 3):
            ticket = Ticket(self.env)
            ticket['summary'] = 'Test ticket %i' % id
            ticket['description'] = 'Test ticket %i description' % id
            ticket.insert()
コード例 #2
0
ファイル: test.py プロジェクト: nyuhuhuu/trachacks
 def setUp(self):
     self.env = EnvironmentStub(default_data=True)
     from trac.log import logger_factory
     self.env.log =logger_factory(logtype='syslog', logfile=None, level='DEBUG', logid='Trac', format=None)
     
     self.env.path = '/'
     self.wiki_tag_rpc_engine = WikiTagRPCSystem(self.env)
     self.ticket_tag_rpc_engine = TicketTagRPCSystem(self.env)
     self.tag_engine = TagEngine(self.env)
     self.tag_engine.upgrade_environment(self.env.get_db_cnx())
     self.xml_rpc_system = XMLRPCSystem(self.env)
                      
     
     # Insert some test tickets
     from trac.ticket.model import Ticket
     for id in (1, 2, 3):
         ticket = Ticket(self.env)
         ticket['summary'] = 'Test ticket %i' % id
         ticket['description'] = 'Test ticket %i description' % id
         ticket.insert()
コード例 #3
0
ファイル: test.py プロジェクト: pombredanne/trachacks
class TagsXmlRpcTestCase(unittest.TestCase):
    test_data = (('wiki', 'WikiStart', ('foo', 'bar')), ('wiki', 'SandBox',
                                                         ('bar', 'war')),
                 ('ticket', 1, ('war', 'death')), ('ticket', 2,
                                                   ('death', 'destruction')),
                 ('ticket', 3, ('foo', 'bar', 'destruction')))

    perm = Mock(assert_permission=lambda x: True,
                has_permission=lambda x: True)

    req = Mock(perm=perm, authname='anonymous')

    def _populate_tags(self, ts):
        for tagspace, target, tags in self.test_data:
            tagspace = ts.tagspace(tagspace)
            tagspace.add_tags(self.req, target, tags)
            yield tagspace, target, tags

    def setUp(self):
        self.env = EnvironmentStub(default_data=True)
        from trac.log import logger_factory
        self.env.log = logger_factory(logtype='syslog',
                                      logfile=None,
                                      level='DEBUG',
                                      logid='Trac',
                                      format=None)

        self.env.path = '/'
        self.wiki_tag_rpc_engine = WikiTagRPCSystem(self.env)
        self.ticket_tag_rpc_engine = TicketTagRPCSystem(self.env)
        self.tag_engine = TagEngine(self.env)
        self.tag_engine.upgrade_environment(self.env.get_db_cnx())
        self.xml_rpc_system = XMLRPCSystem(self.env)

        # Insert some test tickets
        from trac.ticket.model import Ticket
        for id in (1, 2, 3):
            ticket = Ticket(self.env)
            ticket['summary'] = 'Test ticket %i' % id
            ticket['description'] = 'Test ticket %i description' % id
            ticket.insert()

    def test_insert(self):
        ts = self.tag_engine.tagspace
        for tagspace, target, tags in self._populate_tags(ts):
            found_tags = tagspace.get_tags([target])
            self.assertEqual(found_tags, set(tags))

    def test_wiki_tagspace(self):

        self.assertEqual(self.wiki_tag_rpc_engine.namespace, 'wiki')

    def test_ticket_tagspace(self):

        self.assertEqual(self.ticket_tag_rpc_engine.namespace, 'ticket')

    def test_wiki_xmlrpc_methods(self):
        self.failUnless(
            set(self.wiki_tag_rpc_engine.xmlrpc_methods()) != None,
            "No xmlrpc methods for wiki namespace")

    def test_ticket_xmlrpc_methods(self):
        self.failUnless(
            set(self.ticket_tag_rpc_engine.xmlrpc_methods()) != None,
            "No xmlrpc methods for ticket namespace")

    def test_wiki_xmlrpc_namespace(self):
        self.assertEqual(self.wiki_tag_rpc_engine.xmlrpc_namespace(),
                         "tags.wiki")

    def test_ticket_xmlrpc_namespace(self):
        self.assertEqual(self.ticket_tag_rpc_engine.xmlrpc_namespace(),
                         "tags.ticket")

    def test_wiki_get_name_tags(self):
        wiki_start_tags = self.wiki_tag_rpc_engine.getTags(
            self.req, "WikiStart")
        self.failUnless(wiki_start_tags != None,
                        "Can not find any tags for mock page WikiStart")

    def test_xmlrpc_listMethods(self):
        for method in self.xml_rpc_system.all_methods(self.req):
            namespace = method.namespace.replace('.', '_')
            namespaces = {}
            if namespace not in namespaces:
                namespaces[namespace] = {
                    'description':
                    wiki_to_oneliner(method.namespace_description, self.env),
                    'methods': [],
                    'namespace':
                    method.namespace,
                }
            try:
                namespaces[namespace]['methods'].append(
                    (method.signature,
                     wiki_to_oneliner(method.description,
                                      self.env), method.permission))
            except Exception, e:
                self.fail('%s: %s\n' % (method.name, str(e)))
コード例 #4
0
ファイル: test.py プロジェクト: nyuhuhuu/trachacks
class TagsXmlRpcTestCase(unittest.TestCase):
    test_data = (('wiki', 'WikiStart', ('foo', 'bar')),
                 ('wiki', 'SandBox', ('bar', 'war')),
                 ('ticket', 1, ('war', 'death')),
                 ('ticket', 2, ('death', 'destruction')),
                 ('ticket', 3, ('foo', 'bar', 'destruction'))
                 )

    
    
    perm=Mock(assert_permission=lambda x: True,has_permission=lambda x: True)
    
    req = Mock(perm=perm, authname='anonymous')
    def _populate_tags(self,ts):
            for tagspace, target, tags in self.test_data:
                tagspace = ts.tagspace(tagspace)
                tagspace.add_tags(self.req, target, tags)
                yield tagspace, target, tags
            
    def setUp(self):
        self.env = EnvironmentStub(default_data=True)
        from trac.log import logger_factory
        self.env.log =logger_factory(logtype='syslog', logfile=None, level='DEBUG', logid='Trac', format=None)
        
        self.env.path = '/'
        self.wiki_tag_rpc_engine = WikiTagRPCSystem(self.env)
        self.ticket_tag_rpc_engine = TicketTagRPCSystem(self.env)
        self.tag_engine = TagEngine(self.env)
        self.tag_engine.upgrade_environment(self.env.get_db_cnx())
        self.xml_rpc_system = XMLRPCSystem(self.env)
                         
        
        # Insert some test tickets
        from trac.ticket.model import Ticket
        for id in (1, 2, 3):
            ticket = Ticket(self.env)
            ticket['summary'] = 'Test ticket %i' % id
            ticket['description'] = 'Test ticket %i description' % id
            ticket.insert()
    def test_insert(self):
        ts = self.tag_engine.tagspace
        for tagspace, target, tags in self._populate_tags(ts):
            found_tags = tagspace.get_tags([target])
            self.assertEqual(found_tags, set(tags))  
              
    def test_wiki_tagspace(self):
        
        self.assertEqual(self.wiki_tag_rpc_engine.namespace, 'wiki')
        
    def test_ticket_tagspace(self):
        
        self.assertEqual(self.ticket_tag_rpc_engine.namespace, 'ticket')
        
    def test_wiki_xmlrpc_methods(self):
        self.failUnless(set(self.wiki_tag_rpc_engine.xmlrpc_methods()) != None, "No xmlrpc methods for wiki namespace")
 
    def test_ticket_xmlrpc_methods(self):
        self.failUnless(set(self.ticket_tag_rpc_engine.xmlrpc_methods()) != None, "No xmlrpc methods for ticket namespace")
        
    def test_wiki_xmlrpc_namespace(self):
        self.assertEqual(self.wiki_tag_rpc_engine.xmlrpc_namespace(), "tags.wiki")
        
    def test_ticket_xmlrpc_namespace(self):
        self.assertEqual(self.ticket_tag_rpc_engine.xmlrpc_namespace(), "tags.ticket")  
        
    def test_wiki_get_name_tags (self):
        wiki_start_tags = self.wiki_tag_rpc_engine.getTags(self.req,"WikiStart")
        self.failUnless( wiki_start_tags!= None, "Can not find any tags for mock page WikiStart")
        
        
    def test_xmlrpc_listMethods(self):
        for method in self.xml_rpc_system.all_methods(self.req):
                namespace = method.namespace.replace('.', '_')
                namespaces = {}
                if namespace not in namespaces:
                    namespaces[namespace] = {
                        'description' : wiki_to_oneliner(method.namespace_description, self.env),
                        'methods' : [],
                        'namespace' : method.namespace,
                        }
                try:
                    namespaces[namespace]['methods'].append((method.signature, wiki_to_oneliner(method.description, self.env), method.permission))
                except Exception, e:
                    self.fail('%s: %s\n' % (method.name, str(e)))