fix(*): remove logging from workspace check on missing directory (#5)#6
Merged
MarcScheib merged 1 commit intodevelopfrom May 1, 2025
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR removes direct logging from the workspace directory check to avoid unwanted side effects, integrates an in-memory logger (MemoryLogger) for improved testability, and adds robust unit tests for workspace path handling.
- Removed direct Logger error logging when the workspace directory does not exist.
- Implemented a new MemoryLogger for in-memory logging and integrated it into workspace utilities.
- Added unit tests to verify workspace path resolution and logging behavior for missing configuration files.
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/utils/workspace.ts | Removed logging from the missing directory check; retains logging for missing config file. |
| src/utils/workspace.test.ts | Added and updated tests for the workspace utilities using MemoryLogger. |
| src/utils/logger.ts | Introduced the MemoryLogger class extending Logger for in-memory log storage. |
Comments suppressed due to low confidence (2)
src/utils/workspace.ts:40
- [nitpick] Add a comment clarifying that the removal of logging here is intentional to avoid side effects in tests.
inject(Logger).error('The provided workspacePath "' + workspacePath + '" does not exist.');
src/utils/workspace.ts:92
- [nitpick] Consider using a template literal for improved readability in the error message, e.g.,
Expected to find the file "${identifier}.json" but was not found.
inject(Logger).error('Expected to find the file "' + identifier + '.json" but was not found.');
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new
MemoryLoggerclass for in-memory logging, integrates it into the workspace utilities, and adds comprehensive test coverage for workspace-related functionality. The most significant changes include the implementation of theMemoryLogger, updates to the workspace utilities to remove direct logging in certain cases, and the addition of unit tests for workspace path handling.Logging Enhancements:
MemoryLoggerclass that extendsLogger, providing in-memory storage for log messages with methods for logging, retrieving, and clearing messages (src/utils/logger.ts).Workspace Utilities Updates:
isExistingWorkspacefunction to avoid side effects and improve testability (src/utils/workspace.ts).Test Coverage:
resolveWorkspacePath,getWorkspacePathIdentifier, andisExistingWorkspace) with mock dependencies and integration ofMemoryLoggerfor verifying logging behavior (src/utils/workspace.test.ts).