def testPowerPhysicalSuccess(self, mock_ucs, mock_request):
        # setup UCS mocks
        mock_ucs.return_value.login.return_value = True
        mock_ucs.return_value.logout.return_value = True
        mockBlade = self.mockBlade("LsServer", "ls-Chassis3Blade3",
                                   "sys/chassis-3/blade-3")
        mockMo = self.mockManagedObject("org-root/ls-ps1", "LsServer")
        mock_ucs.return_value.query_dn.side_effect = [mockBlade, mockMo, ""]
        mock_request.headers = MOCK_HEADER

        # call powerMgmt
        controler.powerMgmt("ls-Chassis3Blade3", "off", True)

        # verify UCS Mocks were called
        mock_ucs.assert_called_with(HOST, USER, PASS, secure=False)
        mock_ucs.return_value.login.assert_called_once()
        mock_ucs.return_value.logout.assert_called_once()
        self.assertEqual(mock_ucs.return_value.query_dn.call_count, 2)
        calls = [
            mock.call("ls-Chassis3Blade3"),
            mock.call("sys/chassis-3/blade-3")
        ]
        mock_ucs.return_value.query_dn.assert_has_calls(calls)
        calls = [mock.call(mockMo)]
        mock_ucs.return_value.set_mo.assert_has_calls(calls)
        self.assertEqual(mockMo.admin_power, "admin-down")
        mock_ucs.return_value.commit.assert_called_once()
 def testPowerInternalServerError_1(self, mock_ucs, mock_request):
     """Invoke a 500 http error by sending an invalid power operation 'off3'"""
     mock_ucs.return_value.login.return_value = True
     mock_ucs.return_value.logout.return_value = True
     mock_ucs.return_value.query_dn.side_effect = \
         [self.mockBlade("Non_LsServer", "sys/chassis-3/blade-3", "org-root/ls-ps1"),
          self.mockServiceProfile("org-root/ls-ps1", "LsServer"), ""]
     mock_request.headers = MOCK_HEADER
     # call powerMgmt
     result = controler.powerMgmt("sys/chassis-3/blade-3", "off3")
     # verify UCS Mocks were called
     mock_ucs.assert_called_with(HOST, USER, PASS, secure=False)
     mock_ucs.return_value.login.assert_called_once()
     mock_ucs.return_value.logout.assert_called_once()
     assert mock_ucs.return_value.query_dn.call_count == 2
     di = ({
         'status':
         500,
         'message':
         'Internal Server Error',
         'stack':
         "action 'off3' is not valid. Choose one of the following: "
         "'on', 'off', 'cycle-wait','cycle-immediate', 'bmc-reset-immediate', "
         "'ipmi-reset', 'hard-reset-immediate', 'soft-shut-down' "
     }, 500)
     self.assertEqual(di, result, "Unexpected exception Data")
Пример #3
0
 def testPowerSuccess(self, mock_ucs, mock_request, mock_LsPower_Consts, mock_LsPower, mock_current_app):
     # setup UCS mocks
     mock_LsPower_Consts.return_value.STATE_DOWN.return_value = True
     mock_LsPower.return_value.return_value = True
     mock_ucs.return_value.query_dn.side_effect = \
         [self.mockBlade("Non_LsServer", "sys/chassis-3/blade-3", "org-root/ls-ps1"),
          self.mockServiceProfile("org-root/ls-ps1", "LsServer"), ""]
     mock_request.headers = MOCK_HEADER
     mock_current_app.config.get.return_value = self.mockCurrentApp("Anything").config
     # call powerMgmt
     controler.powerMgmt("sys/chassis-3/blade-3", "off")
     # verify UCS Mocks were called
     headers = {'ucs-user': USER, 'ucs-host': HOST, 'ucs-password': PASS}
     mock_ucs.assert_called_with(headers, mock_current_app.config.get("handlers"))
     assert mock_ucs.return_value.query_dn.call_count == 2
     # assert that the appropriate service profile constant has been set
     assert mock_LsPower_Consts.STATE_DOWN is not None
 def testPowerSuccess(self, mock_ucs, mock_request, mock_LsPower_Consts, mock_LsPower):
     # setup UCS mocks
     mock_LsPower_Consts.return_value.STATE_DOWN.return_value = True
     mock_LsPower.return_value.return_value = True
     mock_ucs.return_value.login.return_value = True
     mock_ucs.return_value.logout.return_value = True
     mock_ucs.return_value.query_dn.side_effect = \
         [self.mockBlade("Non_LsServer", "sys/chassis-3/blade-3", "org-root/ls-ps1"),
          self.mockServiceProfile("org-root/ls-ps1", "LsServer"), ""]
     mock_request.headers = MOCK_HEADER
     # call powerMgmt
     controler.powerMgmt("sys/chassis-3/blade-3", "off")
     # verify UCS Mocks were called
     mock_ucs.assert_called_with(HOST, USER, PASS, secure=False)
     mock_ucs.return_value.login.assert_called_once()
     mock_ucs.return_value.logout.assert_called_once()
     assert mock_ucs.return_value.query_dn.call_count == 2
     # assert that the appropriate service profile constant has been set
     assert mock_LsPower_Consts.STATE_DOWN is not None
