pyvider 2025-02-21
Significant Unix transport rewrite (353 lines changed) and moved component
130 files · 2,028+ · 610-

Unix Transport Rewrite

119 files changed
  • transport.py Updated transport.py (+8/-47 lines)
  • test_server_transport.py Updated test_server_transport.py (+35/-59 lines)
  • test_server_transport_2.py Updated test_server_transport_2.py (+5/-28 lines)
  • test_transport_suite.py Added test_transport_suite.py (+735 lines)
  • test_transport_unix.py Updated test_transport_unix.py (+1/-1 lines)
  • test_transport_unix_close.py Updated test_transport_unix_close.py (+1/-1 lines)
  • test_transport_unix_connect.py Updated test_transport_unix_connect.py (+1/-1 lines)
  • test_transport_unix_handle_client.py Updated test_transport_unix_handle_client.py (+1/-1 lines)
  • test_transport_unix_listen.py Updated test_transport_unix_listen.py (+5/-4 lines)
  • types.py Updated types.py (+2/-1 lines)
  • unix.py Updated unix.py (+223/-130 lines)
  • .bfile Added .bfile (+28 lines)
  • .coveragerc Added .coveragerc (+5 lines)
  • .gitignore Added .gitignore (+2 lines)
  • .pyre_configuration Added .pyre_configuration (+10 lines)
  • .watchmanconfig Added .watchmanconfig (+1 lines)
  • interceptor.py Removed interceptor.py (-1 lines)
  • giblet.proto Updated giblet.proto (+0/-0 lines)
  • giblet_pb2.py Updated giblet_pb2.py (+0/-0 lines)
  • giblet_pb2_grpc.py Updated giblet_pb2_grpc.py (+0/-0 lines)
  • attributes.md Updated attributes.md (+0/-0 lines)
  • attrs-and-types.md Updated attrs-and-types.md (+0/-0 lines)
  • dynamic_values.md Updated dynamic_values.md (+0/-0 lines)
  • filter.md Updated filter.md (+0/-0 lines)
  • grpcplugin.md Updated grpcplugin.md (+0/-0 lines)
  • hub.md Updated hub.md (+0/-0 lines)
  • lifecycle.md Updated lifecycle.md (+0/-0 lines)
  • potential-examples.psseudocode.py Updated potential-examples.psseudocode.py (+0/-0 lines)
  • previous-chat.md Updated previous-chat.md (+0/-0 lines)
  • protocols.md Updated protocols.md (+0/-0 lines)
  • reserved-keywords.md Updated reserved-keywords.md (+0/-0 lines)
  • resources.md Updated resources.md (+0/-0 lines)
  • schema.md Updated schema.md (+0/-0 lines)
  • services.md Updated services.md (+0/-0 lines)
  • state.md Updated state.md (+0/-0 lines)
  • summary.md Updated summary.md (+0/-0 lines)
  • validation.md Updated validation.md (+0/-0 lines)
  • validators.md Updated validators.md (+0/-0 lines)
  • .bfile Updated .bfile (+2/-2 lines)
  • __main__.py Updated __main__.py (+1/-23 lines)
  • base_types.py Updated base_types.py (+2/-1 lines)
  • injector.py Updated injector.py (+5/-3 lines)
  • protocols.py Removed protocols.py (-7 lines)
  • services.py Updated services.py (+7/-5 lines)
  • __init__.py Removed __init__.py (-2 lines)
  • foundation.py Updated foundation.py (+4/-6 lines)
  • resource.py Updated resource.py (+3/-1 lines)
  • handler.py Updated handler.py (+76/-22 lines)
  • __init__.py Updated __init__.py (+3/-3 lines)
  • discovery.py Updated discovery.py (+5/-5 lines)
  • protocols.py Updated protocols.py (+5/-2 lines)
  • validators.py Updated validators.py (+2/-2 lines)
  • health.py Removed health.py (-23 lines)
  • __init__.py Updated __init__.py (+40/-9 lines)
  • apply_resource_change.py Updated apply_resource_change.py (+4/-2 lines)
  • call_function.py Added call_function.py (+13 lines)
  • close_ephemeral_resource.py Added close_ephemeral_resource.py (+13 lines)
  • configure_provider.py Added configure_provider.py (+13 lines)
  • get_functions.py Added get_functions.py (+13 lines)
  • get_provider_schema.py Removed get_provider_schema.py (-1 lines)
  • import_resource_state.py Added import_resource_state.py (+13 lines)
  • metadata.py Updated metadata.py (+0/-0 lines)
  • move_resource_state.py Added move_resource_state.py (+13 lines)
  • open_ephemeral_resource.py Added open_ephemeral_resource.py (+13 lines)
  • read_data_source.py Added read_data_source.py (+13 lines)
  • read_resource.py Updated read_resource.py (+0/-0 lines)
  • renew_ephemeral_resource.py Added renew_ephemeral_resource.py (+13 lines)
  • stop_provider.py Removed stop_provider.py (-1 lines)
  • validate_data_resource_config.py Added validate_data_resource_config.py (+13 lines)
  • validate_ephemeral_resource_config.py Added validate_ephemeral_resource_config.py (+13 lines)
  • __init__.py Updated __init__.py (+1/-1 lines)
  • tfplugin6_pb2_grpc.py Updated tfplugin6_pb2_grpc.py (+1/-2 lines)
  • __init__.py Added __init__.py (+5 lines)
  • base.py Updated base.py (+1/-2 lines)
  • .bfile Updated .bfile (+5/-2 lines)
  • types.py Updated types.py (+2/-2 lines)
  • certificate.py Added certificate.py (+1 lines)
  • generators.py Updated generators.py (+2/-2 lines)
  • 2025-02-20-1638-claude-great-testing-strategies.md Added 2025-02-20-1638-claude-great-testing-strategies.md (+246 lines)
  • kv-data-hello Removed kv-data-hello (-1 lines)
  • kv-data-status Removed kv-data-status (-1 lines)
  • kv_protocol.py Removed kv_protocol.py (-38 lines)
  • __init__.py Updated __init__.py (+1/-1 lines)
  • log_messages.yml Updated log_messages.yml (+0/-0 lines)
  • test_connection.py Added test_connection.py (+1 lines)
  • test_certificate_lifecycle.py Updated test_certificate_lifecycle.py (+2/-1 lines)
  • test_certificate_loading.py Updated test_certificate_loading.py (+24/-33 lines)
  • test_crypto_generators.py Added test_crypto_generators.py (+11 lines)
  • client.py Removed client.py (-2 lines)
  • handshake.py Updated handshake.py (+1/-1 lines)
  • mocks.py Updated mocks.py (+44/-38 lines)
  • server.py Updated server.py (+2/-2 lines)
  • utils.py Added utils.py (+24 lines)
  • __init__.py Updated __init__.py (+0/-0 lines)
  • kv-go-client Updated kv-go-client (+0/-0 lines)
  • kv-go-server Updated kv-go-server (+0/-0 lines)
  • __init__.py Added __init__.py (+9 lines)
  • kv.proto Updated kv.proto (+1/-1 lines)
  • kv_pb2.py Updated kv_pb2.py (+2/-2 lines)
  • kv_pb2_grpc.py Updated kv_pb2_grpc.py (+3/-2 lines)
  • kv_protocol.py Added kv_protocol.py (+36 lines)
  • py_kv_client.py Updated py_kv_client.py (+7/-4 lines)
  • py_kv_server.py Updated py_kv_server.py (+5/-4 lines)
  • test_kv_integration.py Added test_kv_integration.py (+119 lines)
  • test_server_handshake.py Updated test_server_handshake.py (+27/-12 lines)
  • test_server_lifecycle.py Updated test_server_lifecycle.py (+16/-8 lines)
  • test_server_signals.py Updated test_server_signals.py (+2/-2 lines)
  • test_server_tls.py Updated test_server_tls.py (+6/-3 lines)
  • types.py Updated types.py (+3/-3 lines)
  • __init__.py Updated __init__.py (+2/-1 lines)
  • attributes.py Added attributes.py (+1 lines)
  • base.py Updated base.py (+8/-9 lines)
  • definition.py Updated definition.py (+4/-3 lines)
  • validation.py Updated validation.py (+4/-2 lines)
  • decorators.py Updated decorators.py (+7/-4 lines)
  • utils.py Updated utils.py (+4/-2 lines)
  • dynamic.py Updated dynamic.py (+1/-1 lines)
  • __init__.py Updated __init__.py (+1/-8 lines)
  • dynamic_value.py Updated dynamic_value.py (+8/-4 lines)
  • Rewrote transport/unix.py (353 lines changed) with improved socket lifecycle management decouple internal
    1 file
    • unix.py

