コード例 #1
0
ファイル: test_metadata.py プロジェクト: eedgar/salt-shaker
    def test_compare_requirements_new_versions(self):
        """
        TestShakerMetadata: Test comparing different requirements versions
        """
        previous_requirements = [
                              "test_organisation/test1-formula==v1.0.10",
                              "test_organisation/test2-formula==v2.0.1",
                              "test_organisation/test3-formula==v3.0.1",
                              ]
        new_requirements = [
                                "test_organisation/test1-formula==v1.0.1",
                                "test_organisation/test2-formula==v2.0.10",
                                "test_organisation/test3-formula==v3.0.1",

                                ]
        actual_result = metadata.compare_requirements(previous_requirements,
                                                      new_requirements)
        expected_result = [
                            ["test_organisation/test1-formula==v1.0.10",
                                "test_organisation/test1-formula==v1.0.1"],
                            ["test_organisation/test2-formula==v2.0.1",
                                "test_organisation/test2-formula==v2.0.10"]
                        ]
        self.assertEqual(actual_result,
                         expected_result,
                         ("Comparison should have new version\n"
                          "Actual: '%s'\n"
                          "Expected: %s\n")
                         % (actual_result,
                            expected_result))
コード例 #2
0
 def test_compare_requirements_new_versions(self):
     """
     TestShakerMetadata: Test comparing different requirements versions
     """
     previous_requirements = [
         "test_organisation/test1-formula==v1.0.10",
         "test_organisation/test2-formula==v2.0.1",
         "test_organisation/test3-formula==v3.0.1",
     ]
     new_requirements = [
         "test_organisation/test1-formula==v1.0.1",
         "test_organisation/test2-formula==v2.0.10",
         "test_organisation/test3-formula==v3.0.1",
     ]
     actual_result = metadata.compare_requirements(previous_requirements,
                                                   new_requirements)
     expected_result = [[
         "test_organisation/test1-formula==v1.0.10",
         "test_organisation/test1-formula==v1.0.1"
     ],
                        [
                            "test_organisation/test2-formula==v2.0.1",
                            "test_organisation/test2-formula==v2.0.10"
                        ]]
     self.assertEqual(actual_result, expected_result,
                      ("Comparison should have new version\n"
                       "Actual: '%s'\n"
                       "Expected: %s\n") % (actual_result, expected_result))
コード例 #3
0
    def check_requirements(self):
        """
        Check the current formula-requirements against those that
        would be generated from the metadata,
        """
        logger.Logger().info("Shaker::check_requirements: "
                             "Checking the current requirements "
                             "against an update")
        self._load_local_requirements(enable_remote_check=True)
        current_requirements = self._shaker_remote.get_requirements()
        self._update_local_requirements()
        new_requirements = self._shaker_remote.get_requirements()

        requirements_diff = metadata.compare_requirements(
            current_requirements, new_requirements)

        if len(requirements_diff) == 0:
            logger.Logger().info("Shaker::check_requirements: "
                                 "No formula requirements changes found")
        else:
            for requirement_pair in requirements_diff:
                first_entry = requirement_pair[0]
                second_entry = requirement_pair[1]
                if len(first_entry) == 0:
                    logger.Logger().info("Shaker::check_requirements: "
                                         "New entry %s" % (second_entry))
                elif len(second_entry) == 0:
                    logger.Logger().info("Shaker::check_requirements: "
                                         "Deprecated entry %s" % (first_entry))
                else:
                    logger.Logger().info("Shaker::check_requirements: "
                                         "Unequal entries %s != %s" %
                                         (first_entry, second_entry))
        return requirements_diff
コード例 #4
0
 def test_compare_requirements_equal(self):
     """
     TestShakerMetadata: Test comparing different requirements equal
     """
     previous_requirements = [
         "test_organisation/test1-formula==v1.0.1",
         "test_organisation/test2-formula==v2.0.1",
         "test_organisation/test3-formula==v3.0.1",
     ]
     new_requirements = [
         "test_organisation/test1-formula==v1.0.1",
         "test_organisation/test2-formula==v2.0.1",
         "test_organisation/test3-formula==v3.0.1",
     ]
     actual_result = metadata.compare_requirements(previous_requirements,
                                                   new_requirements)
     self.assertEqual(0, len(actual_result),
                      "Comparison should have no difference")
コード例 #5
0
ファイル: test_metadata.py プロジェクト: eedgar/salt-shaker
 def test_compare_requirements_equal(self):
     """
     TestShakerMetadata: Test comparing different requirements equal
     """
     previous_requirements = [
                           "test_organisation/test1-formula==v1.0.1",
                           "test_organisation/test2-formula==v2.0.1",
                           "test_organisation/test3-formula==v3.0.1",
                           ]
     new_requirements = [
                             "test_organisation/test1-formula==v1.0.1",
                             "test_organisation/test2-formula==v2.0.1",
                             "test_organisation/test3-formula==v3.0.1",
                             ]
     actual_result = metadata.compare_requirements(previous_requirements,
                                                   new_requirements)
     self.assertEqual(0,
                      len(actual_result),
                      "Comparison should have no difference")
コード例 #6
0
ファイル: salt_shaker.py プロジェクト: eedgar/salt-shaker
    def check_requirements(self):
        """
        Check the current formula-requirements against those that
        would be generated from the metadata,
        """
        logger.Logger().info("Shaker::check_requirements: "
                             "Checking the current requirements "
                             "against an update")
        self._load_local_requirements(enable_remote_check=True)
        current_requirements = self._shaker_remote.get_requirements()
        self._update_local_requirements()
        new_requirements = self._shaker_remote.get_requirements()

        requirements_diff = metadata.compare_requirements(current_requirements,
                                                          new_requirements)

        if len(requirements_diff) == 0:
            logger.Logger().info("Shaker::check_requirements: "
                                 "No formula requirements changes found")
        else:
            for requirement_pair in requirements_diff:
                first_entry = requirement_pair[0]
                second_entry = requirement_pair[1]
                if len(first_entry) == 0:
                    logger.Logger().info("Shaker::check_requirements: "
                                         "New entry %s"
                                         % (second_entry))
                elif len(second_entry) == 0:
                    logger.Logger().info("Shaker::check_requirements: "
                                         "Deprecated entry %s"
                                         % (first_entry))
                else:
                    logger.Logger().info("Shaker::check_requirements: "
                                         "Unequal entries %s != %s"
                                         % (first_entry,
                                            second_entry))
        return requirements_diff