Пример #1
0
 def test_action_install_pattern_suse(self, shell_mock):
   sys.modules['rpm'] = MagicMock()
   sys.modules['rpm'].TransactionSet.return_value = MagicMock()
   sys.modules['rpm'].TransactionSet.return_value.dbMatch.return_value = [{'name':'some_packagetest'}]
   with Environment('/') as env:
     Package("some_package*",
             )
   self.assertEqual(shell_mock.call_count, 0, "shell.checked_call shouldn't be called")
Пример #2
0
 def test_action_install_suse(self, shell_mock, call_mock):
     call_mock.return_value = (1, None)
     with Environment('/') as env:
         Package("some_package", )
     call_mock.assert_called_with('rpm -q --quiet some_package')
     shell_mock.assert_called_with(
         "/usr/bin/zypper --quiet install --auto-agree-with-licenses --no-confirm some_package"
     )
Пример #3
0
 def test_action_install_pattern_suse(self, shell_mock, call_mock):
   call_mock.side_effect=[(0, None), (0, "Loading repository data...\nReading installed packages...\n\nS | Name\n--+-----\n  | Pack")]
   with Environment('/') as env:
     Package("some_package*",
             )
   call_mock.assert_has_calls([call("installed_pkgs=`rpm -qa 'some_package*'` ; [ ! -z \"$installed_pkgs\" ]"),
                               call("zypper --non-interactive search --type package --uninstalled-only --match-exact 'some_package*'")])
   shell_mock.assert_called_with(['/usr/bin/zypper', '--quiet', 'install', '--auto-agree-with-licenses', '--no-confirm', 'some_package*'], logoutput=False, sudo=True)
Пример #4
0
 def test_action_install_existent_rhel(self, shell_mock):
   sys.modules['rpm'] = MagicMock()
   sys.modules['rpm'].TransactionSet.return_value = MagicMock()
   sys.modules['rpm'].TransactionSet.return_value.dbMatch.return_value = [{'name':'some_package'}]
   with Environment('/') as env:
     Package("some_package",
             )
   self.assertFalse(shell_mock.mock_calls)
Пример #5
0
 def test_action_install_debian(self, shell_mock, call_mock):
     call_mock.return_value = (1, None)
     with Environment('/') as env:
         Package("some_package", )
     call_mock.assert_called_with(
         'dpkg --get-selections some_package | grep -v deinstall')
     shell_mock.assert_called_with(
         "/usr/bin/apt-get --force-yes --assume-yes install some_package")
Пример #6
0
 def test_action_install_pattern_installed_rhel(self, shell_mock):
   sys.modules['yum'] = MagicMock()
   sys.modules['yum'].YumBase.return_value = MagicMock()
   sys.modules['yum'].YumBase.return_value.rpmdb = MagicMock()
   sys.modules['yum'].YumBase.return_value.rpmdb.simplePkgList.return_value = [('some_package_1_2_3',)]
   with Environment('/') as env:
     Package("some_package*",
     )
   self.assertEqual(shell_mock.call_count, 0, "shell.checked_call shouldn't be called")
Пример #7
0
 def test_action_remove_nodeps_ubuntu(self, shell_mock):
   shell_mock.return_value = (0, '')
   with Environment('/') as env:
     Package("some-package",
             action = "remove",
             logoutput = False,
             ignore_dependencies = True
     )
   shell_mock.assert_called_with(['/usr/bin/dpkg', '--remove', '--ignore-depends', 'some-package', 'some-package'], logoutput=False, sudo=True)
Пример #8
0
 def test_action_remove_nodeps_suse(self, shell_mock):
   shell_mock.return_value = (0, '')
   with Environment('/') as env:
     Package("some_package",
             action = "remove",
             logoutput = False,
             ignore_dependencies = True
     )
   shell_mock.assert_called_with(['rpm', '-e', '--nodeps', 'some_package'], logoutput=False, sudo=True)
