def test_no_blackbox(self): """Tests that the manager doesnt start blackbox when disabled.""" self.mock.Xvfb.return_value = mock.Mock( xvfb_cmd=['not_display', ':display']) with reproducers.Xvfb(True) as display_name: self.assertEqual(display_name, None) self.assert_n_calls(0, [ self.mock.Xvfb, self.mock.Xvfb.return_value.start, self.mock.Xvfb.return_value.stop, self.mock.Popen, self.mock.Popen.return_value.kill, self.mock.sleep ])
def test_incorrect_oserror_exception(self): """Ensures OSError raises when message is not Errno 2.""" self.mock.Popen.side_effect = OSError self.mock.Xvfb.return_value = mock.Mock( xvfb_cmd=['not_display', ':display']) with self.assertRaises(OSError): with reproducers.Xvfb(False) as display_name: self.assertNotEqual(display_name, ':display') self.assert_n_calls(0, [ self.mock.Popen.return_value.kill, self.mock.sleep, self.mock.Xvfb.return_value.stop ])
def test_correct_oserror_exception(self): """Ensures the correct exception is raised when Xvfb is not found.""" def _raise_with_message(*_unused, **_kwunused): del _unused, _kwunused #Not used by this method raise OSError('[Errno 2] No such file or directory') self.mock.Popen.side_effect = _raise_with_message self.mock.Xvfb.return_value = mock.Mock( xvfb_cmd=['not_display', ':display']) with self.assertRaises(common.NotInstalledError): with reproducers.Xvfb(False) as display_name: self.assertNotEqual(display_name, ':display') self.assert_n_calls(0, [ self.mock.Popen.return_value.kill, self.mock.sleep, self.mock.Xvfb.return_value.stop ])
def test_start_stop_blackbox(self): """Tests that the context manager starts/stops xvfbwrapper and blackbox.""" self.mock.Xvfb.return_value = mock.Mock( xvfb_cmd=['not_display', ':display']) with reproducers.Xvfb(False) as display_name: self.assertEqual(display_name, ':display') self.assert_exact_calls(self.mock.Xvfb, [mock.call(width=1280, height=1024)]) self.assert_exact_calls(self.mock.Xvfb.return_value.start, [mock.call()]) self.assert_exact_calls(self.mock.Xvfb.return_value.stop, [mock.call.stop()]) self.assert_exact_calls( self.mock.Popen, [mock.call(['blackbox'], env={ 'DISPLAY': ':display' })]) self.assert_exact_calls(self.mock.Popen.return_value.kill, [mock.call()]) self.assert_exact_calls(self.mock.sleep, [mock.call(3)])