Ejemplo n.º 1
0
 def test_index_filter_invalid_string_values(self, filter_params,
         mock_vnf_list):
     """Test invalid string values as per ETSI NFV SOL013 5.2.2 """
     query = urllib.parse.urlencode(filter_params)
     req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
         query)
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     self.assertRaises(tacker_exc.ValidationError, self.controller.index,
                       req)
Ejemplo n.º 2
0
 def test_index(self, path, mock_vnf_list):
     req = fake_request.HTTPRequest.blank(path)
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     res_dict = self.controller.index(req)
     expected_result = fakes.index_response(remove_attrs=[
         'softwareImages', 'checksum', 'userDefinedData'])
     self.assertEqual(expected_result, res_dict)
Ejemplo n.º 3
0
 def test_index_attribute_selector_invalid_fields(self, params,
         mock_vnf_list):
     query = urllib.parse.urlencode(params)
     req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
         query)
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     self.assertRaises(tacker_exc.ValidationError, self.controller.index,
                       req)
Ejemplo n.º 4
0
 def test_index_filter_invalid_operator(self, params, mock_vnf_list):
     """Test invalid operator in filter expression """
     query = urllib.parse.urlencode(params)
     req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
         query)
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     self.assertRaises(tacker_exc.ValidationError, self.controller.index,
                       req)
Ejemplo n.º 5
0
 def test_index_attribute_selector_unexpected_value(self, params,
         mock_vnf_list):
     """Test values with the parameters which doesn't need values. """
     query = urllib.parse.urlencode(params)
     req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
         query)
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     self.assertRaises(tacker_exc.ValidationError, self.controller.index,
                       req)
Ejemplo n.º 6
0
 def test_index_filter_invalid_value_type(self, filter_params,
         mock_vnf_list):
     """Test values which doesn't match with attribute data type """
     query = urllib.parse.urlencode(filter_params)
     req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
         query)
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     self.assertRaises(tacker_exc.ValidationError, self.controller.index,
                       req)
Ejemplo n.º 7
0
 def test_index_attribute_selector_all_fields(self, mock_vnf_list):
     params = {'all_fields': ''}
     query = urllib.parse.urlencode(params)
     req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
         query)
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     res_dict = self.controller.index(req)
     expected_result = fakes.index_response()
     self.assertEqual(expected_result, res_dict)
Ejemplo n.º 8
0
 def test_index_filter_attributes(self, filter_params, mock_vnf_list):
     """Test various attributes supported for filter parameter """
     query = urllib.parse.urlencode(filter_params)
     req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
         query)
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     res_dict = self.controller.index(req)
     expected_result = fakes.index_response(remove_attrs=[
         'softwareImages', 'checksum', 'userDefinedData'])
     self.assertEqual(expected_result, res_dict)
Ejemplo n.º 9
0
 def test_index_attribute_selector_user_defined_data(self, mock_vnf_list):
     params = {'fields': 'userDefinedData/key1,userDefinedData/key2'}
     query = urllib.parse.urlencode(params)
     req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
         query)
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     res_dict = self.controller.index(req)
     expected_result = fakes.index_response(remove_attrs=[
         'checksum', 'softwareImages'])
     self.assertEqual(expected_result, res_dict)
Ejemplo n.º 10
0
 def test_index_attribute_selector_exclude_fields(self, params,
         mock_vnf_list):
     query = urllib.parse.urlencode(params)
     req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
         query)
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     res_dict = self.controller.index(req)
     remove_attrs = [params['exclude_fields']]
     expected_result = fakes.index_response(remove_attrs=remove_attrs)
     self.assertEqual(expected_result, res_dict)
Ejemplo n.º 11
0
 def test_index_filter_combination(self, mock_vnf_list):
     """Test multiple filter parameters separated by semicolon """
     params = {'filter': '(eq,vnfdId,dummy_vnfd_id);(eq,id,dummy_id)'}
     query = urllib.parse.urlencode(params)
     req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
         query)
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     res_dict = self.controller.index(req)
     expected_result = fakes.index_response(remove_attrs=[
         'softwareImages', 'checksum', 'userDefinedData'])
     self.assertEqual(expected_result, res_dict)
Ejemplo n.º 12
0
    def test_index_attribute_selector_fields(self, params, mock_vnf_list):
        """Test valid attribute names with fields parameter

        We can specify complex attributes in fields. Hence the data only
        contains such attributes.
        """
        complex_attrs = ['softwareImages', 'checksum', 'userDefinedData']
        query = urllib.parse.urlencode(params)
        req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
                query)
        mock_vnf_list.return_value = fakes.return_vnf_package_list()
        res_dict = self.controller.index(req)
        remove_attrs = [x for x in complex_attrs if x != params['fields']]
        expected_result = fakes.index_response(remove_attrs=remove_attrs)
        self.assertEqual(expected_result, res_dict)
Ejemplo n.º 13
0
    def test_index_filter_valid_string_values(self, filter_params,
            mock_vnf_list):
        """Tests all the supported string values.

        For example:
        - values which are not enclosed in single quotes
        - values which are enclosed in single quotes
        - values having single quotes within them
        - values having round brackets in them
        """
        query = urllib.parse.urlencode(filter_params)
        req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
            query)
        mock_vnf_list.return_value = fakes.return_vnf_package_list()
        res_dict = self.controller.index(req)
        expected_result = fakes.index_response(remove_attrs=[
            'softwareImages', 'checksum', 'userDefinedData'])
        self.assertEqual(expected_result, res_dict)
Ejemplo n.º 14
0
 def test_index_attribute_selector_nested_complex_attribute(self,
         mock_vnf_list):
     params = {'fields': 'softwareImages/checksum/algorithm,'
         'softwareImages/minRam'}
     query = urllib.parse.urlencode(params)
     req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
         query)
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     res_dict = self.controller.index(req)
     vnf_package_updates = {
         'softwareImages': [{
             'minRam': 0,
             'checksum': {'algorithm': 'fake-algorithm'}
         }]
     }
     expected_result = fakes.index_response(remove_attrs=[
         'checksum', 'userDefinedData'],
         vnf_package_updates=vnf_package_updates)
     self.assertEqual(expected_result, res_dict)
Ejemplo n.º 15
0
    def test_index_attribute_selector_user_defined_data_combination(self,
            mock_vnf_list):
        """Query user defined data with fields parameter

        This test queries combination of user defined data. i.e. fields of
        different complex attributes.
        """
        params = {
            'fields': 'userDefinedData/key1,softwareImages/userMetadata/key3',
        }
        query = urllib.parse.urlencode(params)
        req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages?' +
            query)
        mock_vnf_list.return_value = fakes.return_vnf_package_list()
        res_dict = self.controller.index(req)
        vnf_package_updates = {
            'userDefinedData': {'key1': 'value1'},
            'softwareImages': [{'userMetadata': {'key3': 'value3'}}]
        }
        expected_result = fakes.index_response(remove_attrs=[
            'checksum'], vnf_package_updates=vnf_package_updates)
        self.assertEqual(expected_result, res_dict)
Ejemplo n.º 16
0
 def test_index(self, mock_vnf_list):
     req = fake_request.HTTPRequest.blank('/vnfpkgm/v1/vnf_packages/')
     mock_vnf_list.return_value = fakes.return_vnf_package_list()
     res_dict = self.controller.index(req)
     expected_result = fakes.VNFPACKAGE_INDEX_RESPONSE
     self.assertEqual(expected_result, res_dict)