def test_from_pidfile(self, mock_read, mock_init, mock_create_time): mock_init.side_effect = psutil.NoSuchProcess(123) mock_read.return_value = {} self.assertIsNone(PostmasterProcess.from_pidfile('')) mock_read.return_value = {"pid": "foo"} self.assertIsNone(PostmasterProcess.from_pidfile('')) mock_read.return_value = {"pid": "123"} self.assertIsNone(PostmasterProcess.from_pidfile('')) mock_init.side_effect = None with patch.object(psutil.Process, 'pid', 123), \ patch.object(psutil.Process, 'ppid', return_value=124), \ patch('os.getpid', return_value=125) as mock_ospid, \ patch('os.getppid', return_value=126): self.assertIsNotNone(PostmasterProcess.from_pidfile('')) mock_create_time.return_value = 100000 mock_read.return_value = {"pid": "123", "start_time": "200000"} self.assertIsNone(PostmasterProcess.from_pidfile('')) mock_read.return_value = {"pid": "123", "start_time": "foobar"} self.assertIsNotNone(PostmasterProcess.from_pidfile('')) mock_ospid.return_value = 123 mock_read.return_value = {"pid": "123", "start_time": "100000"} self.assertIsNone(PostmasterProcess.from_pidfile(''))
def test_from_pidfile(self, mock_init, mock_create_time): mock_init.side_effect = psutil.NoSuchProcess(123) self.assertEquals(PostmasterProcess.from_pidfile({}), None) self.assertEquals(PostmasterProcess.from_pidfile({"pid": "foo"}), None) self.assertEquals(PostmasterProcess.from_pidfile({"pid": "123"}), None) mock_init.side_effect = None with patch.object(psutil.Process, 'pid', 123), \ patch.object(psutil.Process, 'parent', return_value=124), \ patch('os.getpid', return_value=125) as mock_ospid, \ patch('os.getppid', return_value=126): self.assertNotEquals( PostmasterProcess.from_pidfile({"pid": "123"}), None) mock_create_time.return_value = 100000 self.assertEquals( PostmasterProcess.from_pidfile({ "pid": "123", "start_time": "200000" }), None) self.assertNotEquals( PostmasterProcess.from_pidfile({ "pid": "123", "start_time": "foobar" }), None) mock_ospid.return_value = 123 self.assertEquals( PostmasterProcess.from_pidfile({ "pid": "123", "start_time": "100000" }), None)
def test_from_pidfile(self, mock_init, mock_create_time): mock_init.side_effect = psutil.NoSuchProcess(123) self.assertEquals(PostmasterProcess.from_pidfile({}), None) self.assertEquals(PostmasterProcess.from_pidfile({"pid": "foo"}), None) self.assertEquals(PostmasterProcess.from_pidfile({"pid": "123"}), None) mock_init.side_effect = None with patch.object(psutil.Process, 'pid', 123), \ patch.object(psutil.Process, 'parent', return_value=124), \ patch('os.getpid', return_value=125) as mock_ospid, \ patch('os.getppid', return_value=126): self.assertNotEquals(PostmasterProcess.from_pidfile({"pid": "123"}), None) mock_create_time.return_value = 100000 self.assertEquals(PostmasterProcess.from_pidfile({"pid": "123", "start_time": "200000"}), None) self.assertNotEquals(PostmasterProcess.from_pidfile({"pid": "123", "start_time": "foobar"}), None) mock_ospid.return_value = 123 self.assertEquals(PostmasterProcess.from_pidfile({"pid": "123", "start_time": "100000"}), None)
def test_read_postmaster_pidfile(self): with patch.object(builtins, 'open', Mock(side_effect=IOError)): self.assertIsNone(PostmasterProcess.from_pidfile('')) with patch.object(builtins, 'open', mock_open(read_data='123\n')): self.assertIsNone(PostmasterProcess.from_pidfile(''))