Home Applications iris-mock-server

iris-mock-server

InterSystems does not provide technical support for this project. Please contact its developer for the technical assistance.
2.5
1 reviews
0
Awards
32
Views
0
IPM installs
0
0
Details
Releases (1)
Reviews (1)
Issues
Simulate REST and SOAP easily with zerocode and fast web control

What's new in this version

Initial Release

Gitter

License: MIT

Iris Mock Server

Description

IRIS Mock Server simplifies API development by simulating REST and SOAP endpoints with zero-code configuration. Featuring a modern web interface and native Ensemble integration, it enables developers to quickly create and manage mocks, accelerating testing and eliminating external dependencies.

Funcionalidades

  • Support for REST and SOAP protocols
  • Web interface for creating and editing mocks
  • Customizable response configuration
  • Ability to define content-type and status code
  • Zero-code: fully configurable through the interface
  • Runs via Docker with embedded InterSystems IRIS

Getting Started

Prerequisites

Clone the Repository

Clone or pull the repository into a local directory:

git clone git@github.com:rodoctor/iris-mock-server.git

Navigate to the directory and run:

cd iris-mock-server

Run docker compose

docker-compose up -d

Access the interface at:

http://localhost:52773/app/index.html

IPM

Open IRIS installation with IPM client installed:

IRISAPP>zpm "install iris-mock-server"

Management portal

The management portal is available at:

http://localhost:52773/csp/irisapp/EnsPortal.ProductionConfig.zen?$NAMESPACE=IRISAPP&

Architecture Overview


graph TB
    %% External Systems
    Client[Client Application
REST/SOAP Request] DevTeam[Development Team
Web Interface]
%% Web Interface Layer
subgraph "Web Interface Layer"
    WebUI[Modern Web UI<br/>- Toast Notifications<br/>- Modal Search<br/>- Responsive Layout]
    Static[Static Assets<br/>- CSS Stylesheets<br/>- JavaScript Files<br/>- Images & Icons]
end

%% API Management Layer
subgraph "API Management Layer"
    RestAPI[MockResponseController<br/>REST API Endpoints]
    
    subgraph "API Endpoints"
        GetAll[GET /getAllMockResponses]
        GetById[GET /getMockResponse/:id]
        Save[POST /saveMockResponse]
        Delete[DELETE /deleteMockResponse/:id]
    end
end

%% Business Logic Layer
subgraph "Business Logic Layer"
    MockProcess[MockProcess<br/>Ensemble Business Process]
    MockOperation[Mock Operation<br/>Business Operation]
    
    subgraph "Message Classes"
        BPRequest[MockRequest<br/>Business Process Input]
        BPResponse[MockResponse<br/>Business Process Output]
        BORequest[ReturnMockMessageRequest<br/>Business Operation Input]
        BOResponse[ReturnMockMessageResponse<br/>Business Operation Output]
    end
end

%% Data Layer
subgraph "Data Persistence Layer"
    Database[IRIS Database]
    MockTable[TblMockResponse<br/>- ID, Path, Action<br/>- Protocol, System<br/>- Response Content<br/>- Status Code<br/>- SOAP Action<br/>- Situation Active/Inactive]
end

%% Mock Service Flow
subgraph "Mock Service Flow"
    MockService["Mock Service /mock/service/{system}/{path}"]
    Router[Protocol Router<br/>REST vs SOAP]
    ResponseGen[Response Generator<br/>Dynamic Content<br/>Status Codes<br/>Headers]
end

%% Connections - Web Interface Flow
DevTeam --> WebUI
WebUI --> RestAPI
RestAPI --> GetAll
RestAPI --> GetById
RestAPI --> Save
RestAPI --> Delete

%% Connections - API to Data
GetAll --> MockTable
GetById --> MockTable
Save --> MockTable
Delete --> MockTable
MockTable --> Database

%% Connections - Mock Service Flow
Client --> MockService
MockService --> Router
Router --> MockProcess
MockProcess --> BPRequest
BPRequest --> MockOperation
MockOperation --> BORequest
BORequest --> BOResponse
BOResponse --> BPResponse
BPResponse --> MockProcess
MockProcess --> ResponseGen
ResponseGen --> Client

%% Data Flow for Mock Lookup
MockOperation --> MockTable
MockTable --> MockOperation

%% Styling
classDef webLayer fill:#e1f5fe,stroke:#01579b,stroke-width:2px
classDef apiLayer fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
classDef businessLayer fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
classDef dataLayer fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef mockLayer fill:#fce4ec,stroke:#880e4f,stroke-width:2px
classDef external fill:#f5f5f5,stroke:#424242,stroke-width:2px

class WebUI,Static webLayer
class RestAPI,GetAll,GetById,Save,Delete apiLayer
class MockProcess,MockOperation,BPRequest,BPResponse,BORequest,BOResponse businessLayer
class Database,MockTable dataLayer
class MockService,Router,ResponseGen mockLayer
class Client,DevTeam external

Using Example

Project Structure

Structure

.
└── src
    ├── IORedirect
    ├── activation
    ├── api
    │   └── rest
    ├── core
    │   ├── bo
    │   ├── bp
    │   ├── bs
    │   │   └── http
    │   ├── model
    │   │   └── http
    │   ├── msg
    │   │   ├── bo
    │   │   └── bp
    │   └── prd
    ├── csp
    │   └── irisapp
    │       └── assets
    └── data
        └── enum

Contributing

Contributions are welcome and appreciated!
If you have suggestions for improvements, bug reports, or want to add new features, feel free to open an issue or submit a pull request.

Whether it’s code, documentation, ideas, or testing — your help is welcome.

Contributors

Rodolfo Moreira
LinkedIn

Made with
Install
zpm install iris-mock-server download archive
Version
1.0.028 Jul, 2025
Ideas portal
Category
Developer Environment
Works with
InterSystems IRIS
First published
28 Jul, 2025
Last edited
28 Jul, 2025