The sandbox is no more maintained, please see this project to test some connector exchanges
The sandbox is a docker compose file whichs allows to test the interaction with multiple connectors locally.
The sandbox environment consists of several interconnected services:
%%{init: {'theme': 'base', 'themeVariables': { 'lineColor': '#666666' }}}%%
graph LR
subgraph sandbox[Sandbox Network]
direction LR
subgraph shared[Services]
mongo["mongodb-sandbox<br/>(27020:27017)"]
catalog["catalog<br/>(3002:8082)"]
contract["contract<br/>(3001:8081)"]
consent["consent<br/>(3003:8083)"]
end
subgraph pdcs[PDC Connectors]
pdc_p["provider<br/>(3010:3000)"]
pdc_i["infrastructure<br/>(3020:3002)"]
pdc_c["consumer<br/>(3030:3001)"]
end
end
subgraph provider[Provider Network]
direction LR
papi["provider-api<br/>(3011:8011)"]
end
subgraph infrastructure[Infrastructure Network]
direction LR
iapi["infrastructure-api<br/>(3021:8021)"]
end
subgraph consumer[Consumer Network]
direction LR
capi["consumer-api<br/>(3031:8031)"]
end
%% Group shared services connections
shared --> pdcs
%% PDC to API connections
pdc_p --> papi
pdc_c --> capi
pdc_i --> iapi
classDef default fill:#f8f9fa,stroke:#dee2e6,stroke-width:2px,color:#000;
classDef network fill:#e3f2fd,stroke:#bbdefb,stroke-width:2px,color:#000;
classDef service fill:#fff3e0,stroke:#ffe0b2,stroke-width:2px,color:#000;
classDef pdcNode fill:#e8f5e9,stroke:#c8e6c9,stroke-width:2px,color:#000;
classDef apiNode fill:#fce4ec,stroke:#f8bbd0,stroke-width:2px,color:#000;
class sandbox,provider,consumer,infrastructure network;
class mongo,catalog,contract,consent service;
class pdc_p,pdc_c,pdc_i pdcNode;
class papi,capi,iapi apiNode;
linkStyle default stroke:#666666,stroke-width:1px;
Each service runs in its own container and communicates through defined networks.
The sandbox uses four distinct networks:
sandbox: Main network connecting shared services (MongoDB, Contract, Catalog, Consent)provider: Isolated network for Provider PDC and its APIconsumer: Isolated network for Consumer PDC and its APIinfrastructure: Isolated network for Infrastructure PDC and its APIThis network separation ensures proper isolation and security between components.
docker-compose up to start all servicesdocker ps)mongodb-sandboxmongo-seed serviceThe sandbox includes three Connector (PDC) instances:
provider/utils/provider/.env.providerconsumer/utils/consumer/.env.consumerinfrastructure/utils/infrastructure/.env.infrastructureThe sandbox includes several mock services to simulate external BB:
contractconsentcatalogMock API services are provided for each PDC:
Consumer API
consumer-apiProvider API
provider-apiInfrastructure API
infrastructure-apiThe sandbox environment allows testing of:
To run tests, ensure all services are up and running, then execute the test suite from your development environment.
Common issues and solutions:
Service won't start
docker logs <container_name>Network connectivity issues
docker network inspect <network_name> to debugDatabase connection issues
To maintain the sandbox:
Cleaning up
docker-compose down -v # Remove containers and volumes
docker-compose down --rmi all # Remove containers and images
Updating services
docker-compose build <service_name>docker-compose buildLogs
docker-compose logs -f [service_name]docker-compose ps⚠️ Current Limitations and Future Expansion
The current sandbox environment is restricted to testing basic interactions within a single project context. Future updates will expand the testing capabilities to include:
These limitations are temporary, and the sandbox environment will be continuously updated to support more comprehensive testing scenarios. Please check for updates regularly as new test cases are added.