.. SPDX-FileCopyrightText: 2021 cusy GmbH .. .. SPDX-License-Identifier: BSD-3-Clause gRPC testen =========== ``pytest-grpc`` --------------- gRPC lässt sich automatisiert testen z.B. mit `pytest-grpc `_. #. Zunächst installieren wir pytest-grpc: .. code-block:: console $ uv add pytest-grpc Installing pytest-grpc… Adding pytest-grpc to Pipfile's [packages]… ✔ Installation Succeeded … #. Dann erstellen wir für unser :doc:`example` ein :term:`Test Fixture ` mit: .. literalinclude:: tests/test_accounts.py :caption: tests/test_accounts.py :name: tests/test_accounts.py :language: python :lines: 6-8, 12-26 .. seealso:: * `pytest fixtures `_ #. Anschließend können wir Tests schreiben, z.B.: .. literalinclude:: tests/test_accounts.py :language: python :lines: 29-38 #. Auch die Authentifizierung lässt sich testen, :abbr:`z.B. (zum Beispiel)` mit: .. literalinclude:: tests/test_accounts.py :language: python :lines: 10-13, 48- #. Anschließend können wir gegen einen realen gRPC-Server testen mit: .. code-block:: console $ uv run pytest --fixtures tests/ oder direkt gegen den Python-Code: .. code-block:: console $ uv run pytest --fixtures tests/ --grpc-fake-server ============================= test session starts ============================== platform darwin -- Python 3.7.3, pytest-6.2.2, py-1.10.0, pluggy-0.13.1 rootdir: /Users/veit/cusy/trn/Python4DataScience/docs/data/grpc plugins: grpc-0.8.0 collected 2 items tests/test_accounts.py .F [100%] … .. seealso:: * `GitHub `_ * `Beispiel `_ Wireshark --------- `Wireshark `_ ist ein Open-Source-Tool zur Analyse von Netzwerkprotokollen. Im Folgenden zeigen wir Euch, wie ihr den `gRPC `_- und den `Protobuf `_-Dissectors verwenden könnt. Sie erleichtern Euch das Zerlegen (Dekodieren) von gRPC-Nachrichten, die im :doc:`Protobuf `- oder :doc:`/data-processing/serialisation-formats/json/index`-Format serialisiert sind. Zudem könnt ihr damit das Server-, Client- und bidirektionales gRPC-Streaming analysieren. .. note:: Üblicherweise kann Wireshark nur gRPC-Messages im Klartext analysieren. Für das Sezieren von TLS-Session benötigt Wireshark den geheimen Schlüssel, deren Export jedoch zum heutigen Zeitpunkt nur `Go gRPC `_ unterstützt [#]_. .. seealso:: * `Analyzing gRPC messages using Wireshark `_ ---- .. [#] `How to Export TLS Master keys of gRPC `_