コード例 #1
0
 def test_check_firmware_compatibility_pass(self):
     """Verify proxy firmware compatibility."""
     self._set_args({
         "firmware": "test_firmware.dlp",
         "nvsram": "test_nvsram.dlp"
     })
     firmware = NetAppESeriesFirmware()
     with patch(self.SLEEP_FUNC, return_value=None):
         with patch(self.REQUEST_FUNC,
                    side_effect=[(200, {
                        "requestId": 1
                    }), (200, {
                        "checkRunning": True
                    }),
                                 (200, {
                                     "checkRunning":
                                     False,
                                     "results": [{
                                         "cfwFiles": [{
                                             "filename":
                                             "test_firmware.dlp"
                                         }]
                                     }]
                                 })]):
             firmware.proxy_check_firmware_compatibility()
コード例 #2
0
    def test_proxy_upload_and_check_compatibility_pass(self):
        """Verify proxy_upload_and_check_compatibility"""
        self._set_args({
            "firmware": "test_firmware.dlp",
            "nvsram": "test_nvsram.dlp"
        })
        firmware = NetAppESeriesFirmware()
        firmware.proxy_check_nvsram_compatibility = lambda: None
        firmware.proxy_check_firmware_compatibility = lambda: None
        with patch(self.CREATE_MULTIPART_FORMDATA_FUNC,
                   return_value=("headers", "data")):
            with patch(self.REQUEST_FUNC,
                       side_effect=[(200, [{
                           "version": "XX.XX.XX.XX",
                           "filename": "test"
                       }, {
                           "version": "XXXXXXXXXX",
                           "filename": "test.dlp"
                       }]), (200, None), (200, None)]):
                firmware.proxy_upload_and_check_compatibility()

            with patch(self.REQUEST_FUNC,
                       return_value=(200, [{
                           "version": "XX.XX.XX.XX",
                           "filename": "test"
                       }, {
                           "version": "test_nvsram",
                           "filename": "test_nvsram.dlp"
                       }, {
                           "version": "test",
                           "filename": "test.dlp"
                       }, {
                           "filename": "test_firmware.dlp",
                           "version": "test_firmware"
                       }])):
                firmware.proxy_upload_and_check_compatibility()
コード例 #3
0
    def test_check_firmware_compatibility_fail(self):
        """Verify proxy firmware compatibility throws expected exceptions."""
        self._set_args({
            "firmware": "test_firmware.dlp",
            "nvsram": "test_nvsram.dlp"
        })
        firmware = NetAppESeriesFirmware()

        with patch(self.SLEEP_FUNC, return_value=None):
            with self.assertRaisesRegexp(
                    AnsibleFailJson,
                    "Failed to receive firmware compatibility information."):
                with patch(self.REQUEST_FUNC, return_value=Exception()):
                    firmware.proxy_check_firmware_compatibility()

            with self.assertRaisesRegexp(
                    AnsibleFailJson,
                    "Failed to retrieve firmware status update from proxy."):
                with patch(self.REQUEST_FUNC,
                           side_effect=[(200, {
                               "requestId": 1
                           }), Exception()]):
                    firmware.proxy_check_firmware_compatibility()

            with self.assertRaisesRegexp(AnsibleFailJson,
                                         "Firmware bundle is not compatible."):
                with patch(self.REQUEST_FUNC,
                           side_effect=[(200, {
                               "requestId": 1
                           }), (200, {
                               "checkRunning": True
                           }),
                                        (200, {
                                            "checkRunning":
                                            False,
                                            "results": [{
                                                "cfwFiles": [{
                                                    "filename":
                                                    "not_test_firmware.dlp"
                                                }]
                                            }]
                                        })]):
                    firmware.proxy_check_firmware_compatibility()