def test_install_fail(self): """Make sure install fails if path does not exist.""" args = kubernetes_bazel.parse_args([ '--install=foo', ]) with self.assertRaises(ValueError): kubernetes_bazel.main(args)
def test_all_bazel(self): """Make sure all commands starts with bazel except for coarse.""" args = kubernetes_bazel.parse_args( ['--build=//a', '--test=//b', '--release=//c']) kubernetes_bazel.main(args) for call in self.callstack[:-2]: self.assertTrue(call.startswith('bazel'), call)
def test_expand(self): """Make sure flags are expanded properly.""" args = kubernetes_bazel.parse_args(['--build=//b/... //c/...']) kubernetes_bazel.main(args) call = self.callstack[-2] self.assertIn('//b/...', call) self.assertIn('//c/...', call)
def test_install(self): """Make sure install is called as 1st scenario call.""" with tempfile.NamedTemporaryFile(delete=False) as fp: install = fp.name args = kubernetes_bazel.parse_args([ '--install=%s' % install, ]) kubernetes_bazel.main(args) self.assertIn(install, self.callstack[0])
def test_expand(self): """Make sure flags are expanded properly.""" args = kubernetes_bazel.parse_args([ '--build=//b/... //c/...' ]) kubernetes_bazel.main(args) call = self.callstack[-2] self.assertIn('//b/...', call) self.assertIn('//c/...', call)
def test_all_bazel(self): """Make sure all commands starts with bazel except for coarse""" args = kubernetes_bazel.parse_args( ['--build=//a', '--test=//b', '--release=//c']) with Stub(kubernetes_bazel, 'get_version', self.fake_version): kubernetes_bazel.main(args) for call in self.callstack[:-2]: self.assertFalse(call.startswith('bazel'))
def test_all_bazel(self): """Make sure all commands starts with bazel except for coarse.""" args = kubernetes_bazel.parse_args([ '--build=//a', '--test=//b', '--release=//c' ]) kubernetes_bazel.main(args) for call in self.callstack[:-2]: self.assertTrue(call.startswith('bazel'), call)
def test_query(self): """Make sure query is constructed properly.""" args = kubernetes_bazel.parse_args([ '--build=//b/... -//b/bb/... //c/...' ]) # temporarily un-stub query with Stub(kubernetes_bazel, 'query', self.boiler['query'].old): def check_query(*cmd): self.assertIn('kind(.*_binary, rdeps(//b/... -//b/bb/... +//c/..., //...))', cmd) return '//b/aa/...\n//c/...' with Stub(kubernetes_bazel, 'check_output', check_query): kubernetes_bazel.main(args)
def test_expand(self): """Make sure flags are expanded properly.""" args = kubernetes_bazel.parse_args( ['--build=--flag=a //b/... //c/...']) kubernetes_bazel.main(args) for call in self.callstack: if 'build' in call: self.assertIn('--flag=a', call) self.assertIn('//b/...', call) self.assertIn('//c/...', call)
def test_affected_empty(self): """if --affected returns nothing, then nothing should be triggered""" args = kubernetes_bazel.parse_args([ '--affected', ]) with Stub(kubernetes_bazel, 'get_changed', self.fake_changed_empty): with Stub(os, 'getenv', self.fake_sha): kubernetes_bazel.main(args) # trigger empty build self.assertIn('bazel build', self.callstack) # nothing to test for call in self.callstack: self.assertNotIn('bazel test', call)
def test_query(self): """Make sure query is constructed properly.""" args = kubernetes_bazel.parse_args([ '--build=//b/... -//b/bb/... //c/...' ]) # temporarily un-stub query with Stub(kubernetes_bazel.Bazel, 'query', self.boiler['query'].old): def check_query(*cmd): self.assertIn( 'kind(.*_binary, rdeps(//b/... -//b/bb/... +//c/..., //...))' ' except attr(\'tags\', \'manual\', //...)', cmd ) return '//b/aa/...\n//c/...' with Stub(kubernetes_bazel, 'check_output', check_query): kubernetes_bazel.main(args)
def test_affected_filter(self): """--test=affected will work.""" args = kubernetes_bazel.parse_args([ '--affected', '--build=//foo', '--test=//foo', ]) with Stub(kubernetes_bazel, 'get_changed', self.fake_changed_valid): with Stub(os, 'getenv', self.fake_sha): kubernetes_bazel.main(args) test = self.callstack[-2] self.assertIn('//foo', test) self.assertNotIn('//bar', test) build = self.callstack[-3] self.assertIn('//foo', build) self.assertNotIn('//bar', build)