def test_getBranchMapsWithName(self, IR): with mock.patch('bigitr._Runner.getContext') as C: r = bigitr._Runner('~/.bigitr', '${FOO}/repoconf', ['foo']) r.ctx.getRepositoryByName.return_value = '/foo' l = r.getBranchMaps() self.assertEqual(l, [['/foo', None]]) r.ctx.getRepositoryByName.assert_called_once_with('foo')
def test_getBranchMapsWithDefault(self, IR): with mock.patch('bigitr._Runner.getContext') as C: r = bigitr._Runner('~/.bigitr', '${FOO}/repoconf', []) r.ctx.getRepositories.return_value = ['foo'] r.ctx.getRepositoryByName.side_effect = lambda x: x l = r.getBranchMaps() self.assertEqual(l, [['foo', None]]) r.ctx.getRepositories.assert_called_once_with()
def test_runner(self, IR): with mock.patch('bigitr.context.Context') as C: r = bigitr._Runner('~/.bigitr', '${FOO}/repoconf', ['repo1', 'repo2']) C.assert_called_once_with('/hm/.bigitr', '/foo/repoconf') self.assertEqual(r.appconfig, '~/.bigitr') self.assertEqual(r.config, '${FOO}/repoconf') self.assertEqual(r.repos, ['repo1', 'repo2']) self.assertEqual(r.ctx, C('/hm/.bigitr', '/foo/repoconf'))
def test_getBranchMapsWithBranches(self, IR): with mock.patch('bigitr._Runner.getContext') as C: r = bigitr._Runner('~/.bigitr', '${FOO}/repoconf', ['repo::b1', 'repo2::b2', 'repo::3::']) r.ctx.getRepositoryByName.side_effect = lambda x: x l = r.getBranchMaps() self.assertEqual(l, [['repo', 'b1'], ['repo2', 'b2'], ['repo::3', '']]) r.ctx.getRepositories.assert_not_called() r.ctx.getRepositoryByName.assert_has_calls([ mock.call('repo'), mock.call('repo2'), mock.call('repo::3')])
def test_getBranchMapsWithBranches(self, IR): with mock.patch('bigitr._Runner.getContext') as C: r = bigitr._Runner('~/.bigitr', '${FOO}/repoconf', ['repo::b1', 'repo2::b2', 'repo::3::']) r.ctx.getRepositoryByName.side_effect = lambda x: x l = r.getBranchMaps() self.assertEqual( l, [['repo', 'b1'], ['repo2', 'b2'], ['repo::3', '']]) r.ctx.getRepositories.assert_not_called() r.ctx.getRepositoryByName.assert_has_calls( [mock.call('repo'), mock.call('repo2'), mock.call('repo::3')])
def runProcessWithSideEffect(self, side_effect=None): with mock.patch('bigitr.git.Git') as G: with mock.patch('bigitr._Runner.__init__') as I: I.return_value = None with mock.patch('bigitr._Runner.getBranchMaps') as R: R.return_value = [['repo', None]] r = bigitr._Runner(mock.Mock(), mock.Mock(), mock.Mock()) r.ctx = mock.Mock() r.runner = mock.Mock() r.do = mock.Mock() g = G(r.ctx, 'repo') if side_effect is not None: r.do.side_effect = side_effect r.process() r.do.assert_called_once_with('repo', g, requestedBranch=None) return r.runner, g
def test_expandFilenameIfString(self, I, IR, F): I.return_value = None r = bigitr._Runner(mock.Mock()) self.assertEqual(1, r.expandFilenameIfString(1)) self.assertTrue(isinstance(r.expandFilenameIfString('b'), mock.Mock))
def test_unimplementedInitRunner(self, I): I.return_value = None r = bigitr._Runner(mock.Mock()) self.assertRaises(NotImplementedError, r._init_runner)
def test_getContext(self, IR): with mock.patch('bigitr.context.Context') as C: with mock.patch('bigitr.util.fileName') as F: r = bigitr._Runner('~/.bigitr', '${FOO}/repoconf', []) C.assert_called_once_with(F(), F())
def test_close(self, IR, C): r = bigitr._Runner('~/.bigitr', '${FOO}/repoconf', []) l = mock.Mock() r.ctx.logs.values.return_value = [l] r.close() l.close.assert_called_once_with()
def test_getBranchMapsWithBadName(self, IR): with mock.patch('bigitr._Runner.getContext') as C: r = bigitr._Runner('~/.bigitr', '${FOO}/repoconf', ['dne']) r.ctx.getRepositoryByName.side_effect = lambda x: {}[x] self.assertRaises(KeyError, r.getBranchMaps) r.ctx.getRepositoryByName.assert_called_once_with('dne')