ValueError: Invalid value for `dhcp`, must not be `None`

未關閉 適合新手
#7 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
2/5
預估耗時
1-3 小時
新手友好度
68/100
Issue 類型
缺陷
描述清晰度
描述清楚
活躍度
停滯
技術堆疊
python
領域
api

研究方向

先閱讀產生的 project_settings.py 模型,以及 v1_get_project 的 traceback 中顯示的反序列化路徑。將 dhcp 的處理與 SDK 0.3.2 版進行比較,並使用提供的範例重現請求。當 settings.dhcp 設為 None 的專案回應能夠在不引發此 ValueError 的情況下完成反序列化時,即表示完成。

由索引模型根據 Issue 內容生成。

描述

Description

Corellium SDK version installed via pip: corellium-api>=0.4.0

When using any version of the SDK >= 0.4.0, a regression in the v1_get_project occurs.

This is my code that is reproducing the error:

from __future__ import print_function

import asyncio
import corellium_api
from corellium_api.rest import ApiException

HOST = "https://***.corellium.com/api" # redacted

configuration = corellium_api.Configuration(host=HOST)
configuration.access_token = "***" # redacted


async def main():
    async with corellium_api.ApiClient(configuration) as api_client:
        client = corellium_api.CorelliumApi(api_client)

        project = await client.v1_get_project(
            project_id="<project-id>"
        )
        print(project)


if __name__ == "__main__":
    asyncio.run(main())

When running the code above, this produces a ValueError:

Traceback (most recent call last):
  File "PythonVenvs/corellium-sdk/main.py", line 35, in <module>
    asyncio.run(main())
  File "/opt/homebrew/Cellar/python@3.11/3.11.15_3/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.15_3/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.15_3/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/base_events.py", line 654, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "PythonVenvs/corellium-sdk/main.py", line 25, in main
    project = await client.v1_get_project(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "PythonVenvs/corellium-sdk/venv/lib/python3.11/site-packages/corellium_api/api_client.py", line 214, in __call_api
    return_data = self.deserialize(response_data, response_type)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "PythonVenvs/corellium-sdk/venv/lib/python3.11/site-packages/corellium_api/api_client.py", line 286, in deserialize
    return self.__deserialize(data, response_type)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "PythonVenvs/corellium-sdk/venv/lib/python3.11/site-packages/corellium_api/api_client.py", line 325, in __deserialize
    return self.__deserialize_model(data, klass)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "PythonVenvs/corellium-sdk/venv/lib/python3.11/site-packages/corellium_api/api_client.py", line 693, in __deserialize_model
    kwargs[attr] = self.__deserialize(value, attr_type)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "PythonVenvs/corellium-sdk/venv/lib/python3.11/site-packages/corellium_api/api_client.py", line 325, in __deserialize
    return self.__deserialize_model(data, klass)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "PythonVenvs/corellium-sdk/venv/lib/python3.11/site-packages/corellium_api/api_client.py", line 695, in __deserialize_model
    instance = klass(**kwargs)
               ^^^^^^^^^^^^^^^
  File "PythonVenvs/corellium-sdk/venv/lib/python3.11/site-packages/corellium_api/models/project_settings.py", line 63, in __init__
    self.dhcp = dhcp
    ^^^^^^^^^
  File "PythonVenvs/corellium-sdk/venv/lib/python3.11/site-packages/corellium_api/models/project_settings.py", line 134, in dhcp
    raise ValueError("Invalid value for `dhcp`, must not be `None`")  # noqa: E501
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: Invalid value for `dhcp`, must not be `None`

This doesn't appear to happen on the SDK version 0.3.2:

{'id': '<project-id>',
 'name': 'test-name',
 'quotas': {'cores': 6.0, 'instances': 15.0, 'ram': 36864.0},
 'quotas_used': {'cores': 0.0, 'gpu': 0.0, 'instances': 1.0, 'ram': 0.0},
 'settings': {'dhcp': None, 'internet_access': True, 'version': 1.0}}
主要語言
Python
星號
15
分支
1
PR 合併指標
30 天內沒有已合併 PR

貢獻指南

這個儲存庫沒有索引到貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

corellium/python-api-client 的其他 Issue

查看 corellium/python-api-client 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。