BalderHub CRUD ============== **Test data management reliably - across any platform.** ``balderhub-crud`` is a BalderHub package that provides **ready-to-use, high-quality test scenarios and building blocks** for comprehensively validating **Create, Read, Update and Delete (CRUD)** operations on any kind of data. Whether you are testing a REST API, a database, a mobile app backend, a desktop application, a file-based store, or an embedded device - this package lets you write powerful, reusable data-management tests **once** and run them against completely different systems with minimal extra effort. This is a BalderHub package for the `Balder `_ test framework. If you are new to Balder, please check out the `official documentation `_ first. What you will find in this package ---------------------------------- - **Ready-to-use Scenarios** - Pre-built Balder scenarios for all essential CRUD operations: - Single-item: **Create**, **Read**, **Update** (Delete coming soon) - Multi-item: **Read** operations - Advanced **Triangle scenarios** (modify on one device, verify on another - perfect for client-server or distributed systems) - **Feature Building Blocks** - Clean base feature classes you only need to implement for your specific System Under Test (SUT): - ``SingleCreatorFeature``, ``SingleReaderFeature``, ``SingleUpdaterFeature`` - ``MultipleReaderFeature`` - Support for both direct devices and separate “Point of Truth” verification devices - **Strong Data Modeling** (powered by ``balderhub-data``) - Pydantic-style ``DataItem`` models with automatic handling of: - Mandatory / optional fields - Default values - Special markers: ``UNSET`` and ``NOT_DEFINABLE`` - Smart automatic example generation (valid, invalid, and edge-case data) - **Validation & Utilities** - Comprehensive helpers for before/after state checks, field-level comparison, diffing, success/error handling, and cross-device consistency verification. .. note:: This package is still under active development. Contributions are very welcome! See the `GitHub repository `_. .. toctree:: :maxdepth: 2 installation.rst topic_intro.rst scenarios.rst features.rst examples.rst utilities.rst