示例#1
0
    def test_check_upgrade_impact_disruptive_success(self):

        """ UT: nxos_upgrade module:check_upgrade_impact method - disruptive success """

        for platform in self.platform_list:
            if platform.install_all_disruptive_success:
                with patch.dict(
                    nxos_upgrade.__salt__,
                    {
                        "nxos.sendline": MagicMock(
                            return_value=platform.install_all_disruptive_success
                        )
                    },
                ):
                    result = nxos_upgrade.check_upgrade_impact(platform.nimage)
                    self.assert_platform_upgrade(
                        result["upgrade_required"] == platform.upgrade_required,
                        platform,
                    )
                    self.assert_platform_upgrade(
                        not result["upgrade_non_disruptive"], platform
                    )
                    self.assert_platform_upgrade(not result["succeeded"], platform)
                    self.assert_platform_upgrade(
                        result["upgrade_in_progress"], platform
                    )
                    self.assert_platform_upgrade(result["module_data"], platform)
示例#2
0
    def test_check_upgrade_impact_internal_server_error_400_in_progress(self):

        """ UT: nxos_upgrade module:check_upgrade_impact method - in-progress error HTTP code 400 """

        for platform in self.platform_list:
            if platform.bad_request_client_error_400_in_progress_dict:
                with patch.dict(
                    nxos_upgrade.__salt__,
                    {
                        "nxos.sendline": MagicMock(
                            return_value=platform.bad_request_client_error_400_in_progress_dict
                        )
                    },
                ):
                    result = nxos_upgrade.check_upgrade_impact(platform.nimage)
                    self.assert_platform_upgrade(result["installing"], platform)
                    self.assert_platform_upgrade(not result["succeeded"], platform)
示例#3
0
    def test_check_upgrade_impact_non_disruptive_success(self):
        """ UT: nxos_upgrade module:check_upgrade_impact method - non-disruptive success """

        for platform in self.platform_list:
            if platform.install_all_non_disruptive_success:
                with patch.dict(
                        nxos_upgrade.__salt__, {
                            'nxos.sendline':
                            MagicMock(return_value=platform.
                                      install_all_non_disruptive_success)
                        }):
                    result = nxos_upgrade.check_upgrade_impact(platform.nimage)
                    self.assert_platform_upgrade(
                        result['upgrade_non_disruptive'], platform)
                    self.assert_platform_upgrade(result['succeeded'], platform)
                    self.assert_platform_upgrade(result['module_data'],
                                                 platform)
示例#4
0
    def test_check_upgrade_impact_backend_processing_error_500(self):
        """ UT: nxos_upgrade module:check_upgrade_impact method - error HTTP code 500 """

        for platform in self.platform_list:
            if platform.backend_processing_error_500:
                with patch.dict(
                        nxos_upgrade.__salt__,
                    {
                        'nxos.sendline':
                        MagicMock(
                            return_value=platform.backend_processing_error_500)
                    }):
                    result = nxos_upgrade.check_upgrade_impact(platform.nimage)
                    self.assert_platform_upgrade(
                        result['backend_processing_error'], platform)
                    self.assert_platform_upgrade(not result['succeeded'],
                                                 platform)
示例#5
0
    def test_check_upgrade_impact_internal_server_error_400_invalid_command(
            self):
        """ UT: nxos_upgrade module:check_upgrade_impact method - invalid command error HTTP code 400 """

        for platform in self.platform_list:
            if platform.bad_request_client_error_400_invalid_command_dict:
                with patch.dict(
                        nxos_upgrade.__salt__,
                    {
                        'nxos.sendline':
                        MagicMock(
                            return_value=platform.
                            bad_request_client_error_400_invalid_command_dict)
                    }):
                    result = nxos_upgrade.check_upgrade_impact(platform.nimage)
                    self.assert_platform_upgrade(result['invalid_command'],
                                                 platform)
                    self.assert_platform_upgrade(not result['succeeded'],
                                                 platform)
示例#6
0
    def test_check_upgrade_impact_internal_server_error_500(self):

        """ UT: nxos_upgrade module:check_upgrade_impact method - internal server error HTTP code 500 """

        for platform in self.platform_list:
            if platform.internal_server_error_500:
                with patch.dict(
                    nxos_upgrade.__salt__,
                    {
                        "nxos.sendline": MagicMock(
                            return_value=platform.internal_server_error_500
                        )
                    },
                ):
                    result = nxos_upgrade.check_upgrade_impact(platform.nimage)
                    self.assert_platform_upgrade(
                        platform.internal_server_error_500 in result["error_data"],
                        platform,
                    )
                    self.assert_platform_upgrade(
                        result["backend_processing_error"], platform
                    )
                    self.assert_platform_upgrade(not result["succeeded"], platform)
示例#7
0
    def test_check_upgrade_impact_input_validation():

        """ UT: nxos_upgrade module:check_upgrade_impact method - input validation """

        result = nxos_upgrade.check_upgrade_impact("dummy-platform-image.bin", issu=1)
        assert "Input Error" in result