Component Directory Moves

11 files changed
  • dynamic_config.py Removed dynamic_config.py (-1 lines)
  • file_content.py Removed file_content.py (-1 lines)
  • capabilities.md Updated capabilities.md (+0/-0 lines)
  • components.md Updated components.md (+0/-0 lines)
  • datasources.md Updated datasources.md (+0/-0 lines)
  • functions.md Updated functions.md (+0/-0 lines)
  • provider.md Updated provider.md (+0/-0 lines)
  • registry.md Updated registry.md (+0/-0 lines)
  • cloud.py Updated cloud.py (+5/-3 lines)
  • capabilities.py Added capabilities.py (+1 lines)
  • components.py Updated components.py (+7/-7 lines)
  • Moved components/capabilities/ to root capabilities/ directory decouple internal
    3 files
    • capabilities.md
    • cloud.py
    • capabilities.py
  • Moved components/resources/dynamic_config.py to root dynamic_config.py decouple internal
    1 file
    • dynamic_config.py

Test Fixtures

3 files changed
  • MockProtocol.add_to_server Updated MockProtocol.add_to_server
  • rpcplugin.types Updated rpcplugin.types
  • transport.types Updated transport.types
  • Made MockProtocol.add_to_server async to match new protocol interface interface internal
    1 file
    • MockProtocol.add_to_server
  • Added debug logging to all MockHandler methods (GetRequest, GetResponse, PutRequest, Empty) instantiate behavioral
    18 files
    • test_connection.py
    • test_certificate_lifecycle.py
    • test_certificate_loading.py
    • test_crypto_generators.py
    • client.py
    • mocks.py
    • server.py
    • transport.py
    • utils.py
    • test_kv_integration.py
    • test_server_handshake.py
    • test_server_lifecycle.py
    • test_server_signals.py
    • test_server_tls.py
    • test_server_transport.py
    • test_server_transport_2.py
    • test_transport_suite.py
    • test_transport_unix_listen.py
  • Consolidated type imports in mocks: moved TransportT from transport.types to rpcplugin.types decouple internal
    2 files
    • transport.types
    • rpcplugin.types
  • Removed unused logger import from client test fixture qualify internal
    1 file
    • server.py
  • Added from pyvider.rpcplugin.tests.fixtures import * to mocks module qualify internal
    3 files
    • protocol_service.py
    • kv-data-hello
    • kv-data-status