Ejemplo n.º 1
0
class TestWhich(unittest.TestCase):
    def setUp(self):
        self.p1 = mock.Mock(spec=DirectorySearcher)
        self.p2 = mock.Mock(spec=DirectorySearcher)
        self.p1.search.return_value = self.p2.search.return_value = None
        self.which = Which([self.p1, self.p2])

    def test_search(self):
        executable = self.p1.search.return_value = mock.Mock()
        self.assertEqual(self.which.search('executable'), executable)
        self.p1.search.assert_called_once_with('executable')
        assert self.p2.call_count == 0

    def test_search_cache(self):
        executable = self.p1.search.return_value = mock.Mock()
        self.assertEqual(self.which.search('executable'), executable)
        self.assertEqual(self.which.search('executable'), executable)
        self.p1.search.assert_called_once_with('executable')
        assert self.p2.call_count == 0

    def test_search_precendence(self):
        e1 = self.p1.search.return_value = mock.Mock()
        self.p2.search.return_value = mock.Mock()
        self.assertEqual(self.which.search('executable'), e1)

    def test_attribute(self):
        executable = self.p1.search.return_value = mock.Mock()
        self.assertEqual(self.which.executable, executable)

    def test_search_not_exits(self):
        with self.assertRaises(NotInstalled):
            self.which.search('not-found')
Ejemplo n.º 2
0
 def setUp(self):
     self.p1 = mock.Mock(spec=DirectorySearcher)
     self.p2 = mock.Mock(spec=DirectorySearcher)
     self.p1.search.return_value = self.p2.search.return_value = None
     self.which = Which([self.p1, self.p2])