Skip to content

Conversation

@Fuud
Copy link

@Fuud Fuud commented Jan 9, 2026

Motivation and Context

kotlin-sdk-test uses typescript-sdk from git.
Structure of typescript-sdk was changed, it was splitted on modules, now it requires pnpm.

How Has This Been Tested?

regular gradle build now works as expected

Breaking Changes

no, only tests was changed

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@kpavlov
Copy link
Contributor

kpavlov commented Jan 9, 2026

Thank you, @Fuud for PR, but let's make it a bit differently.

  1. Get fix: Update/Fix build workflow #474 merged for pipelines to revive
  2. Let's resurrect Refactor integration tests to use Testcontainers for TypeScript client and server #310 and build Docker image. Let's run it on Ubuntu host, where Docker is available.
  3. Let's build Docker image not from TypeScript SDK source, but from published npm package. Reason: main branch of the SDK repo contains unstable pre-alpha v2 Typescript SDK. Let's not depend on unstable dummy server.

@kpavlov kpavlov added the invalid This doesn't seem right label Jan 9, 2026
@Fuud
Copy link
Author

Fuud commented Jan 10, 2026

Hi, @kpavlov
Thank you for review.

As I see, #474 is already merged.

Should I help finishing #310 or it will be done by someone from your team? I am ready to invest time but I want to avoid double work.

@kpavlov
Copy link
Contributor

kpavlov commented Jan 10, 2026

Thank you @Fuud. I am looking at the typescript tests right now. You may have a look at conformance tests, they're got broken. We should use package.json and specific versions of typescript dependencies to avoid unexpected changes.

@kpavlov
Copy link
Contributor

kpavlov commented Jan 10, 2026

Actually, I managed to make typescript tests work without introducing docker
#477 and #478 are fixing client tests running against typescript server

Lesson learned: never depend on latest version, use specific versions to avoid surprises

kpavlov added a commit that referenced this pull request Jan 10, 2026
…tion tests (#477)

# refactor(test): add centralized TypeScript server factory for
integration tests

  - Create TypeScriptServer class for managing TypeScript MCP servers
  - Add dedicated typescript/ directory with server infrastructure
  - Refactor TsTestBase to use TypeScriptServer for stdio transport
- Extract TypeScript test tools (greet, multi-greet, prompts, resources)
  - Use npx tsx for direct execution (better performance than npm run)
  - Install TypeScript dependencies automatically in test setup

  The TypeScriptServer factory provides:
  - startSse(port): Start SSE transport server
  - startStdio(): Start STDIO transport server
  - stop(): Graceful server shutdown
  - installDependencies(): npm install automation

<!-- Provide a brief summary of your changes -->

## Motivation and Context
To resurrect typescript tests

## How Has This Been Tested?
Locally, CI

## Breaking Changes
<!-- Will users need to update their code or configurations? -->

## Types of changes
- [x] Bug fix (non-breaking change which fixes an issue)
- [x] Test fix

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
#475
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

invalid This doesn't seem right

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants