Skip to content

chore(deps): bump setuptools from 67.8.0 to 71.0.3 #378

chore(deps): bump setuptools from 67.8.0 to 71.0.3

chore(deps): bump setuptools from 67.8.0 to 71.0.3 #378

GitHub Actions / pytest results failed Jul 19, 2024 in 0s

13 fail, 2 skipped, 84 pass in 11m 39s

99 tests   84 ✔️  11m 39s ⏱️
  1 suites    2 💤
  1 files    13

Results for commit 6b34dab.

Annotations

Check warning on line 0 in tests.test_get_cpe_match.TestGetCpeMatch

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_get_all_cpe_match (tests.test_get_cpe_match.TestGetCpeMatch) failed

report.xml [took 10s]
Raw output
nvd_api.low_api.exceptions.NotFoundException: Status Code: 404
Reason: 
HTTP response headers: HTTPHeaderDict({'message': 'resultsPerPage parameter cannot exceed 500.', 'x-frame-options': 'SAMEORIGIN', 'access-control-allow-origin': '*', 'access-control-allow-headers': 'accept, apiKey, content-type, origin, x-requested-with', 'access-control-allow-methods': 'GET, HEAD, OPTIONS', 'access-control-allow-credentials': 'false', 'date': 'Fri, 19 Jul 2024 10:13:32 GMT', 'content-length': '0', 'apikey': 'No', 'strict-transport-security': 'max-age=31536000'})
self = <tests.test_get_cpe_match.TestGetCpeMatch testMethod=test_get_all_cpe_match>

    def test_get_all_cpe_match(self):
>       response = self.client.get_all_cpe_match(
            last_mod_start_date="2021-01-01T00:00:00.000",
            last_mod_end_date="2021-03-01T00:00:00.000"
        )

