コード例 #1
0
 def test_upload_vnf_package_from_uri(self, mock_vnf_pack_save,
                                      mock_vnf_by_id,
                                      mock_upload_vnf_package_from_uri,
                                      mock_url_open):
     body = {"addressInformation": "http://test_data.zip"}
     mock_vnf_by_id.return_value = fakes.return_vnfpkg_obj()
     mock_vnf_pack_save.return_value = fakes.return_vnfpkg_obj()
     req = fake_request.HTTPRequest.blank(
         '/vnf_packages/%s/package_content/upload_from_uri' %
         constants.UUID)
     req.headers['Content-Type'] = 'application/json'
     req.method = 'POST'
     req.body = jsonutils.dump_as_bytes(body)
     resp = req.get_response(self.app)
     self.assertEqual(http_client.ACCEPTED, resp.status_code)
コード例 #2
0
 def test_delete_with_204_status(self, mock_delete_rpc, mock_vnf_by_id):
     mock_vnf_by_id.return_value = fakes.return_vnfpkg_obj()
     req = fake_request.HTTPRequest.blank('/vnf_packages/%s' %
                                          constants.UUID)
     req.headers['Content-Type'] = 'application/json'
     req.method = 'DELETE'
     resp = req.get_response(self.app)
     self.assertEqual(http_client.NO_CONTENT, resp.status_code)
コード例 #3
0
 def test_show(self, mock_vnf_by_id, mock_sw_image_by_id):
     req = fake_request.HTTPRequest.blank(
         '/vnfpkgm/v1/vnf_packages/%s' % constants.UUID)
     mock_vnf_by_id.return_value = fakes.return_vnfpkg_obj()
     mock_sw_image_by_id.return_value = fakes.return_software_image()
     expected_result = fakes.VNFPACKAGE_RESPONSE
     res_dict = self.controller.show(req, constants.UUID)
     self.assertEqual(expected_result, res_dict)
コード例 #4
0
 def test_upload_vnf_package_content(self, mock_vnf_pack_save,
                                     mock_vnf_by_id,
                                     mock_upload_vnf_package_content,
                                     mock_glance_store):
     file_path = "tacker/tests/etc/samples/test_data.zip"
     file_obj = open(file_path, "rb")
     mock_vnf_by_id.return_value = fakes.return_vnfpkg_obj()
     mock_vnf_pack_save.return_value = fakes.return_vnfpkg_obj()
     mock_glance_store.return_value = 'location', 'size', 'checksum',\
                                      'multihash', 'loc_meta'
     req = fake_request.HTTPRequest.blank(
         '/vnf_packages/%s/package_content' % constants.UUID)
     req.headers['Content-Type'] = 'application/zip'
     req.method = 'PUT'
     req.body = jsonutils.dump_as_bytes(file_obj)
     resp = req.get_response(self.app)
     mock_glance_store.assert_called()
     self.assertEqual(http_client.ACCEPTED, resp.status_code)
コード例 #5
0
ファイル: test_controller.py プロジェクト: shuwenCai/tacker
 def test_upload_vnf_package_content_with_invalid_status(self,
                                                         mock_vnf_by_id):
     vnf_obj = fakes.return_vnfpkg_obj()
     vnf_obj.__setattr__('onboarding_state', 'ONBOARDED')
     mock_vnf_by_id.return_value = vnf_obj
     req = fake_request.HTTPRequest.blank(
         '/vnf_packages/%s/package_content' % constants.UUID)
     self.assertRaises(exc.HTTPConflict,
                       self.controller.upload_vnf_package_content,
                       req, constants.UUID, body=mock.mock_open())
コード例 #6
0
 def test_get_vnf_package_vnfd_with_invalid_accept_header(
         self, mock_vnf_by_id):
     mock_vnf_by_id.return_value = fakes.return_vnfpkg_obj()
     req = fake_request.HTTPRequest.blank(
         '/vnf_packages/%s/vnfd'
         % constants.UUID)
     req.headers['Accept'] = 'test-invalid-header'
     req.method = 'GET'
     self.assertRaises(exc.HTTPNotAcceptable,
                       self.controller.get_vnf_package_vnfd,
                       req, constants.UUID)
