Skip to content

Commit b69064c

Browse files
fix(ci-cd): sonar issues fix
sonar issues fix GH-14
1 parent fdff6d9 commit b69064c

2 files changed

Lines changed: 15 additions & 12 deletions

File tree

src/__tests__/integration/mcp-tool.integration.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import {McpServerFactory} from '../../services/mcp-server-factory.service';
44
import {McpToolRegistry} from '../../services/mcp-tool-registry.service';
55
import {McpServer} from '@modelcontextprotocol/sdk/server/mcp.js';
66

7+
// Test constants to avoid magic numbers
8+
const TEST_NUMBERS = [1, 2, 3];
9+
710
describe('McpServerFactory (integration)', () => {
811
let ctx: Context;
912
let toolRegistry: McpToolRegistry;
@@ -150,7 +153,7 @@ describe('McpServerFactory (integration)', () => {
150153

151154
const arrayParams: Record<string, unknown> = {
152155
items: ['item1', 'item2', 'item3'],
153-
numbers: [1, 2, 3],
156+
numbers: TEST_NUMBERS,
154157
};
155158

156159
for (const [key, value] of Object.entries(arrayParams)) {

src/services/mcp-server-factory.service.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,19 @@ export class McpServerFactory {
4545
// Handle common double-wrapping patterns
4646
const cleanedParameters: Record<string, unknown> = {};
4747
for (const [key, value] of Object.entries(parameters)) {
48-
if (value && typeof value === 'object') {
49-
const valueObj = value as Record<string, unknown>;
50-
51-
// Pattern: Parameter value wrapped in object with same key
52-
// e.g., "currency": {"currency": {...actual data...}}
53-
if (key in valueObj && Object.keys(valueObj).length === 1) {
54-
cleanedParameters[key] = valueObj[key];
55-
} else {
56-
cleanedParameters[key] = value;
57-
}
58-
} else {
48+
// Skip non-objects and null/undefined values
49+
if (!value || typeof value !== 'object') {
5950
cleanedParameters[key] = value;
51+
continue;
6052
}
53+
54+
const valueObj = value as Record<string, unknown>;
55+
// Pattern: Parameter value wrapped in object with same key
56+
// e.g., "currency": {"currency": {...actual data...}}
57+
cleanedParameters[key] =
58+
key in valueObj && Object.keys(valueObj).length === 1
59+
? valueObj[key]
60+
: value;
6161
}
6262

6363
const result = await toolDef.handler(

0 commit comments

Comments
 (0)