tests/test_get_cpe_match.py:66: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:598: in get_all_cpe_match
    response = self.get_cpe_match(start_index=0,
src/nvd_api/client.py:367: in get_cpe_match
    ret = self._products_api.get_cpe_match(**kwargs)
src/nvd_api/low_api/api/products_api.py:314: in get_cpe_match
    return self.get_cpe_match_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:206: in __call_api
    raise e
src/nvd_api/low_api/api_client.py:199: in __call_api
    response_data = self.request(
src/nvd_api/low_api/api_client.py:448: in request
    return self.rest_client.GET(url,
src/nvd_api/low_api/rest.py:236: in GET
    return self.request("GET", url,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <nvd_api.low_api.rest.RESTClientObject object at 0x7f5a1988e5f0>
method = 'GET', url = 'https://services.nvd.nist.gov/rest/json/cpematch/2.0/'
query_params = [('lastModStartDate', '2021-01-01T00:00:00'), ('lastModEndDate', '2021-03-01T00:00:00'), ('resultsPerPage', 5000), ('startIndex', 0)]
headers = {'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/1.0.0/python'}
body = None, post_params = {}, _preload_content = True
_request_timeout = 20000.0

    def request(self, method, url, query_params=None, headers=None,
                body=None, post_params=None, _preload_content=True,
                _request_timeout=None):
        """Perform requests.
    
        :param method: http request method
        :param url: http request url
        :param query_params: query parameters in the url
        :param headers: http request headers
        :param body: request json body, for `application/json`
        :param post_params: request post parameters,
                            `application/x-www-form-urlencoded`
                            and `multipart/form-data`
        :param _preload_content: if False, the urllib3.HTTPResponse object will
                                 be returned without reading/decoding response
                                 data. Default is True.
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        """
        method = method.upper()
        assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT',
                          'PATCH', 'OPTIONS']
    
        if post_params and body:
            raise ApiValueError(
                "body parameter cannot be used with post_params parameter."
            )
    
        post_params = post_params or {}
        headers = headers or {}
    
        timeout = None
        if _request_timeout:
            if isinstance(_request_timeout, (int, float)):  # noqa: E501,F821
                timeout = urllib3.Timeout(total=_request_timeout)
            elif (isinstance(_request_timeout, tuple) and
                  len(_request_timeout) == 2):
                timeout = urllib3.Timeout(
                    connect=_request_timeout[0], read=_request_timeout[1])
    
        try:
            # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE`
            if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']:
                # Only set a default Content-Type for POST, PUT, PATCH and OPTIONS requests
                if (method != 'DELETE') and ('Content-Type' not in headers):
                    headers['Content-Type'] = 'application/json'
                if query_params:
                    url += '?' + urlencode(query_params)
                if ('Content-Type' not in headers) or (re.search('json',
                                                                 headers['Content-Type'], re.IGNORECASE)):
                    request_body = None
                    if body is not None:
                        request_body = json.dumps(body)
                    r = self.pool_manager.request(
                        method, url,
                        body=request_body,
                        preload_content=_preload_content,
                        timeout=timeout,
                        headers=headers)
                elif headers['Content-Type'] == 'application/x-www-form-urlencoded':  # noqa: E501
                    r = self.pool_manager.request(
                        method, url,
                        fields=post_params,
                        encode_multipart=False,
                        preload_content=_preload_content,
                        timeout=timeout,
                        headers=headers)
                elif headers['Content-Type'] == 'multipart/form-data':
                    # must del headers['Content-Type'], or the correct
                    # Content-Type which generated by urllib3 will be
                    # overwritten.
                    del headers['Content-Type']
                    r = self.pool_manager.request(
                        method, url,
                        fields=post_params,
                        encode_multipart=True,
                        preload_content=_preload_content,
                        timeout=timeout,
                        headers=headers)
                # Pass a `string` parameter directly in the body to support
                # other content types than Json when `body` argument is
                # provided in serialized form
                elif isinstance(body, str) or isinstance(body, bytes):
                    request_body = body
                    r = self.pool_manager.request(
                        method, url,
                        body=request_body,
                        preload_content=_preload_content,
                        timeout=timeout,
                        headers=headers)
                else:
                    # Cannot generate the request from given parameters
                    msg = """Cannot prepare a request message for provided
                             arguments. Please check that your arguments match
                             declared content type."""
                    raise ApiException(status=0, reason=msg)
            # For `GET`, `HEAD`
            else:
                r = self.pool_manager.request(method, url,
                                              fields=query_params,
                                              preload_content=_preload_content,
                                              timeout=timeout,
                                              headers=headers)
        except urllib3.exceptions.SSLError as e:
            msg = "{0}\n{1}".format(type(e).__name__, str(e))
            raise ApiException(status=0, reason=msg)
    
        if _preload_content:
            r = RESTResponse(r)
    
            # log response body
            logger.debug("response body: %s", r.data)
    
        if not 200 <= r.status <= 299:
            if r.status == 401:
                raise UnauthorizedException(http_resp=r)
    
            if r.status == 403:
                raise ForbiddenException(http_resp=r)
    
            if r.status == 404:
>               raise NotFoundException(http_resp=r)
E               nvd_api.low_api.exceptions.NotFoundException: Status Code: 404
E               Reason: 
E               HTTP response headers: HTTPHeaderDict({'message': 'resultsPerPage parameter cannot exceed 500.', 'x-frame-options': 'SAMEORIGIN', 'access-control-allow-origin': '*', 'access-control-allow-headers': 'accept, apiKey, content-type, origin, x-requested-with', 'access-control-allow-methods': 'GET, HEAD, OPTIONS', 'access-control-allow-credentials': 'false', 'date': 'Fri, 19 Jul 2024 10:13:32 GMT', 'content-length': '0', 'apikey': 'No', 'strict-transport-security': 'max-age=31536000'})

src/nvd_api/low_api/rest.py:225: NotFoundException

Check warning on line 0 in tests.test_get_cpe_match.TestGetCpeMatch

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_max_page_limit (tests.test_get_cpe_match.TestGetCpeMatch) failed

report.xml [took 10s]
Raw output
nvd_api.low_api.exceptions.NotFoundException: Status Code: 404
Reason: 
HTTP response headers: HTTPHeaderDict({'message': 'resultsPerPage parameter cannot exceed 500.', 'x-frame-options': 'SAMEORIGIN', 'access-control-allow-origin': '*', 'access-control-allow-headers': 'accept, apiKey, content-type, origin, x-requested-with', 'access-control-allow-methods': 'GET, HEAD, OPTIONS', 'access-control-allow-credentials': 'false', 'date': 'Fri, 19 Jul 2024 10:14:58 GMT', 'content-length': '0', 'apikey': 'No', 'strict-transport-security': 'max-age=31536000'})
self = <tests.test_get_cpe_match.TestGetCpeMatch testMethod=test_max_page_limit>

    def test_max_page_limit(self):
        max_limit = NvdApiClient.MAX_PAGE_LIMIT_CPE_MATCH_API
>       response = self.client.get_cpe_match(results_per_page=max_limit)

tests/test_get_cpe_match.py:190: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:367: in get_cpe_match
    ret = self._products_api.get_cpe_match(**kwargs)
src/nvd_api/low_api/api/products_api.py:314: in get_cpe_match
    return self.get_cpe_match_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:206: in __call_api
    raise e
src/nvd_api/low_api/api_client.py:199: in __call_api
    response_data = self.request(
src/nvd_api/low_api/api_client.py:448: in request
    return self.rest_client.GET(url,
src/nvd_api/low_api/rest.py:236: in GET
    return self.request("GET", url,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <nvd_api.low_api.rest.RESTClientObject object at 0x7f5a0b446350>
method = 'GET', url = 'https://services.nvd.nist.gov/rest/json/cpematch/2.0/'
query_params = [('resultsPerPage', 5000)]
headers = {'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/1.0.0/python'}
body = None, post_params = {}, _preload_content = True
_request_timeout = 20000.0

    def request(self, method, url, query_params=None, headers=None,
                body=None, post_params=None, _preload_content=True,
                _request_timeout=None):
        """Perform requests.
    
        :param method: http request method
        :param url: http request url
        :param query_params: query parameters in the url
        :param headers: http request headers
        :param body: request json body, for `application/json`
        :param post_params: request post parameters,
                            `application/x-www-form-urlencoded`
                            and `multipart/form-data`
        :param _preload_content: if False, the urllib3.HTTPResponse object will
                                 be returned without reading/decoding response
                                 data. Default is True.
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        """
        method = method.upper()
        assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT',
                          'PATCH', 'OPTIONS']
    
        if post_params and body:
            raise ApiValueError(
                "body parameter cannot be used with post_params parameter."
            )
    
        post_params = post_params or {}
        headers = headers or {}
    
        timeout = None
        if _request_timeout:
            if isinstance(_request_timeout, (int, float)):  # noqa: E501,F821
                timeout = urllib3.Timeout(total=_request_timeout)
            elif (isinstance(_request_timeout, tuple) and
                  len(_request_timeout) == 2):
                timeout = urllib3.Timeout(
                    connect=_request_timeout[0], read=_request_timeout[1])
    
        try:
            # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE`
            if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']:
                # Only set a default Content-Type for POST, PUT, PATCH and OPTIONS requests
                if (method != 'DELETE') and ('Content-Type' not in headers):
                    headers['Content-Type'] = 'application/json'
                if query_params:
                    url += '?' + urlencode(query_params)
                if ('Content-Type' not in headers) or (re.search('json',
                                                                 headers['Content-Type'], re.IGNORECASE)):
                    request_body = None
                    if body is not None:
                        request_body = json.dumps(body)
                    r = self.pool_manager.request(
                        method, url,
                        body=request_body,
                        preload_content=_preload_content,
                        timeout=timeout,
                        headers=headers)
                elif headers['Content-Type'] == 'application/x-www-form-urlencoded':  # noqa: E501
                    r = self.pool_manager.request(
                        method, url,
                        fields=post_params,
                        encode_multipart=False,
                        preload_content=_preload_content,
                        timeout=timeout,
                        headers=headers)
                elif headers['Content-Type'] == 'multipart/form-data':
                    # must del headers['Content-Type'], or the correct
                    # Content-Type which generated by urllib3 will be
                    # overwritten.
                    del headers['Content-Type']
                    r = self.pool_manager.request(
                        method, url,
                        fields=post_params,
                        encode_multipart=True,
                        preload_content=_preload_content,
                        timeout=timeout,
                        headers=headers)
                # Pass a `string` parameter directly in the body to support
                # other content types than Json when `body` argument is
                # provided in serialized form
                elif isinstance(body, str) or isinstance(body, bytes):
                    request_body = body
                    r = self.pool_manager.request(
                        method, url,
                        body=request_body,
                        preload_content=_preload_content,
                        timeout=timeout,
                        headers=headers)
                else:
                    # Cannot generate the request from given parameters
                    msg = """Cannot prepare a request message for provided
                             arguments. Please check that your arguments match
                             declared content type."""
                    raise ApiException(status=0, reason=msg)
            # For `GET`, `HEAD`
            else:
                r = self.pool_manager.request(method, url,
                                              fields=query_params,
                                              preload_content=_preload_content,
                                              timeout=timeout,
                                              headers=headers)
        except urllib3.exceptions.SSLError as e:
            msg = "{0}\n{1}".format(type(e).__name__, str(e))
            raise ApiException(status=0, reason=msg)
    
        if _preload_content:
            r = RESTResponse(r)
    
            # log response body
            logger.debug("response body: %s", r.data)
    
        if not 200 <= r.status <= 299:
            if r.status == 401:
                raise UnauthorizedException(http_resp=r)
    
            if r.status == 403:
                raise ForbiddenException(http_resp=r)
    
            if r.status == 404:
>               raise NotFoundException(http_resp=r)
E               nvd_api.low_api.exceptions.NotFoundException: Status Code: 404
E               Reason: 
E               HTTP response headers: HTTPHeaderDict({'message': 'resultsPerPage parameter cannot exceed 500.', 'x-frame-options': 'SAMEORIGIN', 'access-control-allow-origin': '*', 'access-control-allow-headers': 'accept, apiKey, content-type, origin, x-requested-with', 'access-control-allow-methods': 'GET, HEAD, OPTIONS', 'access-control-allow-credentials': 'false', 'date': 'Fri, 19 Jul 2024 10:14:58 GMT', 'content-length': '0', 'apikey': 'No', 'strict-transport-security': 'max-age=31536000'})

src/nvd_api/low_api/rest.py:225: NotFoundException

Check warning on line 0 in tests.test_get_cves.TestGetCves

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_get_by_cve (tests.test_get_cves.TestGetCves) failed

report.xml [took 10s]
Raw output
nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']
self = <tests.test_get_cves.TestGetCves testMethod=test_get_by_cve>

    def test_get_by_cve(self):
>       response = self.client.get_cves(
            cpe_name="cpe:2.3:a:ibm:mq:9.0.0.0:*:*:*:lts:*:*:*",
            cve_id="CVE-2019-4227",
            cwe_id="CWE-384",
            is_vulnerable=True,
            source_identifier="nvd@nist.gov"
        )

tests/test_get_cves.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:223: in get_cves
    ret = self._vulnerabilities_api.get_cves(**kwargs)
src/nvd_api/low_api/api/vulnerabilities_api.py:564: in get_cves
    return self.get_cves_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:227: in __call_api
    return_data = self.deserialize(
src/nvd_api/low_api/api_client.py:333: in deserialize
    deserialized_data = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas.py:196: in _from_openapi_data
    self.vulnerabilities = vulnerabilities
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1633: in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner.py:173: in _from_openapi_data
    self.cve = cve
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner_cve.py:259: in _from_openapi_data
    setattr(self, var_name, var_value)
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'descriptions': [{'lang': 'en',
                   'value': 'IBM MQ 8.0.0.4 - 8.0.0.12, 9.0.0.0 - 9.0.0.6, '
        ...https://www.ibm.com/support/pages/node/886899'}],
 'source_identifier': 'psirt@us.ibm.com',
 'vuln_status': 'Analyzed'}
name = 'cveTags', value = []

    def set_attribute(self, name, value):
        # this is only used to set properties on self
    
        path_to_item = []
        if self._path_to_item:
            path_to_item.extend(self._path_to_item)
        path_to_item.append(name)
    
        if name in self.openapi_types:
            required_types_mixed = self.openapi_types[name]
        elif self.additional_properties_type is None:
>           raise ApiAttributeError(
                "{0} has no attribute '{1}'".format(
                    type(self).__name__, name),
                path_to_item
E               nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']

src/nvd_api/low_api/model_utils.py:139: ApiAttributeError

Check warning on line 0 in tests.test_get_cves.TestGetCves

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_get_by_keywords (tests.test_get_cves.TestGetCves) failed

report.xml [took 10s]
Raw output
nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']
self = <tests.test_get_cves.TestGetCves testMethod=test_get_by_keywords>

    def test_get_by_keywords(self):
>       response = self.client.get_cves(
            keyword_exact_match=True,
            keyword_search="CentOS",
            results_per_page=1,
            start_index=1
        )

tests/test_get_cves.py:93: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:223: in get_cves
    ret = self._vulnerabilities_api.get_cves(**kwargs)
src/nvd_api/low_api/api/vulnerabilities_api.py:564: in get_cves
    return self.get_cves_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:227: in __call_api
    return_data = self.deserialize(
src/nvd_api/low_api/api_client.py:333: in deserialize
    deserialized_data = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas.py:196: in _from_openapi_data
    self.vulnerabilities = vulnerabilities
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1633: in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner.py:173: in _from_openapi_data
    self.cve = cve
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner_cve.py:259: in _from_openapi_data
    setattr(self, var_name, var_value)
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'descriptions': [{'lang': 'en',
                   'value': 'The Tomcat package on Red Hat Enterprise Linux '
       .../security-advisory/cpuoct2019-5072832.html'}],
 'source_identifier': 'secalert@redhat.com',
 'vuln_status': 'Modified'}
name = 'cveTags', value = []

    def set_attribute(self, name, value):
        # this is only used to set properties on self
    
        path_to_item = []
        if self._path_to_item:
            path_to_item.extend(self._path_to_item)
        path_to_item.append(name)
    
        if name in self.openapi_types:
            required_types_mixed = self.openapi_types[name]
        elif self.additional_properties_type is None:
>           raise ApiAttributeError(
                "{0} has no attribute '{1}'".format(
                    type(self).__name__, name),
                path_to_item
E               nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']

src/nvd_api/low_api/model_utils.py:139: ApiAttributeError

Check warning on line 0 in tests.test_get_cves.TestGetCves

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_get_by_cvss_v3 (tests.test_get_cves.TestGetCves) failed

report.xml [took 10s]
Raw output
nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']
self = <tests.test_get_cves.TestGetCves testMethod=test_get_by_cvss_v3>

    def test_get_by_cvss_v3(self):
>       response = self.client.get_cves(
            cpe_name="cpe:2.3:o:debian:debian_linux:3.0:*:*:*:*:*:*:*",
            cvss_v3_metrics="AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            cvss_v3_severity=CVSS_V3_SEVERITY.HIGH,
            results_per_page=1,
            start_index=0
        )

tests/test_get_cves.py:69: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:223: in get_cves
    ret = self._vulnerabilities_api.get_cves(**kwargs)
src/nvd_api/low_api/api/vulnerabilities_api.py:564: in get_cves
    return self.get_cves_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:227: in __call_api
    return_data = self.deserialize(
src/nvd_api/low_api/api_client.py:333: in deserialize
    deserialized_data = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas.py:196: in _from_openapi_data
    self.vulnerabilities = vulnerabilities
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1633: in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner.py:173: in _from_openapi_data
    self.cve = cve
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner_cve.py:259: in _from_openapi_data
    setattr(self, var_name, var_value)
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'descriptions': [{'lang': 'en',
                   'value': 'The D-Bus security policy files in '
                   ...xforce.ibmcloud.com/vulnerabilities/100488'}],
 'source_identifier': 'secalert@redhat.com',
 'vuln_status': 'Analyzed'}
name = 'cveTags', value = []

    def set_attribute(self, name, value):
        # this is only used to set properties on self
    
        path_to_item = []
        if self._path_to_item:
            path_to_item.extend(self._path_to_item)
        path_to_item.append(name)
    
        if name in self.openapi_types:
            required_types_mixed = self.openapi_types[name]
        elif self.additional_properties_type is None:
>           raise ApiAttributeError(
                "{0} has no attribute '{1}'".format(
                    type(self).__name__, name),
                path_to_item
E               nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']

src/nvd_api/low_api/model_utils.py:139: ApiAttributeError

Check warning on line 0 in tests.test_get_cves.TestGetCves

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_max_page_limit (tests.test_get_cves.TestGetCves) failed

report.xml [took 10s]
Raw output
nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']
self = <tests.test_get_cves.TestGetCves testMethod=test_max_page_limit>

    def test_max_page_limit(self):
        max_limit = NvdApiClient.MAX_PAGE_LIMIT_CVE_API
>       response = self.client.get_cves(results_per_page=max_limit)

tests/test_get_cves.py:462: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:223: in get_cves
    ret = self._vulnerabilities_api.get_cves(**kwargs)
src/nvd_api/low_api/api/vulnerabilities_api.py:564: in get_cves
    return self.get_cves_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:227: in __call_api
    return_data = self.deserialize(
src/nvd_api/low_api/api_client.py:333: in deserialize
    deserialized_data = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas.py:196: in _from_openapi_data
    self.vulnerabilities = vulnerabilities
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1633: in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner.py:173: in _from_openapi_data
    self.cve = cve
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner_cve.py:259: in _from_openapi_data
    setattr(self, var_name, var_value)
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'descriptions': [{'lang': 'en',
                   'value': 'The debug command in Sendmail is enabled, '
            ...      'url': 'http://www.securityfocus.com/bid/1'}],
 'source_identifier': 'cve@mitre.org',
 'vuln_status': 'Modified'}
name = 'cveTags', value = []

    def set_attribute(self, name, value):
        # this is only used to set properties on self
    
        path_to_item = []
        if self._path_to_item:
            path_to_item.extend(self._path_to_item)
        path_to_item.append(name)
    
        if name in self.openapi_types:
            required_types_mixed = self.openapi_types[name]
        elif self.additional_properties_type is None:
>           raise ApiAttributeError(
                "{0} has no attribute '{1}'".format(
                    type(self).__name__, name),
                path_to_item
E               nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']

src/nvd_api/low_api/model_utils.py:139: ApiAttributeError

Check warning on line 0 in tests.test_get_cves.TestGetCves

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_get_by_has_flags (tests.test_get_cves.TestGetCves) failed

report.xml [took 12s]
Raw output
nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']
self = <tests.test_get_cves.TestGetCves testMethod=test_get_by_has_flags>

    def test_get_by_has_flags(self):
>       response = self.client.get_cves(
            has_cert_alerts=True,
            has_cert_notes=True,
            has_kev=True,
            has_oval=True,
            no_rejected=True,
            results_per_page=1,
            start_index=1
        )

tests/test_get_cves.py:80: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:223: in get_cves
    ret = self._vulnerabilities_api.get_cves(**kwargs)
src/nvd_api/low_api/api/vulnerabilities_api.py:564: in get_cves
    return self.get_cves_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:227: in __call_api
    return_data = self.deserialize(
src/nvd_api/low_api/api_client.py:333: in deserialize
    deserialized_data = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas.py:196: in _from_openapi_data
    self.vulnerabilities = vulnerabilities
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1633: in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner.py:173: in _from_openapi_data
    self.cve = cve
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner_cve.py:259: in _from_openapi_data
    setattr(self, var_name, var_value)
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'descriptions': [{'lang': 'en',
                   'value': 'The POSIX component of Microsoft Windows NT and '
      ...ch/definition/oval%3Aorg.mitre.oval%3Adef%3A2847'}],
 'source_identifier': 'cve@mitre.org',
 'vuln_status': 'Analyzed'}
name = 'cveTags', value = []

    def set_attribute(self, name, value):
        # this is only used to set properties on self
    
        path_to_item = []
        if self._path_to_item:
            path_to_item.extend(self._path_to_item)
        path_to_item.append(name)
    
        if name in self.openapi_types:
            required_types_mixed = self.openapi_types[name]
        elif self.additional_properties_type is None:
>           raise ApiAttributeError(
                "{0} has no attribute '{1}'".format(
                    type(self).__name__, name),
                path_to_item
E               nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']

src/nvd_api/low_api/model_utils.py:139: ApiAttributeError

Check warning on line 0 in tests.test_get_cves.TestGetCves

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_get_all_cve (tests.test_get_cves.TestGetCves) failed

report.xml [took 11s]
Raw output
nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']
self = <tests.test_get_cves.TestGetCves testMethod=test_get_all_cve>

    def test_get_all_cve(self):
>       response = self.client.get_all_cves(
            pub_start_date="2021-01-01T00:00:00.000",
            pub_end_date="2021-02-15T00:00:00.000",
        )

tests/test_get_cves.py:50: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:432: in get_all_cves
    response = self.get_cves(start_index=0,
src/nvd_api/client.py:223: in get_cves
    ret = self._vulnerabilities_api.get_cves(**kwargs)
src/nvd_api/low_api/api/vulnerabilities_api.py:564: in get_cves
    return self.get_cves_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:227: in __call_api
    return_data = self.deserialize(
src/nvd_api/low_api/api_client.py:333: in deserialize
    deserialized_data = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas.py:196: in _from_openapi_data
    self.vulnerabilities = vulnerabilities
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1633: in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner.py:173: in _from_openapi_data
    self.cve = cve
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner_cve.py:259: in _from_openapi_data
    setattr(self, var_name, var_value)
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'descriptions': [{'lang': 'en',
                   'value': 'The REST/JSON project 7.x-1.x for Drupal allows '
      ...     'url': 'https://www.drupal.org/node/2744889'}],
 'source_identifier': 'cve@mitre.org',
 'vuln_status': 'Analyzed'}
name = 'cveTags', value = []

    def set_attribute(self, name, value):
        # this is only used to set properties on self
    
        path_to_item = []
        if self._path_to_item:
            path_to_item.extend(self._path_to_item)
        path_to_item.append(name)
    
        if name in self.openapi_types:
            required_types_mixed = self.openapi_types[name]
        elif self.additional_properties_type is None:
>           raise ApiAttributeError(
                "{0} has no attribute '{1}'".format(
                    type(self).__name__, name),
                path_to_item
E               nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']

src/nvd_api/low_api/model_utils.py:139: ApiAttributeError

Check warning on line 0 in tests.test_get_cves.TestGetCves

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_get_by_version_range (tests.test_get_cves.TestGetCves) failed

report.xml [took 10s]
Raw output
nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']
self = <tests.test_get_cves.TestGetCves testMethod=test_get_by_version_range>

    def test_get_by_version_range(self):
>       response = self.client.get_cves(
            virtual_match_string='cpe:2.3:o:linux:linux_kernel',
            version_start='2.2',
            version_start_type=VERSION_TYPE.INCLUDING,
            version_end='2.6',
            version_end_type=VERSION_TYPE.EXCLUDING,
            results_per_page=1,
            start_index=0,
        )

tests/test_get_cves.py:124: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:223: in get_cves
    ret = self._vulnerabilities_api.get_cves(**kwargs)
src/nvd_api/low_api/api/vulnerabilities_api.py:564: in get_cves
    return self.get_cves_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:227: in __call_api
    return_data = self.deserialize(
src/nvd_api/low_api/api_client.py:333: in deserialize
    deserialized_data = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas.py:196: in _from_openapi_data
    self.vulnerabilities = vulnerabilities
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1633: in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner.py:173: in _from_openapi_data
    self.cve = cve
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner_cve.py:259: in _from_openapi_data
    setattr(self, var_name, var_value)
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'descriptions': [{'lang': 'en',
                   'value': 'A race condition in Linux 2.2.1 allows local '
         ...force.ibmcloud.com/vulnerabilities/CVE-1999-0401'}],
 'source_identifier': 'cve@mitre.org',
 'vuln_status': 'Modified'}
name = 'cveTags', value = []

    def set_attribute(self, name, value):
        # this is only used to set properties on self
    
        path_to_item = []
        if self._path_to_item:
            path_to_item.extend(self._path_to_item)
        path_to_item.append(name)
    
        if name in self.openapi_types:
            required_types_mixed = self.openapi_types[name]
        elif self.additional_properties_type is None:
>           raise ApiAttributeError(
                "{0} has no attribute '{1}'".format(
                    type(self).__name__, name),
                path_to_item
E               nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']

src/nvd_api/low_api/model_utils.py:139: ApiAttributeError

Check warning on line 0 in tests.test_get_cves.TestGetCves

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_get_by_virtual_match_string (tests.test_get_cves.TestGetCves) failed

report.xml [took 10s]
Raw output
nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']
self = <tests.test_get_cves.TestGetCves testMethod=test_get_by_virtual_match_string>

    def test_get_by_virtual_match_string(self):
>       response = self.client.get_cves(
            results_per_page=1,
            start_index=1,
            virtual_match_string="cpe:2.3:*:*:*:*:*:*:de"
        )

tests/test_get_cves.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:223: in get_cves
    ret = self._vulnerabilities_api.get_cves(**kwargs)
src/nvd_api/low_api/api/vulnerabilities_api.py:564: in get_cves
    return self.get_cves_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:227: in __call_api
    return_data = self.deserialize(
src/nvd_api/low_api/api_client.py:333: in deserialize
    deserialized_data = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas.py:196: in _from_openapi_data
    self.vulnerabilities = vulnerabilities
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1633: in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner.py:173: in _from_openapi_data
    self.cve = cve
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner_cve.py:259: in _from_openapi_data
    setattr(self, var_name, var_value)
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'descriptions': [{'lang': 'en',
                   'value': 'Directory traversal vulnerability in the parsing '
     ...change.xforce.ibmcloud.com/vulnerabilities/18984'}],
 'source_identifier': 'cve@mitre.org',
 'vuln_status': 'Analyzed'}
name = 'cveTags', value = []

    def set_attribute(self, name, value):
        # this is only used to set properties on self
    
        path_to_item = []
        if self._path_to_item:
            path_to_item.extend(self._path_to_item)
        path_to_item.append(name)
    
        if name in self.openapi_types:
            required_types_mixed = self.openapi_types[name]
        elif self.additional_properties_type is None:
>           raise ApiAttributeError(
                "{0} has no attribute '{1}'".format(
                    type(self).__name__, name),
                path_to_item
E               nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']

src/nvd_api/low_api/model_utils.py:139: ApiAttributeError

Check warning on line 0 in tests.test_get_cves.TestGetCves

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_valid_iso_datetime_format (tests.test_get_cves.TestGetCves) failed

report.xml [took 10s]
Raw output
nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']
self = <tests.test_get_cves.TestGetCves testMethod=test_valid_iso_datetime_format>

    def test_valid_iso_datetime_format(self):
>       response = self.client.get_cves(
            last_mod_start_date="2018-10-10T00:00:00.000",
            last_mod_end_date="2018-10-20T00:00:00.000",
            pub_start_date="2006-05-15T00:00:00.000+09:00",
            pub_end_date="2006-05-25T00:00:00",
            results_per_page=1,
            start_index=1
        )

tests/test_get_cves.py:262: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:223: in get_cves
    ret = self._vulnerabilities_api.get_cves(**kwargs)
src/nvd_api/low_api/api/vulnerabilities_api.py:564: in get_cves
    return self.get_cves_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:227: in __call_api
    return_data = self.deserialize(
src/nvd_api/low_api/api_client.py:333: in deserialize
    deserialized_data = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas.py:196: in _from_openapi_data
    self.vulnerabilities = vulnerabilities
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1633: in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner.py:173: in _from_openapi_data
    self.cve = cve
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner_cve.py:259: in _from_openapi_data
    setattr(self, var_name, var_value)
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'descriptions': [{'lang': 'en',
                   'value': 'SQL injection vulnerability in charts.php in the '
     ...change.xforce.ibmcloud.com/vulnerabilities/26415'}],
 'source_identifier': 'cve@mitre.org',
 'vuln_status': 'Modified'}
name = 'cveTags', value = []

    def set_attribute(self, name, value):
        # this is only used to set properties on self
    
        path_to_item = []
        if self._path_to_item:
            path_to_item.extend(self._path_to_item)
        path_to_item.append(name)
    
        if name in self.openapi_types:
            required_types_mixed = self.openapi_types[name]
        elif self.additional_properties_type is None:
>           raise ApiAttributeError(
                "{0} has no attribute '{1}'".format(
                    type(self).__name__, name),
                path_to_item
E               nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']

src/nvd_api/low_api/model_utils.py:139: ApiAttributeError

Check warning on line 0 in tests.test_get_cves.TestGetCves

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_get_by_cvss_v2 (tests.test_get_cves.TestGetCves) failed

report.xml [took 10s]
Raw output
nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']
self = <tests.test_get_cves.TestGetCves testMethod=test_get_by_cvss_v2>

    def test_get_by_cvss_v2(self):
>       response = self.client.get_cves(
            cpe_name="cpe:2.3:o:debian:debian_linux:3.0:*:*:*:*:*:*:*",
            cvss_v2_metrics="AV:L/AC:L/Au:N/C:C/I:C/A:C",
            cvss_v2_severity=CVSS_V2_SEVERITY.HIGH,
            results_per_page=1,
            start_index=1
        )

tests/test_get_cves.py:58: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:223: in get_cves
    ret = self._vulnerabilities_api.get_cves(**kwargs)
src/nvd_api/low_api/api/vulnerabilities_api.py:564: in get_cves
    return self.get_cves_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:227: in __call_api
    return_data = self.deserialize(
src/nvd_api/low_api/api_client.py:333: in deserialize
    deserialized_data = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas.py:196: in _from_openapi_data
    self.vulnerabilities = vulnerabilities
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1633: in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner.py:173: in _from_openapi_data
    self.cve = cve
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner_cve.py:259: in _from_openapi_data
    setattr(self, var_name, var_value)
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'descriptions': [{'lang': 'en',
                   'value': 'The Sendmail 8.12.3 package in Debian GNU/Linux '
      ... 'https://bugs.gentoo.org/show_bug.cgi?id=235770'}],
 'source_identifier': 'cve@mitre.org',
 'vuln_status': 'Modified'}
name = 'cveTags', value = []

    def set_attribute(self, name, value):
        # this is only used to set properties on self
    
        path_to_item = []
        if self._path_to_item:
            path_to_item.extend(self._path_to_item)
        path_to_item.append(name)
    
        if name in self.openapi_types:
            required_types_mixed = self.openapi_types[name]
        elif self.additional_properties_type is None:
>           raise ApiAttributeError(
                "{0} has no attribute '{1}'".format(
                    type(self).__name__, name),
                path_to_item
E               nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']

src/nvd_api/low_api/model_utils.py:139: ApiAttributeError

Check warning on line 0 in tests.test_get_cves.TestGetCves

See this annotation in the file changed.

@github-actions github-actions / pytest results

test_get_by_date (tests.test_get_cves.TestGetCves) failed

report.xml [took 10s]
Raw output
nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']
self = <tests.test_get_cves.TestGetCves testMethod=test_get_by_date>

    def test_get_by_date(self):
>       response = self.client.get_cves(
            last_mod_start_date="2018-10-10T00:00:00.000",
            last_mod_end_date="2018-10-20T00:00:00.000",
            pub_start_date="2006-05-15T00:00:00.000",
            pub_end_date="2006-05-25T00:00:00.000",
            results_per_page=1,
            start_index=1
        )

tests/test_get_cves.py:103: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/nvd_api/client.py:223: in get_cves
    ret = self._vulnerabilities_api.get_cves(**kwargs)
src/nvd_api/low_api/api/vulnerabilities_api.py:564: in get_cves
    return self.get_cves_endpoint.call_with_http_info(**kwargs)
src/nvd_api/low_api/api_client.py:880: in call_with_http_info
    return self.api_client.call_api(
src/nvd_api/low_api/api_client.py:422: in call_api
    return self.__call_api(resource_path, method,
src/nvd_api/low_api/api_client.py:227: in __call_api
    return_data = self.deserialize(
src/nvd_api/low_api/api_client.py:333: in deserialize
    deserialized_data = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas.py:196: in _from_openapi_data
    self.vulnerabilities = vulnerabilities
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1633: in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner.py:173: in _from_openapi_data
    self.cve = cve
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
src/nvd_api/low_api/model_utils.py:162: in set_attribute
    value = validate_and_convert_types(
src/nvd_api/low_api/model_utils.py:1583: in validate_and_convert_types
    converted_instance = attempt_convert_item(
src/nvd_api/low_api/model_utils.py:1463: in attempt_convert_item
    return deserialize_model(input_value, valid_class,
src/nvd_api/low_api/model_utils.py:1377: in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model_utils.py:372: in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
src/nvd_api/low_api/model_utils.py:49: in wrapped_init
    return fn(_self, *args, **kwargs)
src/nvd_api/low_api/model/cve_oas_vulnerabilities_inner_cve.py:259: in _from_openapi_data
    setattr(self, var_name, var_value)
src/nvd_api/low_api/model_utils.py:190: in __setattr__
    self[attr] = value
src/nvd_api/low_api/model_utils.py:511: in __setitem__
    self.set_attribute(name, value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'descriptions': [{'lang': 'en',
                   'value': 'SQL injection vulnerability in charts.php in the '
     ...change.xforce.ibmcloud.com/vulnerabilities/26415'}],
 'source_identifier': 'cve@mitre.org',
 'vuln_status': 'Modified'}
name = 'cveTags', value = []

    def set_attribute(self, name, value):
        # this is only used to set properties on self
    
        path_to_item = []
        if self._path_to_item:
            path_to_item.extend(self._path_to_item)
        path_to_item.append(name)
    
        if name in self.openapi_types:
            required_types_mixed = self.openapi_types[name]
        elif self.additional_properties_type is None:
>           raise ApiAttributeError(
                "{0} has no attribute '{1}'".format(
                    type(self).__name__, name),
                path_to_item
E               nvd_api.low_api.exceptions.ApiAttributeError: CveOasVulnerabilitiesInnerCve has no attribute 'cveTags' at ['received_data']['vulnerabilities'][0]['cve']['cveTags']

src/nvd_api/low_api/model_utils.py:139: ApiAttributeError