コード例 #7
0
 def test_get_vnf_package_vnfd_with_valid_accept_headers(
         self, accept_headers, mock_vnf_by_id, mock_get_vnf_package_vnfd):
     mock_vnf_by_id.return_value = fakes.return_vnfpkg_obj()
     mock_get_vnf_package_vnfd.return_value = fakes.return_vnfd_data()
     req = fake_request.HTTPRequest.blank(
         '/vnf_packages/%s/vnfd'
         % constants.UUID)
     req.headers['Accept'] = accept_headers
     req.method = 'GET'
     resp = req.get_response(self.app)
     self.assertEqual(http_client.OK, resp.status_code)
コード例 #8
0
 def test_patch_not_in_onboarded_state(self, mock_vnf_by_id):
     vnf_package_updates = {'onboarding_state': 'CREATED',
         'operational_state': 'DISABLED'}
     mock_vnf_by_id.return_value = fakes.return_vnfpkg_obj(
         vnf_package_updates=vnf_package_updates)
     body = {"operationalState": "DISABLED"}
     req = fake_request.HTTPRequest.blank('/vnf_packages/%s'
                                          % constants.UUID)
     self.assertRaises(exc.HTTPBadRequest,
                       self.controller.patch,
                       req, constants.UUID, body=body)
コード例 #9
0
 def test_get_vnf_package_vnfd_failed_with_bad_request(
         self, mock_vnf_by_id, mock_get_vnf_package_vnfd):
     mock_vnf_by_id.return_value = fakes.return_vnfpkg_obj()
     mock_get_vnf_package_vnfd.return_value = fakes.return_vnfd_data()
     req = fake_request.HTTPRequest.blank(
         '/vnf_packages/%s/vnfd'
         % constants.UUID)
     req.headers['Accept'] = 'text/plain'
     req.method = 'GET'
     self.assertRaises(exc.HTTPBadRequest,
                       self.controller.get_vnf_package_vnfd,
                       req, constants.UUID)
コード例 #10
0
 def test_patch_failed_with_same_operational_state(self, mock_vnf_by_id):
     vnf_package_updates = {'operational_state': 'DISABLED'}
     mock_vnf_by_id.return_value = \
         fakes.return_vnfpkg_obj(vnf_package_updates=vnf_package_updates)
     body = {"operationalState": "DISABLED",
             "userDefinedData": {"testKey1": "val01",
                                 "testKey2": "val02", "testkey3": "val03"}}
     req = fake_request.HTTPRequest.blank('/vnf_packages/%s'
                                          % constants.UUID)
     self.assertRaises(exc.HTTPConflict,
                       self.controller.patch,
                       req, constants.UUID, body=body)
コード例 #11
0
 def test_upload_vnf_package_content_with_invalid_status(self,
                                                         mock_vnf_by_id):
     file_path = "tacker/tests/etc/samples/test_data.zip"
     file_obj = open(file_path, "rb")
     vnf_obj = fakes.return_vnfpkg_obj()
     vnf_obj.__setattr__('onboarding_state', 'ONBOARDED')
     mock_vnf_by_id.return_value = vnf_obj
     req = fake_request.HTTPRequest.blank(
         '/vnf_packages/%s/package_content' % constants.UUID)
     self.assertRaises(exc.HTTPConflict,
                       self.controller.upload_vnf_package_content,
                       req, constants.UUID, body=file_obj)
