19 dépôts
Utilities for validating backend communication, contract compliance, and server-side protocol adherence.
Explore 19 awesome GitHub repositories matching testing & quality assurance · API and Protocol Testing. Refine with filters or upvote what's useful.
Playwright is a comprehensive browser automation framework designed for end-to-end testing and web workflow automation. It provides a unified API to drive web applications across multiple browser engines, enabling developers to simulate complex user interactions, perform web scraping, and validate application behavior in consistent, isolated environments. The framework distinguishes itself through a web-first testing paradigm that prioritizes stability and resilience. By utilizing an auto-waiting actionability engine and accessibility-tree-based locators, it eliminates common sources of test
Executes HTTP requests using built-in fixtures to validate API response structures and status codes within test scripts.
Laravel is a comprehensive full-stack web framework designed for building scalable server-side applications. It provides an integrated development environment that centers on an object-relational mapper for database abstraction, a robust routing system, and a sophisticated service container for dependency injection. The framework is built to handle complex application requirements through a modular architecture that emphasizes convention over configuration. What distinguishes Laravel is its deep integration of background processing and event-driven communication. It features a task queue orch
Scripts and validates API endpoint interactions by asserting against JSON response structures and data types.
RealWorld is an open-source project that provides a standardized blueprint for building functionally identical applications across diverse programming languages and frameworks. By establishing a contract-first API specification and a shared data model, it enables developers to create decoupled frontend and backend components that are fully interoperable. The project distinguishes itself through a comprehensive catalog of over 100 reference implementations, allowing for direct comparison of architectural patterns and syntax across different technology stacks. To ensure consistency, every imple
Validates that backend implementations correctly adhere to a standardized API contract through automated testing suites.
Hoppscotch is an open-source API development ecosystem designed for building, testing, and debugging REST, GraphQL, and real-time APIs. It provides a unified platform that functions across web browsers, desktop applications, and command-line interfaces, allowing developers to manage the entire API lifecycle from a single environment. The platform distinguishes itself through a highly interactive, command-driven interface that utilizes a global spotlight palette and keyboard shortcuts to streamline complex workflows. It supports advanced request manipulation and validation by executing JavaScr
Provides a programmable environment for scripting, executing, and validating API responses using assertion libraries.
Socket.io is a real-time communication engine that enables bidirectional, event-based data exchange between clients and servers. It provides a robust transport-agnostic protocol layer that automatically manages connection lifecycles, including heartbeat signals, automatic reconnection, and seamless fallback between WebSockets and HTTP long-polling. By maintaining persistent links, it ensures reliable messaging across diverse network environments. The project distinguishes itself through a scalable, distributed architecture that supports multi-node synchronization and room-based message routin
Validates server-side protocol implementation against established specifications to ensure cross-platform compatibility.
Insomnia is a cross-platform API development environment that integrates a request debugger, schema design tools, a mocking server, and a test automation framework. It provides a unified workspace for sending requests and analyzing responses across REST, GraphQL, gRPC, and WebSocket protocols. The platform enables the design and preview of API specifications through a visual editor and allows for the simulation of backend behavior using mocking tools. It supports organizing and synchronizing API collections via local storage, cloud synchronization, or Git. The suite includes a command-line i
Provides a programmable environment for scripting and validating API request and response structures.
Wasmtime is a WebAssembly runtime and sandboxed bytecode executor designed to run WebAssembly bytecode on a host system. It functions as an embeddable engine that integrates into applications through native APIs and language-specific bindings, as well as a standalone execution environment accessible via a command line interface. It is a WASI compatible runtime, implementing the WebAssembly System Interface to provide portable access to system resources. The engine utilizes a JIT compilation model to translate intermediate representation into optimized machine code for various CPU architecture
Runs standard specification tests to ensure the implementation adheres to WebAssembly standards.
This repository serves as the official archive for Bitcoin Improvement Proposals, providing a centralized, version-controlled collection of technical standards and design specifications for the network. It functions as the primary record for the protocol, documenting the consensus rules and design improvements that govern the ecosystem. The project manages a structured editorial workflow that relies on peer-reviewed submissions to maintain the integrity of the technical record. By assigning unique identifiers to each proposal, it ensures that all proposed changes to the protocol are tracked,
Provides standardized test vectors to verify protocol implementations and ensure consensus compliance.
go-swagger is a toolkit for working with Swagger/OpenAPI 2.0 specifications in Go. It generates server, client, and CLI code from a specification document, and can also produce a specification by scanning annotated Go source code. The project includes a static validation engine that checks documents against the schema and project-specific rules, and a specification transformation pipeline that resolves, flattens, and merges documents. The toolkit generates both client and server code from the same specification, ensuring consistency in request and response handling. It also produces a command
Checks a Swagger 2.0 document for structural correctness and compliance with the specification.
Karate is an end-to-end testing framework and API test automation tool used to validate REST and SOAP APIs, drive browser interactions, and measure system performance. It functions as a unified solution for executing automated tests across both API backends and web frontends. The framework utilizes a custom domain specific language and Gherkin-style feature mapping to define requests and assertions. It includes an API mocking server to simulate backend responses, enabling development and integration testing without live dependencies. The tool covers a broad range of functional testing catego
Offers a unified environment for scripting and executing automated tests for REST and SOAP APIs.
The inspector is a diagnostic and validation tool for the Model Context Protocol. It provides an interactive interface and a transport proxy to discover, inspect, and execute the tools, prompts, and resources provided by an MCP server. The project serves as a debugger and compliance tester to verify that server implementations adhere to the protocol specification and JSON-RPC standards. It allows for real-time monitoring of message exchanges and logs between clients and servers across various transport layers, such as standard input/output and Server-Sent Events. The tool covers a broad rang
Verifies that server implementations adhere strictly to the Model Context Protocol specification and JSON-RPC standards.
rustls is a memory-safe implementation of the Transport Layer Security protocol written in Rust. It provides a cryptographic stack for secure network communication, supporting both TLS 1.3 and 1.2 standards for client and server implementations. The project is designed as a modular cryptographic library that allows swapping underlying cryptographic backends and primitive providers to meet specific security or performance requirements. It incorporates a post-quantum cryptography stack, utilizing hybrid key exchanges and signatures to protect data against future quantum computing threats. The
Executes randomized input tests through external harnesses to discover edge cases and security vulnerabilities.
WireMock is a suite of tools for service virtualization, providing mock servers for HTTP APIs and WebSocket communication. It serves as an HTTP API mock server and request verifier, allowing for the simulation of responses and the interception of network requests to test client applications without a live backend. The project differentiates itself through a service virtualization model that records real network traffic and replays it as stubs to mimic external service behavior. It includes a network fault injector to simulate response delays and connectivity issues, and a stateful scenario ma
Provides a stateful scenario machine to mimic complex multi-step business workflows and sequential API interactions.
Ce projet est une implémentation .NET du framework gRPC, fournissant un système pour exécuter des fonctions sur des serveurs distants comme s'il s'agissait d'appels locaux. Il sert de framework d'appel de procédure distante (RPC) haute performance qui utilise HTTP/2 pour la connectivité de service et des protocoles de communication binaires pour garantir un échange de données efficace. L'implémentation inclut un proxy gRPC-Web, qui agit comme une couche de traduction pour permettre aux applications basées sur le navigateur de communiquer avec les services gRPC via des requêtes compatibles web. Il prend en outre en charge la création de maillages de services HTTP/2 pour connecter des microservices distribués avec une faible latence. Le framework couvre un large éventail de capacités, notamment la sérialisation binaire via Protobuf, la génération de contrats fortement typés et la prise en charge des modèles RPC unaires et de streaming. Il fournit des fonctionnalités complètes d'hébergement serveur et de gestion client, ainsi que des utilitaires de gestion du trafic tels que l'équilibrage de charge côté client et les tentatives d'appel automatiques. Un support opérationnel supplémentaire est fourni via la sécurité de transport TLS, le contrôle d'accès au niveau de la méthode et des outils d'observabilité, notamment la surveillance de la santé des services et la journalisation diagnostique.
Provides standardized test suites to verify that implementations strictly adhere to gRPC protocol specifications.
HttpRunner est un framework de test réseau multi-protocole conçu pour automatiser les tests fonctionnels et de régression des interfaces HTTP. Il fonctionne comme un testeur réseau multi-protocole prenant en charge HTTP/1.1, HTTP/2, WebSocket, TCP et RPC pour valider divers modèles de communication. Le projet inclut des moteurs spécialisés pour les tests de performance API, les tests basés sur les données, et un générateur de cas de test qui convertit les fichiers HAR, les commandes curl et les définitions Swagger en scripts exécutables. Le framework se distingue par sa capacité à séparer la logique de test des données métier via un moteur d'exécution piloté par les données et son support pour les tests de charge à haute concurrence via une orchestration distribuée. Il dispose d'un système de plugins multi-langages qui permet aux utilisateurs d'étendre le moteur principal avec une logique de validation et de traitement personnalisée écrite en Go, Python ou Java. Le projet couvre un large éventail de capacités, incluant la modélisation de scénarios complexes pour la simulation de workflows utilisateur, la validation des réponses et une analyse détaillée des performances réseau. Il fournit des outils pour la génération de charge distribuée, le sondage réseau géographique et l'intégration de suites de tests automatisés dans les pipelines CI. Le moteur de test principal peut être exécuté via une interface en ligne de commande ou encapsulé dans l'écosystème de test Python en utilisant un runner dédié.
A framework for automating functional and regression tests of HTTP interfaces using structured data and scripting.
Ring est une bibliothèque de primitives cryptographiques de bas niveau et une boîte à outils de sécurité conçue pour construire des applications portables et sécurisées. Elle fournit une collection d'implémentations pour RSA, la cryptographie sur courbes elliptiques et le chiffrement symétrique authentifié. Le projet se concentre sur la cryptographie à temps constant pour empêcher les données secrètes de fuiter via des attaques par canal auxiliaire temporel. Il utilise un outil de vérification formelle qui génère une logique arithmétique à partir de modèles, garantissant l'exactitude mathématique et éliminant les erreurs d'implémentation manuelle. La bibliothèque inclut des capacités pour produire des séquences aléatoires cryptographiquement fortes pour les clés et les sels, ainsi que des outils pour le chiffrement de flux authentifié. Elle prend en charge un processus de build multiplateforme qui permet aux binaires d'être compilés pour plusieurs architectures matérielles en utilisant des racines système et des toolchains spécifiques. L'exactitude est maintenue par des tests vectoriels exhaustifs et une suite étendue de vérifications cryptographiques pour valider les primitives.
Validates cryptographic correctness using extensive input vector suites and failure logging.
Schemathesis is a property-based testing tool and fuzzer for schema-based APIs. It analyzes OpenAPI and JSON Schema specifications to automatically generate test cases that identify crashes, schema violations, and validation bypasses. The project functions as a contract validator and security scanner, verifying that a live server strictly adheres to its defined specifications. The framework distinguishes itself through stateful API testing, which chains multiple related requests together to uncover bugs that only emerge during complex, multi-step user workflows. It also utilizes response-driv
Chains multiple related API requests together to uncover bugs that only emerge during complex multi-step user workflows.
Ce projet fournit un framework pour construire des opérateurs Kubernetes et des contrôleurs personnalisés. Il offre un ensemble de bibliothèques conçues pour gérer le cycle de vie des ressources de cluster, permettant aux développeurs de synchroniser l'état réel d'un cluster avec une configuration souhaitée via des boucles de réconciliation pilotées par les événements. Le framework se distingue en fournissant un environnement orchestré par gestionnaire qui coordonne plusieurs contrôleurs et webhooks au sein d'un seul processus. Il inclut un support intégré pour le contrôle de concurrence optimiste afin d'éviter les conflits de mise à jour et utilise la mise en cache en mémoire des informateurs pour maintenir une vue locale synchronisée de l'état du cluster, ce qui réduit la charge sur le serveur API. Au-delà de la réconciliation de base, le projet inclut des outils pour le mappage de ressources basé sur schéma, permettant l'enregistrement de définitions de ressources personnalisées. Il fournit également des mécanismes pour le contrôle d'admission, permettant la validation et la mutation des requêtes de ressources pour appliquer la conformité avant que les données ne soient persistées. Le framework inclut une suite de test dédiée qui lance des environnements de serveur API éphémères et isolés pour valider la logique du contrôleur par rapport au comportement réel du cluster.
Provides a testing suite that spins up a local API server to validate controller logic against real cluster behavior.
This library provides a unified, cross-platform interface for executing HTTP requests and managing network communication in Dart applications. It functions as a composable client library that automatically resolves platform-specific network implementations, ensuring consistent behavior across mobile, desktop, and web environments. The library distinguishes itself through a modular architecture that supports swappable transport layers and middleware, allowing developers to inject custom logic for logging, caching, or retries. It includes built-in support for resilient communication, such as co
Verifies that custom network implementations adhere strictly to established HTTP and WebSocket protocol standards.