예제 #1
0
 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))
예제 #2
0
 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.')
예제 #3
0
 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)
예제 #4
0
 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])
예제 #5
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])
예제 #6
0
 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])
예제 #7
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])
예제 #8
0
 def test_install_apt_package_with_package_already_installed(self):
     mss = MountSmbShares()
     package = 'package1'
     self.assertIsNone(mss.install_apt_package(package))
예제 #9
0
 def test_apt_pkg_requirements_getter_setter(self):
     mss = MountSmbShares()
     packages = ['package1', 'package2']
     mss.required_packages = packages
     self.assertListEqual(mss.required_packages, packages)