pyvider 2024-11-22
Added BDD feature specs, expanded tfppf core with schema and service modules, and got behave working
95 files · 17,531+ · 35,795-

BDD feature specifications

12 files changed
  • 01-provider_handshake_protocol.feature Gherkin spec for provider handshake with magic cookie and protocol version verification
  • 02-provider_schema_definition.feature Gherkin spec for GetProviderSchema with component requirements and versioning
  • 03-dynamic_value_handling.feature Gherkin spec for DynamicValue msgpack serialization round-trips
  • 04-resource_lifecycle_management.feature Gherkin spec for create, update, and delete resource lifecycle operations
  • 05-resource_state_operations.feature Gherkin spec for state upgrade and resource import
  • 06-data_source_management.feature Gherkin spec for data source read operations
  • 07-provider_functions.feature Gherkin spec for provider function calls
  • 08-error_handling.feature Gherkin spec for diagnostic error handling and severity levels
  • 09-diagnostics_messages.feature Gherkin spec for diagnostic message formatting
  • 10-resource_state_movement.feature Gherkin spec for MoveResourceState operations
  • 11-ephemeral_resource_management.feature Gherkin spec for ephemeral resource open, renew, and close
  • provider_schema.feature Detailed provider schema feature spec
  • Created 12 Gherkin feature files covering the complete Terraform plugin protocol v6 surface area qualify architectural
    3 files
    • 01-provider_handshake_protocol.feature
    • 04-resource_lifecycle_management.feature
    • 08-error_handling.feature

Tfppf core module expansion

9 files changed
  • factory.py Provider factory for registering and instantiating resource types
  • provider.py Core provider implementation with schema and lifecycle hooks
  • service.py gRPC service implementation wiring protocol to provider logic
  • logging.py Logging configuration for the provider framework
  • plugin.pyi Type stub for the plugin module
  • __init__.py Schema package initialization
  • attribute.py Schema attribute definition with type constraints
  • block.py Schema block definition for nested configurations
  • types.py Type system for schema attributes
  • Built out tfppf core with factory pattern, provider lifecycle, service layer, and full schema type system instantiate architectural
    3 files
    • factory.py
    • provider.py
    • service.py
  • Added schema module with attribute definitions, block nesting, and type constraints instantiate behavioral
    3 files
    • attribute.py
    • block.py
    • types.py

Test infrastructure and code bundle

4 files changed
  • behave.ini Behave test framework configuration
  • pytest.ini Pytest configuration
  • test_installation.py Installation verification test
  • 2024-11-23-code-bundle.txt Code bundle snapshot capturing the full workspace state
  • Configured behave BDD framework and got feature specs running successfully qualify behavioral
    2 files
    • behave.ini
    • 01-provider_handshake_protocol.feature