#!/usr/bin/env python # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 import logging import unittest import mock from functest.opnfv_tests.vnf.ims import clearwater_ims_base as ims_base class ClearwaterOnBoardingBaseTesting(unittest.TestCase): logging.disable(logging.CRITICAL) def setUp(self): with mock.patch('functest.opnfv_tests.vnf.ims.cloudify_ims.' 'os.makedirs'): self.ims_vnf = ims_base.ClearwaterOnBoardingBase() self.mock_post = mock.Mock() attrs = {'status_code': 201, 'cookies': ""} self.mock_post.configure_mock(**attrs) self.mock_post_200 = mock.Mock() attrs = {'status_code': 200, 'cookies': ""} self.mock_post_200.configure_mock(**attrs) self.mock_post_500 = mock.Mock() attrs = {'status_code': 500, 'cookies': ""} self.mock_post_200.configure_mock(**attrs) def test_create_ellis_number_failure(self): with mock.patch('functest.opnfv_tests.vnf.ims.' 'clearwater_ims_base.requests.post', return_value=self.mock_post_500), \ self.assertRaises(Exception) as context: self.ims_vnf.create_ellis_number() msg = "Unable to create a number:" self.assertTrue(msg in context.exception) def _get_post_status(self, url, cookies='', data=''): ellis_url = "http://test_ellis_ip/session" if url == ellis_url: return self.mock_post_200 return self.mock_post if __name__ == "__main__": unittest.main(verbosity=2)