def test_get_filter(self, compile): compile.return_value = 'compiled' f = gerrit.get_filter( dict(projects='p1,p2,p3', comment_re='comment_re', ignore_usernames='ignore_username1,ignore_username2')) print(f.filters[0].filters[1].fltr.authors) self.assertEquals('ignore_username1', f.filters[0].filters[1].fltr.authors[0]) self.assertEquals('ignore_username2', f.filters[0].filters[1].fltr.authors[1]) self.assertEquals('compiled', f.filters[0].filters[2].matcher) self.assertEquals(['p1', 'p2', 'p3'], f.filters[0].filters[3].projects) self.assertEquals( '(' '(event is CommentAddedEvent)' ' AND ( NOT (author in [\'ignore_username1\', \'ignore_username2\']))' ' AND (comment matches comment_re)' ' AND (branch==master, project in [p1,p2,p3])' ') OR (' '(event is PatchsetCreatedEvent)' ' AND (branch==master, project in [p1,p2,p3])' ')', str(f))
def __init__(self, env=None): logging.getLogger('sqlalchemy').setLevel(logging.DEBUG) env = env or dict() self.database = None self.queue = None dburl = env.get('dburl') if dburl: log.info('dburl=%s', dburl) self.database = db.DB(dburl) self.queue = job_queue.JobQueue( database=self.database, nodepool=None, filesystem=None, uploader=None, executor=None ) self.gerrit_client = gerrit.get_client(env) self.event_filter = gerrit.get_filter(env) self.error_filter = gerrit.get_error_filter(env) log.info("Event filter: %s", self.event_filter) self.event_target = event_target.get_target(dict(env, queue=self.queue)) self.sleep_timeout = int(env.get('sleep_timeout', self.DEFAULT_SLEEP_TIMEOUT)) recent_seconds = int(env.get('recent_event_time', self.DEFAULT_EVENT_TIME)) self.recent_event_time = datetime.timedelta(seconds=recent_seconds)
def test_passing(self): e = FakeCommentEvent("hello") f = gerrit.get_filter(dict( projects='nova', comment_re='hello' )) self.assertTrue(f.is_event_matching_criteria(e))
def test_passing(self): e = FakeCommentEvent("hello") f = gerrit.get_filter( dict( projects='nova', comment_re='hello', ignore_usernames=None, )) self.assertTrue(f.is_event_matching_criteria(e))
def test_get_filter(self, compile): compile.return_value = 'compiled' f = gerrit.get_filter( dict(projects='p1,p2,p3', comment_re='comment_re')) self.assertEquals('compiled', f.filters[0].filters[1].matcher) self.assertEquals(['p1', 'p2', 'p3'], f.filters[0].filters[2].projects) self.assertEquals( '(' '(event is CommentAddedEvent)' ' AND (comment matches compiled)' ' AND (branch==master, project in [p1,p2,p3])' ') OR (' '(event is PatchsetCreatedEvent)' ' AND (branch==master, project in [p1,p2,p3])' ')', str(f))