Description
Replace the custom IFileSystem abstraction in src/Func/Common/ with TestableIO System.IO.Abstractions and its test helpers package. Benefits:
- Standardizes on the same abstraction used in other Azure Functions projects
- Eliminates the need to test our own
PhysicalFileSystem implementation
- Leverages TestableIO's
MockFileSystem in tests instead of hand-rolled fakes
The custom IFileSystem currently has methods not covered by TestableIO (archive extraction, SHA-256 hashing). These should move to a separate IArchiveService or similar interface.
Consumers to migrate: CliUpdater, UserProfileSource, ProjectProfileSource, ProjectProfileConfigStore, RemoteProfileSource, and their tests.
Description
Replace the custom
IFileSystemabstraction insrc/Func/Common/with TestableIO System.IO.Abstractions and its test helpers package. Benefits:PhysicalFileSystemimplementationMockFileSystemin tests instead of hand-rolled fakesThe custom
IFileSystemcurrently has methods not covered by TestableIO (archive extraction, SHA-256 hashing). These should move to a separateIArchiveServiceor similar interface.Consumers to migrate:
CliUpdater,UserProfileSource,ProjectProfileSource,ProjectProfileConfigStore,RemoteProfileSource, and their tests.