Пример #9
0
 def test_action_remove_suse(self, shell_mock):
   sys.modules['rpm'] = MagicMock()
   sys.modules['rpm'].TransactionSet.return_value = MagicMock()
   sys.modules['rpm'].TransactionSet.return_value.dbMatch.return_value = [{'name':'some_package'}]
   with Environment('/') as env:
     Package("some_package",
             action = "remove"
     )
   shell_mock.assert_called_with(['/usr/bin/zypper', '--quiet', 'remove', '--no-confirm', 'some_package'], logoutput=False, sudo=True)
Пример #10
0
 def test_action_install_version_attr(self, shell_mock):
     with Environment('/') as env:
         Package("some_package", version="3.5.0")
     shell_mock.assert_called_with([
         '/usr/bin/yum', '-d', '0', '-e', '0', '-y', 'install',
         'some_package-3.5.0'
     ],
                                   logoutput=False,
                                   sudo=True)
Пример #11
0
 def test_action_remove_suse(self, shell_mock):
     with Environment('/') as env:
         Package("some_package", action="remove")
     shell_mock.assert_called_with([
         '/usr/bin/zypper', '--quiet', 'remove', '--no-confirm',
         'some_package'
     ],
                                   logoutput=False,
                                   sudo=True)
Пример #12
0
 def test_action_install_debian(self, shell_mock, call_mock):
     call_mock.return_value = (1, None)
     with Environment('/') as env:
         Package("some_package", )
     call_mock.assert_called_with(
         'dpkg --get-selections some_package | grep -v deinstall')
     shell_mock.assert_called_with(
         "env DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get -q -o Dpkg::Options::='--force-confdef' --force-yes --assume-yes install some_package"
     )
Пример #13
0
 def test_action_install_rhel(self, shell_mock):
   sys.modules['rpm'] = MagicMock()
   sys.modules['rpm'].TransactionSet.return_value = MagicMock()
   sys.modules['rpm'].TransactionSet.return_value.dbMatch.return_value = [{'name':'some_packag'}]
   with Environment('/') as env:
     Package("some_package",
     )
   self.assertTrue(sys.modules['rpm'].TransactionSet.return_value.dbMatch.called)
   shell_mock.assert_called_with(['/usr/bin/yum', '-d', '0', '-e', '0', '-y', 'install', 'some_package'], logoutput=False, sudo=True)
Пример #14
0
 def test_action_install_use_repos_rhel(self, shell_mock):
   shell_mock.return_value = (0,'')
   with Environment('/') as env:
     Package("some_package", use_repos={'HDP-UTILS-2.2.0.1-885': 'ambari-hdp-1', 'HDP-2.2.0.1-885': 'ambari-hdp-1'},
             logoutput = False
             )
   self.assertEquals(shell_mock.call_args[0][0],
                     ['/usr/bin/yum', '-d', '0', '-e', '0', '-y', 'install',
                      '--disablerepo=*',
                      '--enablerepo=HDP-2.2.0.1-885,HDP-UTILS-2.2.0.1-885', 'some_package'])
Пример #15
0
 def test_action_install_suse(self, shell_mock):
   shell_mock.return_value = (0,'')
   sys.modules['rpm'] = MagicMock()
   sys.modules['rpm'].TransactionSet.return_value = MagicMock()
   sys.modules['rpm'].TransactionSet.return_value.dbMatch.return_value = [{'name':'some_packages'}]
   with Environment('/') as env:
     Package("some_package",
       logoutput = False
     )
   shell_mock.assert_called_with(['/usr/bin/zypper', '--quiet', 'install', '--auto-agree-with-licenses', '--no-confirm', 'some_package'], logoutput=False, sudo=True)
Пример #16
0
  def test_action_install_ubuntu(self, shell_mock, call_mock):
    call_mock.side_effect = [(1, None), (0, None)]
    with Environment('/') as env:
      Package("some_package",
      )
    call_mock.assert_has_calls([call("dpkg --get-selections | grep -v deinstall | awk '{print $1}' | grep ^some-package$"),
 call(['/usr/bin/apt-get', '-q', '-o', 'Dpkg::Options::=--force-confdef', '--allow-unauthenticated', '--assume-yes', 'install', 'some-package'], logoutput=False, sudo=True, env={'DEBIAN_FRONTEND': 'noninteractive'})])

    
    self.assertEqual(shell_mock.call_count, 0, "shell.checked_call shouldn't be called")
