Skip to content

Introduce Kotlin client/server <--> TypeScript client/server integration tests#216

Merged
devcrocod merged 22 commits intomodelcontextprotocol:mainfrom
skarpovdev:skarpov/integration-tests
Sep 9, 2025
Merged

Introduce Kotlin client/server <--> TypeScript client/server integration tests#216
devcrocod merged 22 commits intomodelcontextprotocol:mainfrom
skarpovdev:skarpov/integration-tests

Conversation

@skarpovdev
Copy link
Copy Markdown
Contributor

@skarpovdev skarpovdev commented Aug 5, 2025

General requirement to run the tests (apart from the main requirements for running any code in the repo) is to have node.js installed. I don't see the need for a separate README.md, but let me know if you think it's needed.

  1. In setupTypeScriptSdk we clone the latest head of TypeScript SDK and instal all the dependencies. I thought about using the released version by installing it with npm, but decided to run tests with the latest commits to help us find issues faster, before the new version is released.
  2. I put edge cases coverage into separate test classes to keep the main integration tests easy to find and debug. Btw, this part is mostly done by Junie.
  3. For TypeScript server I use simpleStreamableHttp from examples. If there is a concern it will be changed and hence such usage better be avoided, it can easily be migrated into a separate file. DONE ✅
  4. Kotlin server is a custom implementation to allow for more thorough testing, pls take a closer look at it.

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

@skarpovdev skarpovdev marked this pull request as ready for review August 5, 2025 18:14
@devcrocod devcrocod self-requested a review August 6, 2025 08:37
@devcrocod
Copy link
Copy Markdown
Contributor

@skarpovdev please take a look at a validation check

@skarpovdev
Copy link
Copy Markdown
Contributor Author

skarpovdev commented Aug 28, 2025

@skarpovdev please take a look at a validation check

@devcrocod The test fails only in this branch because this is the only place where we actually run jvm tests that rely on JUnit 5. I fixed it along with the bug in #243

Signed-off-by: Sergey Karpov <sergey.karpov@jetbrains.com>
Signed-off-by: Sergey Karpov <sergey.karpov@jetbrains.com>
Signed-off-by: Sergey Karpov <sergey.karpov@jetbrains.com>
Signed-off-by: Sergey Karpov <sergey.karpov@jetbrains.com>
Signed-off-by: Sergey Karpov <sergey.karpov@jetbrains.com>
Signed-off-by: Sergey Karpov <sergey.karpov@jetbrains.com>
Signed-off-by: Sergey Karpov <sergey.karpov@jetbrains.com>
Signed-off-by: Sergey Karpov <sergey.karpov@jetbrains.com>
Copy link
Copy Markdown
Contributor

@devcrocod devcrocod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@devcrocod devcrocod merged commit c455974 into modelcontextprotocol:main Sep 9, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants