def test_splitting(self): '''Multiple values can be split with a comma. Handle extra whitespace.''' for suffix in [',', ', ', ' ,', ',some.other.task', ', some.other.task', ' ,some.other.task']: task = self.msg['msg']['task']['name'] + suffix self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task)) for prefix in [',', ', ', ' ,', 'some.other.task,', 'some.other.task, ', 'some.other.task ,']: task = self.msg['msg']['task']['name'] + suffix self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task)) task = 'no.match1,no.match2' self.assertFalse(taskotron.taskotron_task( self.config, self.msg, task))
def test_wildcards_splitting(self): '''Wildcards must work when values are split''' task = self.msg['msg']['task']['name'] + '*,other.task' self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task)) task = 'other.task,*' self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task))
def test_empty_task(self): '''Don't match empty task name''' task = '' self.assertFalse(taskotron.taskotron_task( self.config, self.msg, task)) task = None self.assertFalse(taskotron.taskotron_task( self.config, self.msg, task))
def test_case_insensitive(self): '''Matching should not be case sensitive''' task = self.msg['msg']['task']['name'].upper() self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task)) task = self.msg['msg']['task']['name'].lower() self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task)) task = self.msg['msg']['task']['name'].capitalize() self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task))
def test_wildcards(self): '''Wildcards must work''' # == a star == task = self.msg['msg']['task']['name'] + '*' self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task)) task = '*' self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task)) task = self.msg['msg']['task']['name'][:-1] + '*' self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task)) task = self.msg['msg']['task']['name'] + '*' self.msg['msg']['task']['name'] = \ self.msg['msg']['task']['name'] + '.subtask' self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task)) task = 'no.match*' self.assertFalse(taskotron.taskotron_task( self.config, self.msg, task)) # == a question mark == task = self.msg['msg']['task']['name'] + '?' self.assertFalse(taskotron.taskotron_task( self.config, self.msg, task)) task = self.msg['msg']['task']['name'][:-1] + '?' self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task)) # == a range == task = self.msg['msg']['task']['name'][:-1] + '[a-z]' self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task)) task = self.msg['msg']['task']['name'][:-1] + '[!a-z]' self.assertFalse(taskotron.taskotron_task( self.config, self.msg, task))
def test_no_match(self): '''Match exactly task name''' task = 'this_task_doesnt_exist' self.assertFalse(taskotron.taskotron_task( self.config, self.msg, task))
def test_exact_match(self): '''Match exactly task name''' task = self.msg['msg']['task']['name'] self.assertTrue(taskotron.taskotron_task( self.config, self.msg, task))