Пример #5
0
    def testPowerPhysicalSuccess2(self, mock_ucs, mock_request, mock_current_app):
        # setup UCS mocks
        mockMo = self.mockManagedObject("sys/chassis-3/blade-3", "compuetBlade")
        mock_ucs.return_value.query_dn.side_effect = [mockMo, ""]
        mock_request.headers = MOCK_HEADER
        mock_current_app.config.get.return_value = self.mockCurrentApp("Anything").config

        # call powerMgmt
        controler.powerMgmt("sys/chassis-3/blade-3", "off", True)

        # verify UCS Mocks were called
        headers = {'ucs-user': USER, 'ucs-host': HOST, 'ucs-password': PASS}
        mock_ucs.assert_called_with(headers, mock_current_app.config.get("handlers"))
        self.assertEqual(mock_ucs.return_value.query_dn.call_count, 1)
        calls = [mock.call("sys/chassis-3/blade-3")]
        mock_ucs.return_value.query_dn.assert_has_calls(calls)
        calls = [mock.call(mockMo)]
        mock_ucs.return_value.set_mo.assert_has_calls(calls)
        self.assertEqual(mockMo.admin_power, "admin-down")
        mock_ucs.return_value.commit.assert_called_once()
Пример #6
0
 def testPowerMgmtForbiden(self, mock_ucs, mock_request, mock_current_app):
     """Invoke a 403 http error"""
     # setup UCS mocks
     mock_ucs.return_value = None
     mock_request.headers = MOCK_HEADER
     mock_current_app.config.get.return_value = self.mockCurrentApp("Anything").config
     # call powerMgmt
     result = controler.powerMgmt(identifier=MOCK_ID)
     # verify UCS Mocks were not called
     headers = {'ucs-user': USER, 'ucs-host': HOST, 'ucs-password': PASS}
     mock_ucs.assert_called_with(headers, mock_current_app.config.get("handlers"))
     self.assertEqual(result, ({'status': 403, 'message': 'Forbidden', 'stack': ''}, 403))
 def testPowerMgmtForbiden(self, mock_ucs, mock_request):
     """Invoke a 403 http error"""
     # setup UCS mocks
     mock_ucs.return_value.login.return_value = False
     mock_request.headers = MOCK_HEADER
     # call powerMgmt
     result = controler.powerMgmt(identifier=MOCK_ID)
     # verify UCS Mocks were not called
     mock_ucs.assert_called_with(HOST, USER, PASS, secure=False)
     mock_ucs.return_value.login.assert_called_once()
     mock_ucs.return_value.query_dn.assert_not_called()
     self.assertEqual(result, ({'status': 403, 'message': 'Forbidden', 'stack': ''}, 403))
Пример #8
0
 def testPowerInternalServerError_2(self, mock_ucs, mock_request, mock_current_app):
     """Invoke a 500 http error by sending an invalid dn"""
     mock_ucs.return_value.logout.return_value = True
     mock_ucs.return_value.query_dn.side_effect = \
         [None,
          "", ""]
     mock_request.headers = MOCK_HEADER
     mock_current_app.config.get.return_value = self.mockCurrentApp("Anything").config
     # call powerMgmt
     result = controler.powerMgmt("sys/chassis-3/blade-3", "off")
     # verify UCS Mocks were called
     headers = {'ucs-user': USER, 'ucs-host': HOST, 'ucs-password': PASS}
     mock_ucs.assert_called_with(headers, mock_current_app.config.get("handlers"))
     mock_ucs.return_value.logout.assert_called_once()
     assert mock_ucs.return_value.query_dn.call_count == 1
     di = ({'status': 500, 'message': 'Internal Server Error', 'stack': 'sever sys/chassis-3/blade-3 does not exist'}, 500)
     self.assertEqual(di, result, "Unexpected exception Data")
 def testPowerInternalServerError_2(self, mock_ucs, mock_request):
     """Invoke a 500 http error by sending an invalid dn"""
     mock_ucs.return_value.login.return_value = True
     mock_ucs.return_value.logout.return_value = True
     mock_ucs.return_value.query_dn.side_effect = \
         [None,
          "", ""]
     mock_request.headers = MOCK_HEADER
     # call powerMgmt
     result = controler.powerMgmt("sys/chassis-3/blade-3", "off")
     # verify UCS Mocks were called
     mock_ucs.assert_called_with(HOST, USER, PASS, secure=False)
     mock_ucs.return_value.login.assert_called_once()
     mock_ucs.return_value.logout.assert_called_once()
     assert mock_ucs.return_value.query_dn.call_count == 1
     di = ({'status': 500, 'message': 'Internal Server Error', 'stack': 'sever sys/chassis-3/blade-3 does not exist'}, 500)
     self.assertEqual(di, result, "Unexpected exception Data")
