Plsql Test
БесплатноНе проверенMCP server for IFS Cloud PL/SQL unit testing, enabling check of testability, generation of unit tests, and orchestration of deploy/run steps via ifs-f1-codegen-
Описание
MCP server for IFS Cloud PL/SQL unit testing, enabling check of testability, generation of unit tests, and orchestration of deploy/run steps via ifs-f1-codegen-dev.
README
MCP server for IFS Cloud PL/SQL unit testing — mirrors the architecture of integration-testing-mcp and delegates deploy/run steps to ifs-f1-codegen-dev.
Develop MCP to identify if a function/procedure is unit testable and generate the test.
Workflow
flowchart TD
A[checkUnitTestability] --> B{Testable?}
B -->|No| C[annotateIgnoreUnitTest]
B -->|Yes| D[generateUnitTest]
D --> E[generate_code / generate_and_deploy via ifs-f1-codegen-dev]
E --> F[Verify test passes]
C --> E
Tools
| Tool | Description |
|---|---|
checkUnitTestability |
Parse .plsql/.plsvc and assess pltst testability |
annotateIgnoreUnitTest |
Add @IgnoreUnitTest <reason> before a method |
generateUnitTest |
Analyze method body, generate deploy-safe mocks, data-driven FOR loops, and assertions |
processUnitTestCoverage |
Batch: annotate all non-testable methods + generate all missing auto-safe tests for one file |
runUnitTest |
Return generate_and_deploy instructions for ifs-f1-codegen-dev |
runPlsqlTestWorkflow |
End-to-end: check → annotate OR generate → run prep |
getIgnoreUnitTestRules |
List supported ignore reasons |
Supported @IgnoreUnitTest reasons
| Reason | When to use |
|---|---|
TrivialFunction |
Simple getter/pass-through |
MethodOverride |
@Override CRUD/framework methods |
DMLOperation |
INSERT/UPDATE/DELETE/MERGE in body |
NoOutParams |
Procedure with no OUT/IN OUT params |
DynamicStatement |
EXECUTE IMMEDIATE / dynamic SQL |
BLOBDataType / CLOBDataType |
Large object types |
PLSQLInSQL |
PL/SQL embedded in SQL views |
PipelinedFunction |
Pipelined table functions |
Cursor integration
Add to Cursor MCP settings:
{
"mcpServers": {
"plsql-test": {
"command": "node",
"args": ["C:/ifsapps-new/plsql-test-mcp/dist/index.js"]
}
}
}
Or after publishing:
{
"mcpServers": {
"plsql-test": {
"command": "npx",
"args": ["-y", "@ifs/[email protected]"]
}
}
}
Development
cd c:/ifsapps-new/plsql-test-mcp
npm install
npm run build
npm start
Deploy-safe generation (v0.1.4)
The generator avoids patterns that break AV_*_TST compilation:
- No UTF-8 BOM on written
.pltstfiles VARCHAR2(2000)for all generated IS-section locals (bareVARCHAR2causes PLS-00215)- Pre-write validation rejects bare VARCHAR2, BOM, and post-loop generated tests
- Skips
%ROWTYPEreturn types andSELECT * INTO %ROWTYPE(manual test required) - Skips CRUD modify methods using
Get_Object_By_Id___+Unpack___ - Expression SELECT columns (
round(cast(...))) mapped to safe mock column names - FOR loop column order matches IFS convention:
expected_ | input_param_ - Not-found cases stay inside the FOR loop (no post-loop statements)
- Skips
@IgnoreUnitTestwhen the method already has a UNITTEST block - Special mocks for
Get_Wp_Id,Has_Skills_Assigned_In_Turn,Get_Fault_Id_From_Record_Id,Get_AOS_Days,Get_Hm_Contract_Id_By_Barcode
Batch coverage example
processUnitTestCoverage({
sourceFile: "C:/ifsapps-new/workspace/adcom/source/adcom/database/AvFault.plsql",
workspace: "C:/ifsapps-new/workspace",
jiraKey: "PJZ-12345",
confirmed: true
})
Example
Analyze McprActivityRelation.plsql:
checkUnitTestability({
sourceFile: "C:/ifsapps-new/workspace/prjrep/source/prjrep/database/McprActivityRelation.plsql",
methodName: "Is_Circular_Link___"
})
Generate test:
generateUnitTest({
sourceFile: ".../McprActivityRelation.plsql",
methodName: "Is_Circular_Link___",
workspace: "C:/ifsapps-new/workspace",
jiraKey: "PJZ-12345",
confirmed: true
})
Run via ifs-f1-codegen-dev:
generate_and_deploy({
input_files: [".../McprActivityRelation.plsql", ".../McprActivityRelation.pltst"],
environment_key: "26r1-dev-lkp",
workspace: "C:/ifsapps-new/workspace",
confirmed: true
})
Note on plvst
IFS uses .pltst files for both .plsql and .plsvc unit tests. No separate .plvst extension exists in the codebase — this MCP targets .pltst.
Related
- integration-testing-mcp — reference MCP architecture
- ifs-f1-codegen-dev — code generation, SQLcl deploy, live DB inspect
Установка Plsql Test
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/VaruniAlwis/plsql-test-mcpFAQ
Plsql Test MCP бесплатный?
Да, Plsql Test MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Plsql Test?
Нет, Plsql Test работает без API-ключей и переменных окружения.
Plsql Test — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Plsql Test в Claude Desktop, Claude Code или Cursor?
Открой Plsql Test на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
wenb1n-dev/SmartDB_MCP
A universal database MCP server supporting simultaneous connections to multiple databases. It provides tools for database operations, health analysis, SQL optim
автор: wenb1n-devPostgres Server
This server enables interaction with PostgreSQL databases through the Model Context Protocol, optimized for the AWS Bedrock AgentCore Runtime. It provides tools
автор: madhurprashPostgres
Query your database in natural language
автор: AnthropicPostgreSQL
Read-only database access with schema inspection.
автор: modelcontextprotocolCompare Plsql Test with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории data
