Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): bump setuptools from 67.8.0 to 72.0.0 #302

Closed
wants to merge 1 commit into from

chore(deps): bump setuptools from 67.8.0 to 72.0.0

105761e
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Closed

chore(deps): bump setuptools from 67.8.0 to 72.0.0 #302

chore(deps): bump setuptools from 67.8.0 to 72.0.0
105761e
Select commit
Loading
Failed to load commit list.
GitHub Actions / pytest results failed Jul 29, 2024 in 0s

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

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

Results for commit 105761e.

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': 'Mon, 29 Jul 2024 10:02:52 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 0x7f3868aed960>
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': 'Mon, 29 Jul 2024 10:02:52 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': 'Mon, 29 Jul 2024 10:03:44 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 0x7f3868778f10>
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': 'Mon, 29 Jul 2024 10:03:44 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_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

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_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_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_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_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_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_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_has_flags (tests.test_get_cves.TestGetCves) failed

report.xml [took 13s]
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_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_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