def setUp(self): self.job_foo = MockJobDefinition(id='foo') self.job_bar = MockJobDefinition(id='bar') self.job_baz = MockJobDefinition(id='baz') self.provider1 = Mock(IProvider1) self.config = Mock(name='config') self.provider1.get_builtin_whitelists.return_value = [] self.provider_list = [self.provider1] self.obj = CheckBoxInvocationMixIn(self.provider_list, self.config)
def setUp(self): self.provider1 = Mock(spec=IProvider1) self.job_foo = MockJobDefinition(id='foo', provider=self.provider1) self.job_bar = MockJobDefinition(id='bar', provider=self.provider1) self.job_baz = MockJobDefinition(id='baz', provider=self.provider1) self.provider1.whitelist_list = [] self.provider1.id_map = defaultdict( list, foo=[self.job_foo], bar=[self.job_bar], baz=[self.job_baz]) self.provider1.unit_list = [self.job_foo, self.job_bar, self.job_baz] self.config = Mock(name='config') self.provider_loader = lambda: [self.provider1] self.obj = CheckBoxInvocationMixIn(self.provider_loader, self.config)
def setUp(self): self.job_foo = MockJobDefinition(name='foo') self.job_bar = MockJobDefinition(name='bar') self.job_baz = MockJobDefinition(name='baz') self.obj = CheckBoxInvocationMixIn(Mock(name="checkbox"))
class MiscTests(TestCase): def setUp(self): self.job_foo = MockJobDefinition(name='foo') self.job_bar = MockJobDefinition(name='bar') self.job_baz = MockJobDefinition(name='baz') self.obj = CheckBoxInvocationMixIn(Mock(name="checkbox")) def test_matching_job_list(self): # Nothing gets selected automatically ns = Mock() ns.whitelist = None ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list(ns, [ self.job_foo, self.job_bar]) self.assertEqual(observed, []) def test_matching_job_list_including(self): # Including jobs with glob pattern works ns = Mock() ns.whitelist = None ns.include_pattern_list = ['f.+'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list(ns, [ self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_matching_job_list_excluding(self): # Excluding jobs with glob pattern works ns = Mock() ns.whitelist = None ns.include_pattern_list = ['.+'] ns.exclude_pattern_list = ['f.+'] observed = self.obj._get_matching_job_list(ns, [ self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_bar]) def test_matching_job_list_whitelist(self): # whitelists contain list of include patterns # that are read and interpreted as usual whitelist = Mock() whitelist.readlines.return_value = ['foo'] whitelists = [whitelist] ns = Mock() ns.whitelist = whitelists ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list(ns, [ self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_matching_job_list_multiple_whitelists(self): whitelist_a = Mock() whitelist_a.readlines.return_value = ['foo'] whitelist_b = Mock() whitelist_b.readlines.return_value = ['baz'] whitelists = [whitelist_a, whitelist_b] ns = Mock() ns.whitelist = whitelists ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list(ns, [ self.job_foo, self.job_bar, self.job_baz]) self.assertEqual(observed, [self.job_foo, self.job_baz]) def test_no_prefix_matching_including(self): # Include patterns should only match whole job name ns = Mock() ns.whitelist = None ns.include_pattern_list = ['fo', 'ba.+'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list(ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_bar]) def test_no_prefix_matching_excluding(self): # Exclude patterns should only match whole job name ns = Mock() ns.whitelist = None ns.include_pattern_list = ['.+'] ns.exclude_pattern_list = ['fo', 'ba.+'] observed = self.obj._get_matching_job_list(ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_invalid_pattern_including(self): ns = Mock() ns.whitelist = None ns.include_pattern_list = ['?'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, []) def test_invalid_pattern_excluding(self): ns = Mock() ns.whitelist = None ns.include_pattern_list = ['fo.*'] ns.exclude_pattern_list = ['[bar'] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo])
class MiscTests(TestCase): def setUp(self): self.provider1 = Mock(spec=IProvider1) self.job_foo = MockJobDefinition(id='foo', provider=self.provider1) self.job_bar = MockJobDefinition(id='bar', provider=self.provider1) self.job_baz = MockJobDefinition(id='baz', provider=self.provider1) self.provider1.id_map = defaultdict(list, foo=[self.job_foo], bar=[self.job_bar], baz=[self.job_baz]) self.provider1.unit_list = [self.job_foo, self.job_bar, self.job_baz] self.config = Mock(name='config') self.provider_loader = lambda: [self.provider1] self.obj = CheckBoxInvocationMixIn(self.provider_loader, self.config) def test_matching_job_list(self): # Nothing gets selected automatically ns = Mock(name="ns") ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, []) def test_matching_job_list_including(self): # Including jobs with glob pattern works ns = Mock(name="ns") ns.include_pattern_list = ['f.+'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_matching_job_list_excluding(self): # Excluding jobs with glob pattern works ns = Mock(name="ns") ns.include_pattern_list = ['.+'] ns.exclude_pattern_list = ['f.+'] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_bar]) def test_no_prefix_matching_excluding(self): # Exclude patterns should only match whole job name ns = Mock(name="ns") ns.include_pattern_list = ['.+'] ns.exclude_pattern_list = ['fo', 'ba.+'] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_invalid_pattern_including(self): ns = Mock(name="ns") ns.include_pattern_list = ['\?'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, []) def test_invalid_pattern_excluding(self): ns = Mock(name="ns") ns.include_pattern_list = ['fo.*'] ns.exclude_pattern_list = ['\[bar'] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo])
class MiscTests(TestCase): def setUp(self): self.job_foo = MockJobDefinition(name='foo') self.job_bar = MockJobDefinition(name='bar') self.job_baz = MockJobDefinition(name='baz') self.obj = CheckBoxInvocationMixIn(Mock(name="checkbox")) def test_matching_job_list(self): # Nothing gets selected automatically ns = Mock() ns.whitelist = None ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, []) def test_matching_job_list_including(self): # Including jobs with glob pattern works ns = Mock() ns.whitelist = None ns.include_pattern_list = ['f.+'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_matching_job_list_excluding(self): # Excluding jobs with glob pattern works ns = Mock() ns.whitelist = None ns.include_pattern_list = ['.+'] ns.exclude_pattern_list = ['f.+'] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_bar]) def test_matching_job_list_whitelist(self): # whitelists contain list of include patterns # that are read and interpreted as usual whitelist = Mock() whitelist.readlines.return_value = ['foo'] whitelists = [whitelist] ns = Mock() ns.whitelist = whitelists ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_matching_job_list_multiple_whitelists(self): whitelist_a = Mock() whitelist_a.readlines.return_value = ['foo'] whitelist_b = Mock() whitelist_b.readlines.return_value = ['baz'] whitelists = [whitelist_a, whitelist_b] ns = Mock() ns.whitelist = whitelists ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar, self.job_baz]) self.assertEqual(observed, [self.job_foo, self.job_baz]) def test_no_prefix_matching_including(self): # Include patterns should only match whole job name ns = Mock() ns.whitelist = None ns.include_pattern_list = ['fo', 'ba.+'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_bar]) def test_no_prefix_matching_excluding(self): # Exclude patterns should only match whole job name ns = Mock() ns.whitelist = None ns.include_pattern_list = ['.+'] ns.exclude_pattern_list = ['fo', 'ba.+'] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo])
class MiscTests(TestCase): def setUp(self): self.job_foo = MockJobDefinition(id='foo') self.job_bar = MockJobDefinition(id='bar') self.job_baz = MockJobDefinition(id='baz') self.provider1 = Mock(IProvider1) self.config = Mock(name='config') self.provider1.get_builtin_whitelists.return_value = [] self.provider_list = [self.provider1] self.obj = CheckBoxInvocationMixIn(self.provider_list, self.config) def test_matching_job_list(self): # Nothing gets selected automatically ns = Mock(name="ns") ns.whitelist = [] ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, []) def test_matching_job_list_including(self): # Including jobs with glob pattern works ns = Mock(name="ns") ns.whitelist = [] ns.include_pattern_list = ['f.+'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_matching_job_list_excluding(self): # Excluding jobs with glob pattern works ns = Mock(name="ns") ns.whitelist = [] ns.include_pattern_list = ['.+'] ns.exclude_pattern_list = ['f.+'] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_bar]) def test_matching_job_list_whitelist(self): # whitelists contain list of include patterns # that are read and interpreted as usual ns = Mock(name="ns") ns.whitelist = [ mock_whitelist("foo_whitelist", "foo", "foo.whitelist") ] ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_matching_job_list_multiple_whitelists(self): ns = Mock(name="ns") ns.whitelist = [ mock_whitelist("whitelist_a", "foo", "a.whitelist"), mock_whitelist("whitelist_b", "baz", "b.whitelist"), ] ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar, self.job_baz]) self.assertEqual(observed, [self.job_foo, self.job_baz]) def test_no_prefix_matching_including(self): # Include patterns should only match whole job name ns = Mock(name="ns") ns.whitelist = [ mock_whitelist("whitelist_a", "fo", "a.whitelist"), mock_whitelist("whitelist_b", "ba.+", "b.whitelist"), ] ns.include_pattern_list = ['fo', 'ba.+'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_bar]) def test_no_prefix_matching_excluding(self): # Exclude patterns should only match whole job name ns = Mock(name="ns") ns.whitelist = [] ns.include_pattern_list = ['.+'] ns.exclude_pattern_list = ['fo', 'ba.+'] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_invalid_pattern_including(self): ns = Mock(name="ns") ns.whitelist = [] ns.include_pattern_list = ['?'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, []) def test_invalid_pattern_excluding(self): ns = Mock(name="ns") ns.whitelist = [] ns.include_pattern_list = ['fo.*'] ns.exclude_pattern_list = ['[bar'] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo])
class MiscTests(TestCase): def setUp(self): self.job_foo = MockJobDefinition(id='foo') self.job_bar = MockJobDefinition(id='bar') self.job_baz = MockJobDefinition(id='baz') self.provider1 = Mock(IProvider1) self.config = Mock(name='config') self.provider1.get_builtin_whitelists.return_value = [] self.provider_list = [self.provider1] self.obj = CheckBoxInvocationMixIn(self.provider_list, self.config) def test_matching_job_list(self): # Nothing gets selected automatically ns = Mock(name="ns") ns.whitelist = [] ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list(ns, [ self.job_foo, self.job_bar]) self.assertEqual(observed, []) def test_matching_job_list_including(self): # Including jobs with glob pattern works ns = Mock(name="ns") ns.whitelist = [] ns.include_pattern_list = ['f.+'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list(ns, [ self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_matching_job_list_excluding(self): # Excluding jobs with glob pattern works ns = Mock(name="ns") ns.whitelist = [] ns.include_pattern_list = ['.+'] ns.exclude_pattern_list = ['f.+'] observed = self.obj._get_matching_job_list(ns, [ self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_bar]) def test_matching_job_list_whitelist(self): # whitelists contain list of include patterns # that are read and interpreted as usual ns = Mock(name="ns") ns.whitelist = [ mock_whitelist("foo_whitelist", "foo", "foo.whitelist")] ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list(ns, [ self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_matching_job_list_multiple_whitelists(self): ns = Mock(name="ns") ns.whitelist = [ mock_whitelist("whitelist_a", "foo", "a.whitelist"), mock_whitelist("whitelist_b", "baz", "b.whitelist"), ] ns.include_pattern_list = [] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list(ns, [ self.job_foo, self.job_bar, self.job_baz]) self.assertEqual(observed, [self.job_foo, self.job_baz]) def test_no_prefix_matching_including(self): # Include patterns should only match whole job name ns = Mock(name="ns") ns.whitelist = [ mock_whitelist("whitelist_a", "fo", "a.whitelist"), mock_whitelist("whitelist_b", "ba.+", "b.whitelist"), ] ns.include_pattern_list = ['fo', 'ba.+'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list(ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_bar]) def test_no_prefix_matching_excluding(self): # Exclude patterns should only match whole job name ns = Mock(name="ns") ns.whitelist = [] ns.include_pattern_list = ['.+'] ns.exclude_pattern_list = ['fo', 'ba.+'] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo]) def test_invalid_pattern_including(self): ns = Mock(name="ns") ns.whitelist = [] ns.include_pattern_list = ['?'] ns.exclude_pattern_list = [] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, []) def test_invalid_pattern_excluding(self): ns = Mock(name="ns") ns.whitelist = [] ns.include_pattern_list = ['fo.*'] ns.exclude_pattern_list = ['[bar'] observed = self.obj._get_matching_job_list( ns, [self.job_foo, self.job_bar]) self.assertEqual(observed, [self.job_foo])