Пример #17
0
 def test_action_install_use_repos_rhel(self, shell_mock):
     with Environment('/') as env:
         Package("some_package",
                 use_repos=['HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'])
     self.assertEquals(shell_mock.call_args[0][0], [
         '/usr/bin/yum', '-d', '0', '-e', '0', '-y', 'install',
         '--disablerepo=',
         '--enablerepo=HDP-UTILS-2.2.0.1-885,HDP-2.2.0.1-885',
         'some_package'
     ])
Пример #18
0
  def test_action_install_ubuntu(self, shell_mock, call_mock):
    call_mock.side_effect = [(1, ''), (0, '')]
    shell_mock.return_value = (0, '')
    with Environment('/') as env:
      Package("some_package",
        logoutput = False
      )
    call_mock.assert_has_calls([call("dpkg --get-selections | grep -v deinstall | awk '{print $1}' | grep ^some-package$")])

    shell_mock.assert_has_call([call(['/usr/bin/apt-get', '-q', '-o', 'Dpkg::Options::=--force-confdef', '--allow-unauthenticated', '--assume-yes', 'install', 'some-package'], logoutput=False, sudo=True, env={'DEBIAN_FRONTEND': 'noninteractive'})])
Пример #19
0
    def install(self, env):
        Logger.info('Installing R Server Client...')
        tmp_dir = Script.tmp_dir
        Logger.debug('Using temp dir: {0}'.format(tmp_dir))

        for rpm in rpms:
            Logger.info('Installing {0}'.format(rpm))
            Package(rpm)

        Logger.info('Installed R Server')
Пример #20
0
 def test_action_install_existent_rhel(self, shell_mock):
     sys.modules['yum'] = MagicMock()
     sys.modules['yum'].YumBase.return_value = MagicMock()
     sys.modules['yum'].YumBase.return_value.rpmdb = MagicMock()
     sys.modules[
         'yum'].YumBase.return_value.rpmdb.simplePkgList.return_value = [
             ('some_package', )
         ]
     with Environment('/') as env:
         Package("some_package", )
     self.assertFalse(shell_mock.mock_calls)
Пример #21
0
 def test_action_remove_nodeps_rhel(self, shell_mock):
   sys.modules['rpm'] = MagicMock()
   sys.modules['rpm'].TransactionSet.return_value = MagicMock()
   sys.modules['rpm'].TransactionSet.return_value.dbMatch.return_value = [{'name':'some_package'}]
   with Environment('/') as env:
     Package("some_package",
             action = "remove",
             logoutput = False,
             ignore_dependencies = True
     )
   shell_mock.assert_called_with(['rpm', '-e', '--nodeps', 'some_package'], logoutput=False, sudo=True)
 def test_action_install_regex_ubuntu(self, shell_mock, call_mock):
     call_mock.side_effect = [(0, None)]
     with Environment('/') as env:
         Package("some_package.*", )
     call_mock.assert_has_calls([
         call(
             "dpkg --get-selections | grep -v deinstall | awk '{print $1}' | grep ^some-package.*$"
         )
     ])
     self.assertEqual(shell_mock.call_count, 0,
                      "shell.checked_call shouldn't be called")
Пример #23
0
 def test_action_install_rhel(self, shell_mock, call_mock):
     call_mock.return_value = (1, None)
     with Environment('/') as env:
         #Package("some_package",
         #)
         #yuan
         Package("mongo-10gen-server", )
         #end yuan
     call_mock.assert_called_with('rpm -q --quiet mongo-10gen-server')
     shell_mock.assert_called_with(
         "/usr/bin/yum -d 0 -e 0 -y install mongo-10gen-server")
 def test_action_remove_rhel(self, shell_mock):
     sys.modules['rpm'] = MagicMock()
     sys.modules['rpm'].TransactionSet.return_value = MagicMock()
     sys.modules['rpm'].TransactionSet.return_value.dbMatch.return_value = [
         {
             'name': 'some_package'
         }
     ]
     with Environment('/') as env:
         Package("some_package", action="remove", logoutput=False)
     self.assertEquals(shell_mock.call_args_list[0][0][0], [
         '/usr/bin/yum', '-d', '0', '-e', '0', '-y', 'erase', 'some_package'
     ])
