コード例 #1
0
ファイル: test_search.py プロジェクト: scarabeusiv/osc2
 def test_request3(self):
     """test find_request (xpath as string)"""
     xpath = '/state[@name = "new"]'
     collection = find_request(xpath)
     self.assertTrue(len(collection.request[:]) == 1)
     self.assertEqual(collection.get('matches'), '1')
     self.assertEqual(collection.request[0].action.get('type'), 'submit')
コード例 #2
0
ファイル: test_search.py プロジェクト: vikas-lamba/osc2
 def test_request3(self):
     """test find_request (xpath as string)"""
     xpath = '/state[@name = "new"]'
     collection = find_request(xpath)
     self.assertTrue(len(collection.request[:]) == 1)
     self.assertEqual(collection.get('matches'), '1')
     self.assertEqual(collection.request[0].action.get('type'), 'submit')
コード例 #3
0
ファイル: test_search.py プロジェクト: scarabeusiv/osc2
 def test_request2(self):
     """test find_request (with validation)"""
     RequestCollection.SCHEMA = self.fixture_file('collection_request.xsd')
     xpb = XPathBuilder()
     xp = xpb.state[xpb.attr('name') == 'new']
     collection = find_request(xp)
     self.assertTrue(len(collection.request[:]) == 1)
     self.assertEqual(collection.get('matches'), '1')
     self.assertEqual(collection.request[0].action.get('type'), 'submit')
     self.assertEqual(collection.request.action.get('type'), 'submit')
コード例 #4
0
ファイル: test_search.py プロジェクト: vikas-lamba/osc2
 def test_request2(self):
     """test find_request (with validation)"""
     RequestCollection.SCHEMA = self.fixture_file('collection_request.xsd')
     xpb = XPathBuilder()
     xp = xpb.state[xpb.attr('name') == 'new']
     collection = find_request(xp)
     self.assertTrue(len(collection.request[:]) == 1)
     self.assertEqual(collection.get('matches'), '1')
     self.assertEqual(collection.request[0].action.get('type'), 'submit')
     self.assertEqual(collection.request.action.get('type'), 'submit')
コード例 #5
0
 def _find_requests(cls, tgt_project, tgt_package, info):
     """Returns a collection of requests."""
     xpb = XPathBuilder(is_relative=True)
     xp = xpb.dummy()
     by_kind, xp = cls._build_by_predicate(xpb, info, info.state)
     if not by_kind:
         xp = cls._add_states(xpb, xpb.dummy(), info.state)
     xp = (xpb.state.attr('name') == 'review') & xp.parenthesize()
     if tgt_project is not None:
         xp = xp & (xpb.action.target.attr('project') == tgt_project)
     if tgt_package is not None:
         xp = xp & (xpb.action.target.attr('package') == tgt_package)
     logger().debug(xp.tostring())
     res = find_request(xp=xp, apiurl=info.apiurl)
     collection = [r for r in res]
     return collection
コード例 #6
0
ファイル: request.py プロジェクト: bergmannf/osc2
 def _find_requests(cls, project, package, info):
     """Returns a collection of requests."""
     xpb = XPathBuilder(is_relative=True)
     xp = xpb.dummy()
     # state has at least one element
     for state in info.state:
         xp = xp | xpb.state.attr('name') == state
     xp = xp.parenthesize()
     if info.user is not None:
         xp = xp & ((xpb.state.attr('who') == info.user)
                    | (xpb.history.attr('who') == info.user)).parenthesize()
     if project is not None:
         tmp = ((xpb.action.target.attr('project') == project)
                | (xpb.action.source.attr('project') == project))
         xp = xp & tmp.parenthesize()
     if package is not None:
         tmp = ((xpb.action.target.attr('package') == package)
                | (xpb.action.source.attr('package') == package))
         xp = xp & tmp.parenthesize()
     logger().debug(xp.tostring())
     res = find_request(xp=xp, apiurl=info.apiurl)
     collection = [r for r in res]
     return collection
コード例 #7
0
ファイル: test_search.py プロジェクト: scarabeusiv/osc2
 def test_request1(self):
     """test find_request"""
     xpb = XPathBuilder()
     xp = xpb.state[(xpb.attr('name') == 'new')
                    | (xpb.attr('name') == 'review')]
     xp = xp & (xpb.action.target[xpb.attr('project') == 'prj']
                | xpb.action.source[xpb.attr('project') == 'prj']
                ).parenthesize()
     collection = find_request(xp)
     self.assertTrue(len(collection.request[:]) == 3)
     self.assertEqual(collection.request[0].get('id'), '1')
     self.assertEqual(collection.request[0].action.source.get('project'),
                      'foo')
     self.assertEqual(collection.request[1].get('id'), '42')
     self.assertEqual(collection.request[1].action.get('type'), 'submit')
     self.assertEqual(collection.request[2].get('id'), '108')
     self.assertEqual(collection.request[2].review[2].get('by_group'),
                      'autobuild-team')
     # test __iter__ method of the collection
     ids = ['1', '42', '108']
     for r in collection:
         self.assertEqual(r.get('id'), ids.pop(0))
     self.assertTrue(len(ids) == 0)
コード例 #8
0
ファイル: test_search.py プロジェクト: vikas-lamba/osc2
 def test_request1(self):
     """test find_request"""
     xpb = XPathBuilder()
     xp = xpb.state[(xpb.attr('name') == 'new')
                    | (xpb.attr('name') == 'review')]
     xp = xp & (
         xpb.action.target[xpb.attr('project') == 'prj']
         | xpb.action.source[xpb.attr('project') == 'prj']).parenthesize()
     collection = find_request(xp)
     self.assertTrue(len(collection.request[:]) == 3)
     self.assertEqual(collection.request[0].get('id'), '1')
     self.assertEqual(collection.request[0].action.source.get('project'),
                      'foo')
     self.assertEqual(collection.request[1].get('id'), '42')
     self.assertEqual(collection.request[1].action.get('type'), 'submit')
     self.assertEqual(collection.request[2].get('id'), '108')
     self.assertEqual(collection.request[2].review[2].get('by_group'),
                      'autobuild-team')
     # test __iter__ method of the collection
     ids = ['1', '42', '108']
     for r in collection:
         self.assertEqual(r.get('id'), ids.pop(0))
     self.assertTrue(len(ids) == 0)
コード例 #9
0
ファイル: request.py プロジェクト: vikas-lamba/osc2
 def _find_requests(cls, project, package, info):
     """Returns a collection of requests."""
     xpb = XPathBuilder(is_relative=True)
     xp = xpb.dummy()
     # state has at least one element
     for state in info.state:
         xp = xp | xpb.state.attr('name') == state
     xp = xp.parenthesize()
     if info.user is not None:
         xp = xp & ((xpb.state.attr('who') == info.user)
                    |
                    (xpb.history.attr('who') == info.user)).parenthesize()
     if project is not None:
         tmp = ((xpb.action.target.attr('project') == project)
                | (xpb.action.source.attr('project') == project))
         xp = xp & tmp.parenthesize()
     if package is not None:
         tmp = ((xpb.action.target.attr('package') == package)
                | (xpb.action.source.attr('package') == package))
         xp = xp & tmp.parenthesize()
     logger().debug(xp.tostring())
     res = find_request(xp=xp, apiurl=info.apiurl)
     collection = [r for r in res]
     return collection