def test_install_apt_package_raise_generic_exception(self): mss = MountSmbShares() package = 'package1' with pytest.raises(InstallRequiredPackageError) as e: mss.install_apt_package(package) self.assertIsInstance(e.value.source, Exception) self.assertEqual(str(e.value), 'Errore genrico nell\'installazione del pacchetto' ' "{package}".'.format(package=package))
def test_install_apt_package_raise_exception_lock_failed(self): mss = MountSmbShares() package = 'package1' with pytest.raises(InstallRequiredPackageError) as e: mss.install_apt_package(package) self.assertIsInstance(e.value.source, FakeLockFailedException) self.assertEqual(str(e.value), 'Impossibile installare i pacchetti richiesti con un ' ' utente che non ha diritti amministrativi.')
def test_run_failed_for_apt_lock_failed(self, mock_install_apt, mock_apt): """ Test that run return 1 if into an install_apt_package method occurs an apt.LockFailedException exception """ mss = MountSmbShares() mss.required_packages = ['package1'] mock_apt.LockFailedException = FakeLockFailedException mock_install_apt.side_effect = ( InstallRequiredPackageError( "IRPE", source=FakeLockFailedException("FLFE"))) self.assertEqual(mss.run(), 1)
def test_read_config_parser_with_hook_pre_command(self, mock_wrapper): hook = {'hook_pre_command': 'ls -l'} data = [('absoluthe_share', {'hostname': 'server_windows.example', 'share': 'condivisione', 'mountpoint': '/mnt/mountpoint'})] data[0][1].update(hook) with patch('pygmount.core.samba.ConfigParser', get_fake_configparser(data)): mss = MountSmbShares() mss.set_shares() mock_wrapper.assert_called_once_with(data[0][1]['hostname'], data[0][1]['share'], data[0][1]['mountpoint']) self.assertEqual(len(mss.shares), 1) self.assertEqual(mss.shares[0][2], list(hook.values())[0])
def test_read_config_parser_simple(self, mock_wrapper): data = [('absoluthe_share', {'hostname': 'server_windows.example', 'share': 'condivisione', 'mountpoint': '/mnt/mountpoint'})] with patch('pygmount.core.samba.ConfigParser', get_fake_configparser(data)): mss = MountSmbShares() mss.set_shares() mock_wrapper.assert_called_once_with(data[0][1]['hostname'], data[0][1]['share'], data[0][1]['mountpoint']) self.assertEqual(len(mss.shares), 1) self.assertEqual(mss.shares[0][0], data[0][0]) self.assertIsNone(mss.shares[0][2]) self.assertIsNone(mss.shares[0][3])
def test_read_config_parser_with_options(self, mock_wrapper): options = {'option_1': 'option_1', 'option_2': 'option_2'} data = [ ('absoluthe_share', {'hostname': 'server_windows.example', 'share': 'condivisione', 'mountpoint': '/mnt/mountpoint'})] data[0][1].update(options) with patch('pygmount.core.samba.ConfigParser', get_fake_configparser(data)): mss = MountSmbShares() mss.set_shares() mock_wrapper.assert_called_once_with( data[0][1]['hostname'], data[0][1]['share'], data[0][1]['mountpoint'], **options) self.assertEqual(len(mss.shares), 1) self.assertEqual(mss.shares[0][0], data[0][0])
def test_read_config_parser_with_only_username_and_password( self, mock_wrapper): username = '******' password = '******' hostname = 'server_windows.example' data = [('absoluthe_share', {'hostname': username + ':' + password + '@' + hostname, 'share': 'condivisione', 'mountpoint': '/mnt/mountpoint'})] with patch('pygmount.core.samba.ConfigParser', get_fake_configparser(data)): mss = MountSmbShares() mss.set_shares() mock_wrapper.assert_called_once_with(hostname, data[0][1]['share'], data[0][1][ 'mountpoint'], username=username, password=password) self.assertEqual(len(mss.shares), 1) self.assertEqual(mss.shares[0][0], data[0][0])
def test_install_apt_package_with_package_already_installed(self): mss = MountSmbShares() package = 'package1' self.assertIsNone(mss.install_apt_package(package))
def test_apt_pkg_requirements_getter_setter(self): mss = MountSmbShares() packages = ['package1', 'package2'] mss.required_packages = packages self.assertListEqual(mss.required_packages, packages)