Пример #25
0
 def test_action_install_rhel(self, shell_mock, call_mock):
     call_mock.return_value = (1, None)
     with Environment('/') as env:
         Package("some_package", )
     call_mock.assert_called_with(
         "installed_pkgs=`rpm -qa 'some_package'` ; [ ! -z \"$installed_pkgs\" ]"
     )
     shell_mock.assert_called_with([
         '/usr/bin/yum', '-d', '0', '-e', '0', '-y', 'install',
         'some_package'
     ],
                                   logoutput=False,
                                   sudo=True)
Пример #26
0
    def test_action_install_debian(self, shell_mock, call_mock):
        call_mock.side_effect = [(1, None), (0, None)]
        with Environment('/') as env:
            Package("some_package", )
        call_mock.assert_has_calls([
            call("dpkg --get-selections some_package | grep -v deinstall"),
            call(
                "DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get -q -o Dpkg::Options::='--force-confdef'"
                " --allow-unauthenticated --assume-yes install some_package")
        ])

        self.assertEqual(shell_mock.call_count, 0,
                         "shell.checked_call shouldn't be called")
Пример #27
0
 def test_action_install_pattern_installed_rhel(self, shell_mock,
                                                call_mock):
     call_mock.side_effect = [(0, None), (0, "Some text")]
     with Environment('/') as env:
         Package("some_package*", )
     call_mock.assert_has_calls([
         call(
             "installed_pkgs=`rpm -qa 'some_package*'` ; [ ! -z \"$installed_pkgs\" ]"
         ),
         call("! yum list available 'some_package*'")
     ])
     self.assertEqual(shell_mock.call_count, 0,
                      "shell.checked_call shouldn't be called")
Пример #28
0
 def test_action_install_suse(self, shell_mock, call_mock):
     call_mock.return_value = (1, None)
     with Environment('/') as env:
         Package("some_package", )
     call_mock.assert_called_with(
         "installed_pkgs=`rpm -qa 'some_package'` ; [ ! -z \"$installed_pkgs\" ]"
     )
     shell_mock.assert_called_with([
         '/usr/bin/zypper', '--quiet', 'install',
         '--auto-agree-with-licenses', '--no-confirm', 'some_package'
     ],
                                   logoutput=False,
                                   sudo=True)
Пример #29
0
 def test_action_remove_rhel(self, shell_mock):
     sys.modules['yum'] = MagicMock()
     sys.modules['yum'].YumBase.return_value = MagicMock()
     sys.modules['yum'].YumBase.return_value.rpmdb = MagicMock()
     sys.modules[
         'yum'].YumBase.return_value.rpmdb.simplePkgList.return_value = [
             ('some_package', )
         ]
     with Environment('/') as env:
         Package("some_package", action="remove")
     shell_mock.assert_called_with([
         '/usr/bin/yum', '-d', '0', '-e', '0', '-y', 'erase', 'some_package'
     ],
                                   logoutput=False,
                                   sudo=True)
Пример #30
0
 def test_action_install_pattern_rhel(self, shell_mock, call_mock):
     call_mock.side_effect = [(0, None), (1, "Some text")]
     with Environment('/') as env:
         Package("some_package*", )
     call_mock.assert_has_calls([
         call(
             "installed_pkgs=`rpm -qa 'some_package*'` ; [ ! -z \"$installed_pkgs\" ]"
         ),
         call("! yum list available 'some_package*'")
     ])
     shell_mock.assert_called_with([
         '/usr/bin/yum', '-d', '0', '-e', '0', '-y', 'install',
         'some_package*'
     ],
                                   logoutput=False,
                                   sudo=True)