Skip to content

I've improved the code coverage for the JsonRpcMessage class.#40

Merged
james2037 merged 1 commit into
masterfrom
feature/improve-jsonrpcmessage-coverage
Jun 4, 2025
Merged

I've improved the code coverage for the JsonRpcMessage class.#40
james2037 merged 1 commit into
masterfrom
feature/improve-jsonrpcmessage-coverage

Conversation

@james2037

Copy link
Copy Markdown
Owner

I added specific test cases to ensure full coverage of branches within the fromJson and jsonSerialize methods.

The following branches were targeted:

fromJson:

  • !array_key_exists('id', $data): I ensured that responses or errors missing an 'id' field are handled. I added testFromJsonResponseMissingId and testFromJsonErrorResponseMissingId.
  • !is_array($data['error']): I ensured that error messages with a non-array 'error' field are handled. I added testFromJsonErrorFieldNotAnArray.

jsonSerialize:

  • $this->id !== null (for requests/notifications): I ensured that the 'id' field is correctly serialized for messages that are requests (i.e., have an ID and are not errors/results). I added testJsonSerializeRequestWithId for explicit coverage, complementing existing indirect coverage.

All new and existing tests pass, and linters are clean.

I added specific test cases to ensure full coverage of branches within the `fromJson` and `jsonSerialize` methods.

The following branches were targeted:

fromJson:
- `!array_key_exists('id', $data)`: I ensured that responses or errors missing an 'id' field are handled. I added `testFromJsonResponseMissingId` and `testFromJsonErrorResponseMissingId`.
- `!is_array($data['error'])`: I ensured that error messages with a non-array 'error' field are handled. I added `testFromJsonErrorFieldNotAnArray`.

jsonSerialize:
- `$this->id !== null` (for requests/notifications): I ensured that the 'id' field is correctly serialized for messages that are requests (i.e., have an ID and are not errors/results). I added `testJsonSerializeRequestWithId` for explicit coverage, complementing existing indirect coverage.

All new and existing tests pass, and linters are clean.
@github-actions

github-actions Bot commented Jun 4, 2025

Copy link
Copy Markdown

🧪 Test Results Summary

PHPUnit Tests

✅ All tests passed!

Details: OK (210 tests, 878 assertions)

  • Total Tests: 210
  • Total Assertions: 878

Code Quality

  • PHPCS: ✅ No issues
  • PHPStan: ✅ No errors found

📁 Detailed Reports

  • Coverage Report: Download the test-outputs artifact for detailed HTML coverage report
  • Test Results: Check the "Tests" tab above for detailed test results
  • Raw Logs: View the "Actions" tab for complete output logs

This comment will update automatically when you push new commits.

Code Coverage

Code Coverage

Package Line Rate Health
Capability/CapabilityInterface.php 0%
Capability/ResourcesCapability.php 100%
Capability/ToolsCapability.php 100%
Exception/InvalidParamsException.php 0%
Exception/InvalidRequestException.php 0%
Exception/MethodNotSupportedException.php 0%
Exception/TransportException.php 0%
Message/JsonRpcMessage.php 100%
Registry/Registry.php 97%
Resource/Attribute/ResourceUri.php 100%
Resource/BlobResourceContents.php 100%
Resource/Resource.php 100%
Resource/ResourceContents.php 100%
Resource/ResourceRegistry.php 100%
Resource/TextResourceContents.php 100%
Server.php 69%
Tool/Attribute/Parameter.php 100%
Tool/Attribute/Tool.php 100%
Tool/Attribute/ToolAnnotations.php 100%
Tool/Content/AbstractContent.php 100%
Tool/Content/AbstractMediaContent.php 100%
Tool/Content/Annotations.php 100%
Tool/Content/AudioContent.php 100%
Tool/Content/ContentItemInterface.php 0%
Tool/Content/EmbeddedResource.php 100%
Tool/Content/ImageContent.php 100%
Tool/Content/TextContent.php 100%
Tool/Tool.php 92%
Tool/ToolRegistry.php 100%
Transport/AbstractTransport.php 0%
Transport/HttpTransport.php 70%
Transport/StdioTransport.php 96%
Transport/TransportInterface.php 0%
Summary 87% (847 / 978)

@codecov

codecov Bot commented Jun 4, 2025

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

📢 Thoughts on this report? Let us know!

@james2037 james2037 merged commit 267f619 into master Jun 4, 2025
3 checks passed
@james2037 james2037 deleted the feature/improve-jsonrpcmessage-coverage branch June 4, 2025 20:43
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.

1 participant