Exemplo n.º 1
0
    def test_analyze_zypper_out(self, spwt_mock, hasZy_mock):
        packageAnalyzer = PackagesAnalyzer()
        stringToRead = """Refreshing service 'susecloud'.
           Loading repository data...
           Reading installed packages...

           S | Name                              | Type    | Version                | Arch   | Repository
           --+-----------------------------------+---------+------------------------+--------+----------------------
           i | ConsoleKit                        | package | 0.2.10-64.65.1         | x86_64 | SLES11-SP1-Updates
           i | gweb                              | package | 2.2.0-99               | noarch | Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.15
           i | hadoop                            | package | 1.2.0.1.3.0.0-107      | x86_64 | HDP
           i | hadoop-libhdfs                    | package | 1.2.0.1.3.0.0-107      | x86_64 | HDP
           i | ambari-server                     | package | 1.2.4.9-1              | noarch | Ambari 1.x
           i | hdp_mon_ganglia_addons            | package | 1.2.4.9-1              | noarch | Ambari 1.x
           i | Minimal                           | pattern | 11-38.13.9             | x86_64 | SLES11-SP1"""
        result = {}
        result['out'] = stringToRead
        result['err'] = ""
        result['retCode'] = 0

        spwt_mock.return_value = result
        hasZy_mock.return_value = True
        installedPackages = []
        packageAnalyzer.allInstalledPackages(installedPackages)
        self.assertEqual(7, len(installedPackages))
        self.assertTrue(installedPackages[1][0], "gweb")
        self.assertTrue(installedPackages[3][2], "HDP")
        self.assertTrue(installedPackages[6][1], "11-38.13.9")
  def test_analyze_zypper_out(self, spwt_mock, hasZy_mock):
    packageAnalyzer = PackagesAnalyzer()
    stringToRead = """Refreshing service 'susecloud'.
           Loading repository data...
           Reading installed packages...

           S | Name                              | Type    | Version                | Arch   | Repository
           --+-----------------------------------+---------+------------------------+--------+----------------------
           i | ConsoleKit                        | package | 0.2.10-64.65.1         | x86_64 | SLES11-SP1-Updates
           i | gweb                              | package | 2.2.0-99               | noarch | Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.15
           i | hadoop                            | package | 1.2.0.1.3.0.0-107      | x86_64 | HDP
           i | hadoop-libhdfs                    | package | 1.2.0.1.3.0.0-107      | x86_64 | HDP
           i | ambari-server                     | package | 1.2.4.9-1              | noarch | Ambari 1.x
           i | hdp_mon_ganglia_addons            | package | 1.2.4.9-1              | noarch | Ambari 1.x
           i | Minimal                           | pattern | 11-38.13.9             | x86_64 | SLES11-SP1"""
    result = {}
    result['out'] = stringToRead
    result['err'] = ""
    result['retCode'] = 0

    spwt_mock.return_value = result
    hasZy_mock.return_value = True
    installedPackages = []
    packageAnalyzer.allInstalledPackages(installedPackages)
    self.assertEqual(7, len(installedPackages))
    self.assertTrue(installedPackages[1][0], "gweb")
    self.assertTrue(installedPackages[3][2], "HDP")
    self.assertTrue(installedPackages[6][1], "11-38.13.9")
Exemplo n.º 3
0
    def test_analyze_yum_output_err(self, subprocessWithTimeout_mock):
        packageAnalyzer = PackagesAnalyzer()

        result = {}
        result['out'] = ""
        result['err'] = ""
        result['retCode'] = 1

        subprocessWithTimeout_mock.return_value = result
        installedPackages = []
        packageAnalyzer.allInstalledPackages(installedPackages)
        self.assertEqual(installedPackages, [])
  def test_analyze_yum_output_err(self, subprocessWithTimeout_mock):
    packageAnalyzer = PackagesAnalyzer()

    result = {}
    result['out'] = ""
    result['err'] = ""
    result['retCode'] = 1

    subprocessWithTimeout_mock.return_value = result
    installedPackages = []
    packageAnalyzer.allInstalledPackages(installedPackages)
    self.assertEqual(installedPackages, [])
Exemplo n.º 5
0
  def test_analyze_yum_output(self, subprocessWithTimeout_mock, hasZy_mock):
    packageAnalyzer = PackagesAnalyzer()
    stringToRead = """Loaded plugins: amazon-id, product-id, rhui-lb, security, subscription-manager
                      Updating certificate-based repositories.
                      Installed Packages
                      AMBARI.dev.noarch             1.x-1.el6             installed
                      PyXML.x86_64                  0.8.4-19.el6          @koji-override-0
                      Red_Hat_Enterprise_Linux-Release_Notes-6-en-US.noarch
                              3-7.el6               @koji-override-0
                      hcatalog.noarch               0.11.0.1.3.0.0-107.el6
                                                    @HDP-1.3.0
                      hesiod.x86_64                 3.1.0-19.el6          @koji-override-0/$releasever
                      hive.noarch                   0.11.0.1.3.0.0-107.el6
                                                    @HDP-1.3.0
                      oracle-server-db.x86          1.3.17-2
                                                    @Oracle-11g
                      ambari-log4j.noarch           1.2.5.9-1             @AMBARI.dev-1.x
                      libconfuse.x86_64             2.7-4.el6             @HDP-epel"""
    result = {}
    result['out'] = stringToRead
    result['err'] = ""
    result['retCode'] = 0

    subprocessWithTimeout_mock.return_value = result
    hasZy_mock.return_value = False
    installedPackages = []
    packageAnalyzer.allInstalledPackages(installedPackages)
    self.assertEqual(9, len(installedPackages))
    for package in installedPackages:
      self.assertTrue(package[0] in ["AMBARI.dev.noarch", "PyXML.x86_64", "oracle-server-db.x86",
                                 "Red_Hat_Enterprise_Linux-Release_Notes-6-en-US.noarch",
                                 "hcatalog.noarch", "hesiod.x86_64", "hive.noarch", "ambari-log4j.noarch", "libconfuse.x86_64"])
      self.assertTrue(package[1] in ["1.x-1.el6", "0.8.4-19.el6", "3-7.el6", "3.1.0-19.el6",
                                 "0.11.0.1.3.0.0-107.el6", "1.2.5.9-1", "1.3.17-2", "1.2.5.9-1", "2.7-4.el6"])
      self.assertTrue(package[2] in ["installed", "koji-override-0", "HDP-1.3.0",
                                 "koji-override-0/$releasever", "AMBARI.dev-1.x", "Oracle-11g", "HDP-epel"])

    packages = packageAnalyzer.getInstalledPkgsByNames(["AMBARI", "Red_Hat_Enterprise", "hesiod", "hive"],
                                                       installedPackages)
    self.assertEqual(4, len(packages))
    expected = ["AMBARI.dev.noarch", "Red_Hat_Enterprise_Linux-Release_Notes-6-en-US.noarch",
                                "hesiod.x86_64", "hive.noarch"]
    for package in expected:
      self.assertTrue(package in packages)

    detailedPackages = packageAnalyzer.getPackageDetails(installedPackages, packages)
    self.assertEqual(4, len(detailedPackages))
    for package in detailedPackages:
      self.assertTrue(package['version'] in ["1.x-1.el6", "3-7.el6", "3.1.0-19.el6",
                                            "0.11.0.1.3.0.0-107.el6"])
      self.assertTrue(package['repoName'] in ["installed", "koji-override-0", "HDP-1.3.0",
                                              "koji-override-0/$releasever"])
      self.assertFalse(package['repoName'] in ["AMBARI.dev-1.x"])