コード例 #12
0
 def test_upload_vnf_package_from_uri_with_invalid_status(self,
                                                          mock_vnf_by_id,
                                                          mock_url_open):
     body = {"addressInformation": "http://localhost/test_data.zip"}
     vnf_obj = fakes.return_vnfpkg_obj()
     vnf_obj.__setattr__('onboarding_state', 'ONBOARDED')
     mock_vnf_by_id.return_value = vnf_obj
     req = fake_request.HTTPRequest.blank(
         '/vnf_packages/%s/package_content/upload_from_uri'
         % constants.UUID)
     self.assertRaises(exc.HTTPConflict,
                       self.controller.upload_vnf_package_from_uri,
                       req, constants.UUID, body=body)
コード例 #13
0
 def test_get_vnf_package_vnfd_failed_with_internal_server_error(
         self, mock_vnf_by_id, mock_get_vnf_package_vnfd):
     mock_vnf_by_id.return_value = fakes.return_vnfpkg_obj()
     mock_get_vnf_package_vnfd.side_effect = tacker_exc.FailedToGetVnfdData
     req = fake_request.HTTPRequest.blank(
         '/vnf_packages/%s/vnfd'
         % constants.UUID)
     req.headers['Accept'] = 'application/zip'
     req.method = 'GET'
     resp = req.get_response(self.app)
     self.assertRaises(exc.HTTPInternalServerError,
                       self.controller.get_vnf_package_vnfd,
                       req, constants.UUID)
     self.assertEqual(http_client.INTERNAL_SERVER_ERROR, resp.status_code)
コード例 #14
0
 def test_get_vnf_package_vnfd_failed_with_invalid_status(
         self, mock_vnf_by_id):
     vnf_package_updates = {
         'onboarding_state': 'CREATED',
         'operational_state': 'DISABLED'
     }
     mock_vnf_by_id.return_value = fakes.return_vnfpkg_obj(
         vnf_package_updates=vnf_package_updates)
     req = fake_request.HTTPRequest.blank(
         '/vnf_packages/%s/vnfd'
         % constants.UUID)
     req.headers['Accept'] = 'application/zip'
     req.method = 'GET'
     resp = req.get_response(self.app)
     self.assertEqual(http_client.CONFLICT, resp.status_code)
コード例 #15
0
 def test_get_vnf_package_vnfd_for_content_type_text_plain(self,
                               mock_vnf_by_id,
                               mock_get_vnf_package_vnfd):
     mock_vnf_by_id.return_value = fakes.return_vnfpkg_obj()
     fake_vnfd_data = fakes.return_vnfd_data(multiple_yaml_files=False)
     mock_get_vnf_package_vnfd.return_value = fake_vnfd_data
     req = fake_request.HTTPRequest.blank(
         '/vnf_packages/%s/vnfd'
         % constants.UUID)
     req.headers['Accept'] = 'text/plain'
     req.method = 'GET'
     resp = req.get_response(self.app)
     self.assertEqual(http_client.OK, resp.status_code)
     self.assertEqual('text/plain', resp.content_type)
     self.assertEqual(fake_vnfd_data[list(fake_vnfd_data.keys())[0]],
                      resp.text)
コード例 #16
0
 def test_patch_update_existing_user_data(self, mock_save, mock_vnf_by_id):
     fake_obj = fakes.return_vnfpkg_obj(vnf_package_updates={
         "operational_state": "DISABLED", "onboarding_state": "CREATED",
         "user_data": {"testKey1": "val01", "testKey2": "val02",
         "testKey3": "val03"}})
     mock_vnf_by_id.return_value = fake_obj
     req_body = {"userDefinedData": {"testKey1": "changed_val01",
                                     "testKey2": "changed_val02",
                                     "testKey3": "changed_val03"}}
     req = fake_request.HTTPRequest.blank(
         '/vnf_packages/%s'
         % constants.UUID)
     req.headers['Content-Type'] = 'application/json'
     req.method = 'PATCH'
     req.body = jsonutils.dump_as_bytes(req_body)
     resp = req.get_response(self.app)
     self.assertEqual(http_client.OK, resp.status_code)
     self.assertEqual(req_body, jsonutils.loads(resp.body))