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

オープン 初心者向け
#7 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
68/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
停滞
技術スタック
python
領域
api

調査の方向性

まず、生成されたモデル project_settings.py と、v1_get_project の traceback に示されているデシリアライゼーション経路を読みます。dhcp の処理を SDK バージョン 0.3.2 と比較し、提供された例でリクエストを再現します。settings.dhcpNone に設定されたプロジェクトレスポンスが、この 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. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

corellium/python-api-client のほかの issue

corellium/python-api-client の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。