beckn / beckn/protocol-specifications-v2

Use case stress testing across domains before domain schema migration

Open
#96 0 comments 0 reactions 1 assignee Claimed by @ravi-prakash-v View on GitHub
semantic-interoperability stress-test
Dominant language
No language data
Stars
15
Forks
13
PR merge metrics
No merged PRs in 30d

Description

## Summary

Before any domain schema migration into `schemas` is declared complete, the updated schema architecture must be validated through end-to-end use case stress testing across all domains in scope for this release.

This gates Phase 6 (structural migration) — domain migration is difficult to reverse.

## Test scope

For each of the following domains, validate that the new schema architecture (BecknAction, BecknEndpoint, consolidated Context, BecknAction dispatch) correctly validates real-world Beckn payloads:

- **Retail** — `discover/on_discover` through `confirm/on_confirm` and post-fulfillment flows
- **Mobility** — ride booking, tracking, cancellation
- **Logistics** — shipment booking, tracking, status updates
- **Energy (DEG)** — energy service discovery and procurement flows

## What is validated

1. A valid payload for each action pair passes `BecknAction` schema validation
2. An invalid payload (missing required field, wrong `@type`, etc.) correctly fails validation with a meaningful error
3. `context.action` dispatch correctly routes to the right `message` schema
4. `BecknEndpoint` recognises all domain-specific endpoint values (if any)
5. `context.jsonld` + `vocab.jsonld` correctly expand the payloads to their JSON-LD forms

## Depends on

- `beckn/core_schema` Issue #8 (BecknAction must be complete and tested)
- `beckn/protocol-specifications-v2` Issue #95 (`beckn.yaml` updated)
- Example generation framework (provides test fixtures)

@abhimail @ameetdesh @nirmay @bachia @anandp504 @pramodkvarma

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.