From fd8e8c996c65a03cabd11fd6c56278d5997c3046 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 10 Apr 2026 06:46:30 +0000 Subject: [PATCH] Update SDK to version v3.61.1 - Generated from OpenAPI spec version v3.61.1 - Auto-generated by GitHub Actions --- .sdk-version | 2 +- README.md | 2 + docs/AuthenticationUsersApi.md | 82 +++++ docs/SubmitUserFeedbackRequest.md | 31 ++ revengai/__init__.py | 4 +- revengai/api/authentication_users_api.py | 279 ++++++++++++++++++ revengai/api_client.py | 2 +- revengai/configuration.py | 4 +- revengai/models/__init__.py | 1 + revengai/models/login_request.py | 2 +- .../models/submit_user_feedback_request.py | 95 ++++++ test/test_authentication_users_api.py | 7 + test/test_login_request.py | 4 +- test/test_submit_user_feedback_request.py | 54 ++++ 14 files changed, 561 insertions(+), 8 deletions(-) create mode 100644 docs/SubmitUserFeedbackRequest.md create mode 100644 revengai/models/submit_user_feedback_request.py create mode 100644 test/test_submit_user_feedback_request.py diff --git a/.sdk-version b/.sdk-version index ed4d981..533191e 100644 --- a/.sdk-version +++ b/.sdk-version @@ -1 +1 @@ -v3.60.0 +v3.61.1 diff --git a/README.md b/README.md index fc3a1c1..387198f 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,7 @@ Class | Method | HTTP request | Description *AuthenticationUsersApi* | [**get_user_activity**](docs/AuthenticationUsersApi.md#get_user_activity) | **GET** /v2/users/activity | Get auth user activity *AuthenticationUsersApi* | [**get_user_comments**](docs/AuthenticationUsersApi.md#get_user_comments) | **GET** /v2/users/me/comments | Get comments by user *AuthenticationUsersApi* | [**login_user**](docs/AuthenticationUsersApi.md#login_user) | **POST** /v2/auth/login | Authenticate a user +*AuthenticationUsersApi* | [**submit_user_feedback**](docs/AuthenticationUsersApi.md#submit_user_feedback) | **POST** /v2/users/feedback | Submit feedback about the application *BinariesApi* | [**download_zipped_binary**](docs/BinariesApi.md#download_zipped_binary) | **GET** /v2/binaries/{binary_id}/download-zipped | Downloads a zipped binary with password protection *BinariesApi* | [**get_binary_additional_details**](docs/BinariesApi.md#get_binary_additional_details) | **GET** /v2/binaries/{binary_id}/additional-details | Gets the additional details of a binary *BinariesApi* | [**get_binary_additional_details_status**](docs/BinariesApi.md#get_binary_additional_details_status) | **GET** /v2/binaries/{binary_id}/additional-details/status | Gets the status of the additional details task for a binary @@ -446,6 +447,7 @@ Class | Method | HTTP request | Description - [StringSource](docs/StringSource.md) - [Structure](docs/Structure.md) - [StructureMember](docs/StructureMember.md) + - [SubmitUserFeedbackRequest](docs/SubmitUserFeedbackRequest.md) - [Symbols](docs/Symbols.md) - [TTPS](docs/TTPS.md) - [TTPSAttack](docs/TTPSAttack.md) diff --git a/docs/AuthenticationUsersApi.md b/docs/AuthenticationUsersApi.md index be328a7..fa87325 100644 --- a/docs/AuthenticationUsersApi.md +++ b/docs/AuthenticationUsersApi.md @@ -9,6 +9,7 @@ Method | HTTP request | Description [**get_user_activity**](AuthenticationUsersApi.md#get_user_activity) | **GET** /v2/users/activity | Get auth user activity [**get_user_comments**](AuthenticationUsersApi.md#get_user_comments) | **GET** /v2/users/me/comments | Get comments by user [**login_user**](AuthenticationUsersApi.md#login_user) | **POST** /v2/auth/login | Authenticate a user +[**submit_user_feedback**](AuthenticationUsersApi.md#submit_user_feedback) | **POST** /v2/users/feedback | Submit feedback about the application # **get_requester_user_info** @@ -409,3 +410,84 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **submit_user_feedback** +> BaseResponse submit_user_feedback(submit_user_feedback_request) + +Submit feedback about the application + +Submits feedback about the application and forwards it to the RevEng.ai project management tool. + +### Example + +* Api Key Authentication (APIKey): + +```python +import revengai +from revengai.models.base_response import BaseResponse +from revengai.models.submit_user_feedback_request import SubmitUserFeedbackRequest +from revengai.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.reveng.ai +# See configuration.py for a list of all supported configuration parameters. +configuration = revengai.Configuration( + host = "https://api.reveng.ai" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: APIKey +configuration.api_key['APIKey'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['APIKey'] = 'Bearer' + +# Enter a context with an instance of the API client +with revengai.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = revengai.AuthenticationUsersApi(api_client) + submit_user_feedback_request = revengai.SubmitUserFeedbackRequest() # SubmitUserFeedbackRequest | + + try: + # Submit feedback about the application + api_response = api_instance.submit_user_feedback(submit_user_feedback_request) + print("The response of AuthenticationUsersApi->submit_user_feedback:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AuthenticationUsersApi->submit_user_feedback: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **submit_user_feedback_request** | [**SubmitUserFeedbackRequest**](SubmitUserFeedbackRequest.md)| | + +### Return type + +[**BaseResponse**](BaseResponse.md) + +### Authorization + +[APIKey](../README.md#APIKey) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful Response | - | +**422** | Invalid request parameters | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/SubmitUserFeedbackRequest.md b/docs/SubmitUserFeedbackRequest.md new file mode 100644 index 0000000..32fd59c --- /dev/null +++ b/docs/SubmitUserFeedbackRequest.md @@ -0,0 +1,31 @@ +# SubmitUserFeedbackRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**current_route** | **str** | The route from where the feedback was submitted | +**feedback** | **str** | The user's feedback | +**screen_capture_url** | **str** | | [optional] + +## Example + +```python +from revengai.models.submit_user_feedback_request import SubmitUserFeedbackRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of SubmitUserFeedbackRequest from a JSON string +submit_user_feedback_request_instance = SubmitUserFeedbackRequest.from_json(json) +# print the JSON string representation of the object +print(SubmitUserFeedbackRequest.to_json()) + +# convert the object into a dict +submit_user_feedback_request_dict = submit_user_feedback_request_instance.to_dict() +# create an instance of SubmitUserFeedbackRequest from a dict +submit_user_feedback_request_from_dict = SubmitUserFeedbackRequest.from_dict(submit_user_feedback_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/revengai/__init__.py b/revengai/__init__.py index 56e42c1..f91f11f 100644 --- a/revengai/__init__.py +++ b/revengai/__init__.py @@ -13,7 +13,7 @@ """ # noqa: E501 -__version__ = "v3.60.0" +__version__ = "v3.61.1" # Define package exports __all__ = [ @@ -336,6 +336,7 @@ "StringSource", "Structure", "StructureMember", + "SubmitUserFeedbackRequest", "Symbols", "TTPS", "TTPSAttack", @@ -689,6 +690,7 @@ from revengai.models.string_source import StringSource as StringSource from revengai.models.structure import Structure as Structure from revengai.models.structure_member import StructureMember as StructureMember +from revengai.models.submit_user_feedback_request import SubmitUserFeedbackRequest as SubmitUserFeedbackRequest from revengai.models.symbols import Symbols as Symbols from revengai.models.ttps import TTPS as TTPS from revengai.models.ttps_attack import TTPSAttack as TTPSAttack diff --git a/revengai/api/authentication_users_api.py b/revengai/api/authentication_users_api.py index b00ebdf..e604d3a 100644 --- a/revengai/api/authentication_users_api.py +++ b/revengai/api/authentication_users_api.py @@ -17,12 +17,14 @@ from pydantic import StrictInt, StrictStr from typing import Optional +from revengai.models.base_response import BaseResponse from revengai.models.base_response_get_me_response import BaseResponseGetMeResponse from revengai.models.base_response_get_public_user_response import BaseResponseGetPublicUserResponse from revengai.models.base_response_list_comment_response import BaseResponseListCommentResponse from revengai.models.base_response_list_user_activity_response import BaseResponseListUserActivityResponse from revengai.models.base_response_login_response import BaseResponseLoginResponse from revengai.models.login_request import LoginRequest +from revengai.models.submit_user_feedback_request import SubmitUserFeedbackRequest from revengai.api_client import ApiClient, RequestSerialized from revengai.api_response import ApiResponse @@ -1424,3 +1426,280 @@ def _login_user_serialize( ) + + + @validate_call + def submit_user_feedback( + self, + submit_user_feedback_request: SubmitUserFeedbackRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> BaseResponse: + """Submit feedback about the application + + Submits feedback about the application and forwards it to the RevEng.ai project management tool. + + :param submit_user_feedback_request: (required) + :type submit_user_feedback_request: SubmitUserFeedbackRequest + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_feedback_serialize( + submit_user_feedback_request=submit_user_feedback_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "BaseResponse", + '422': "BaseResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_user_feedback_with_http_info( + self, + submit_user_feedback_request: SubmitUserFeedbackRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[BaseResponse]: + """Submit feedback about the application + + Submits feedback about the application and forwards it to the RevEng.ai project management tool. + + :param submit_user_feedback_request: (required) + :type submit_user_feedback_request: SubmitUserFeedbackRequest + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_feedback_serialize( + submit_user_feedback_request=submit_user_feedback_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "BaseResponse", + '422': "BaseResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_user_feedback_without_preload_content( + self, + submit_user_feedback_request: SubmitUserFeedbackRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Submit feedback about the application + + Submits feedback about the application and forwards it to the RevEng.ai project management tool. + + :param submit_user_feedback_request: (required) + :type submit_user_feedback_request: SubmitUserFeedbackRequest + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_feedback_serialize( + submit_user_feedback_request=submit_user_feedback_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "BaseResponse", + '422': "BaseResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_user_feedback_serialize( + self, + submit_user_feedback_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_feedback_request is not None: + _body_params = submit_user_feedback_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'APIKey' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v2/users/feedback', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/revengai/api_client.py b/revengai/api_client.py index a715661..7a9520d 100644 --- a/revengai/api_client.py +++ b/revengai/api_client.py @@ -90,7 +90,7 @@ def __init__( self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/v3.60.0/python' + self.user_agent = 'OpenAPI-Generator/v3.61.1/python' self.client_side_validation = configuration.client_side_validation def __enter__(self): diff --git a/revengai/configuration.py b/revengai/configuration.py index 929502c..9a60a09 100644 --- a/revengai/configuration.py +++ b/revengai/configuration.py @@ -533,8 +533,8 @@ def to_debug_report(self) -> str: return "Python SDK Debug Report:\n"\ "OS: {env}\n"\ "Python Version: {pyversion}\n"\ - "Version of the API: v3.60.0\n"\ - "SDK Package Version: v3.60.0".\ + "Version of the API: v3.61.1\n"\ + "SDK Package Version: v3.61.1".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self) -> List[HostSetting]: diff --git a/revengai/models/__init__.py b/revengai/models/__init__.py index 49c33b8..e69db17 100644 --- a/revengai/models/__init__.py +++ b/revengai/models/__init__.py @@ -301,6 +301,7 @@ from revengai.models.string_source import StringSource from revengai.models.structure import Structure from revengai.models.structure_member import StructureMember +from revengai.models.submit_user_feedback_request import SubmitUserFeedbackRequest from revengai.models.symbols import Symbols from revengai.models.ttps import TTPS from revengai.models.ttps_attack import TTPSAttack diff --git a/revengai/models/login_request.py b/revengai/models/login_request.py index fb9b9ea..d711248 100644 --- a/revengai/models/login_request.py +++ b/revengai/models/login_request.py @@ -27,7 +27,7 @@ class LoginRequest(BaseModel): LoginRequest """ # noqa: E501 username: Annotated[str, Field(min_length=1, strict=True, max_length=255)] = Field(description="User's username or email") - password: Annotated[str, Field(min_length=10, strict=True)] = Field(description="User's password") + password: Annotated[str, Field(min_length=1, strict=True)] = Field(description="User's password") __properties: ClassVar[List[str]] = ["username", "password"] model_config = ConfigDict( diff --git a/revengai/models/submit_user_feedback_request.py b/revengai/models/submit_user_feedback_request.py new file mode 100644 index 0000000..19a9c9c --- /dev/null +++ b/revengai/models/submit_user_feedback_request.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitUserFeedbackRequest(BaseModel): + """ + SubmitUserFeedbackRequest + """ # noqa: E501 + current_route: StrictStr = Field(description="The route from where the feedback was submitted") + feedback: StrictStr = Field(description="The user's feedback") + screen_capture_url: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["current_route", "feedback", "screen_capture_url"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitUserFeedbackRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if screen_capture_url (nullable) is None + # and model_fields_set contains the field + if self.screen_capture_url is None and "screen_capture_url" in self.model_fields_set: + _dict['screen_capture_url'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitUserFeedbackRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "current_route": obj.get("current_route"), + "feedback": obj.get("feedback"), + "screen_capture_url": obj.get("screen_capture_url") + }) + return _obj + + diff --git a/test/test_authentication_users_api.py b/test/test_authentication_users_api.py index 7aadb36..5a6dd20 100644 --- a/test/test_authentication_users_api.py +++ b/test/test_authentication_users_api.py @@ -60,6 +60,13 @@ def test_login_user(self) -> None: """ pass + def test_submit_user_feedback(self) -> None: + """Test case for submit_user_feedback + + Submit feedback about the application + """ + pass + if __name__ == '__main__': unittest.main() diff --git a/test/test_login_request.py b/test/test_login_request.py index ab86cac..c96102c 100644 --- a/test/test_login_request.py +++ b/test/test_login_request.py @@ -35,12 +35,12 @@ def make_instance(self, include_optional) -> LoginRequest: if include_optional: return LoginRequest( username = '0', - password = '0123456789' + password = '0' ) else: return LoginRequest( username = '0', - password = '0123456789', + password = '0', ) """ diff --git a/test/test_submit_user_feedback_request.py b/test/test_submit_user_feedback_request.py new file mode 100644 index 0000000..234536d --- /dev/null +++ b/test/test_submit_user_feedback_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.submit_user_feedback_request import SubmitUserFeedbackRequest + +class TestSubmitUserFeedbackRequest(unittest.TestCase): + """SubmitUserFeedbackRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUserFeedbackRequest: + """Test SubmitUserFeedbackRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUserFeedbackRequest` + """ + model = SubmitUserFeedbackRequest() + if include_optional: + return SubmitUserFeedbackRequest( + current_route = '', + feedback = '', + screen_capture_url = '' + ) + else: + return SubmitUserFeedbackRequest( + current_route = '', + feedback = '', + ) + """ + + def testSubmitUserFeedbackRequest(self): + """Test SubmitUserFeedbackRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main()