Пример #10
0
 def testPowerInternalServerError_3(self, mock_ucs, mock_request, mock_current_app):
     """Invoke a 500 http error by not associating a server to a service profile"""
     mock_ucs.return_value.logout.return_value = True
     mock_ucs.return_value.query_dn.side_effect = \
         [self.mockBlade("Non_LsServer", "sys/chassis-3/blade-3", ""),
          self.mockServiceProfile("org-root/ls-ps1", "LsServer"), ""]
     mock_request.headers = MOCK_HEADER
     mock_current_app.config.get.return_value = self.mockCurrentApp("Anything").config
     # call powerMgmt
     result = controler.powerMgmt("sys/chassis-3/blade-3", "off")
     # verify UCS Mocks were called
     headers = {'ucs-user': USER, 'ucs-host': HOST, 'ucs-password': PASS}
     mock_ucs.assert_called_with(headers, mock_current_app.config.get("handlers"))
     mock_ucs.return_value.logout.assert_called_once()
     # assert mock_ucs.return_value.query_dn.call_count == 2
     di = ({'status': 500, 'message': 'Internal Server Error',
            'stack': 'sever sys/chassis-3/blade-3 is not associated to a service profile'}, 500)
     self.assertEqual(di, result, "Unexpected exception Data")
Пример #11
0
 def testPowerInternalServerError_3(self, mock_ucs, mock_request):
     """Invoke a 500 http error by not associating a server to a service profile"""
     mock_ucs.return_value.login.return_value = True
     mock_ucs.return_value.logout.return_value = True
     mock_ucs.return_value.query_dn.side_effect = \
         [self.mockBlade("Non_LsServer", "sys/chassis-3/blade-3", ""),
          self.mockServiceProfile("org-root/ls-ps1", "LsServer"), ""]
     mock_request.headers = MOCK_HEADER
     # call powerMgmt
     result = controler.powerMgmt("sys/chassis-3/blade-3", "off")
     # verify UCS Mocks were called
     mock_ucs.assert_called_with(HOST, USER, PASS, secure=False)
     mock_ucs.return_value.login.assert_called_once()
     mock_ucs.return_value.logout.assert_called_once()
     # assert mock_ucs.return_value.query_dn.call_count == 2
     di = ({'status': 500, 'message': 'Internal Server Error',
            'stack': 'sever sys/chassis-3/blade-3 is not associated to a service profile'}, 500)
     self.assertEqual(di, result, "Unexpected exception Data")
Пример #12
0
    def testPowerPhysicalFailuure(self, mock_ucs, mock_request):
        # setup UCS mocks
        mock_ucs.return_value.login.return_value = True
        mock_ucs.return_value.logout.return_value = True
        mockMo = self.mockManagedObject("sys/chassis-3/blade-3", "compuetBlade")
        mock_ucs.return_value.query_dn.side_effect = [mockMo, ""]
        mock_request.headers = MOCK_HEADER

        # call powerMgmt
        result = controler.powerMgmt("sys/chassis-3/blade-3", "foo", True)

        # verify UCS Mocks were called
        mock_ucs.assert_called_with(HOST, USER, PASS, secure=False)
        mock_ucs.return_value.login.assert_called_once()
        mock_ucs.return_value.logout.assert_called_once()
        self.assertEqual(mock_ucs.return_value.query_dn.call_count, 1)
        calls = [mock.call("sys/chassis-3/blade-3")]
        mock_ucs.return_value.query_dn.assert_has_calls(calls)
        self.assertEqual(result[0]['status'], 500, "expected status 500")
Пример #13
0
    def testPowerPhysicalFailure(self, mock_ucs, mock_request, mock_current_app):
        # setup UCS mocks
        mock_ucs.return_value.login.return_value = True
        mock_ucs.return_value.logout.return_value = True
        mockMo = self.mockManagedObject("sys/chassis-3/blade-3", "compuetBlade")
        mock_ucs.return_value.query_dn.side_effect = [mockMo, ""]
        mock_request.headers = MOCK_HEADER
        mock_current_app.config.get.return_value = self.mockCurrentApp("Anything").config

        # call powerMgmt
        result = controler.powerMgmt("sys/chassis-3/blade-3", "foo", True)

        # verify UCS Mocks were called
        headers = {'ucs-user': USER, 'ucs-host': HOST, 'ucs-password': PASS}
        mock_ucs.assert_called_with(headers, mock_current_app.config.get("handlers"))
        mock_ucs.return_value.logout.assert_called_once()
        self.assertEqual(mock_ucs.return_value.query_dn.call_count, 1)
        calls = [mock.call("sys/chassis-3/blade-3")]
        mock_ucs.return_value.query_dn.assert_has_calls(calls)
        self.assertEqual(result[0]['status'], 500, "expected status 500")