├── .editorconfig ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ └── bug_report.yml └── workflows │ ├── ci.yml │ ├── release.yml │ ├── renovate.yml │ └── semgrep.yml ├── .gitignore ├── Directory.Build.props ├── Directory.Packages.props ├── GitVersion.yml ├── LICENSE ├── README.md ├── global.json ├── nuget.config ├── renovate.json └── src ├── EphemeralMongo.Tests ├── DownloadArchitectureHelperTests.cs ├── DownloadEditionHelperTests.cs ├── DownloadTargetHelperTests.cs ├── EphemeralMongo.Tests.csproj ├── IsExternalInit.cs ├── MongoRunnerPoolTests.cs ├── MongoRunnerTests.cs ├── ProcessArgumentTests.cs ├── XunitConstants.cs └── xunit.runner.json ├── EphemeralMongo.sln ├── EphemeralMongo.v2.Tests └── EphemeralMongo.v2.Tests.csproj ├── EphemeralMongo.v2 └── EphemeralMongo.v2.csproj └── EphemeralMongo ├── BaseMongoProcess.cs ├── Download ├── DownloadArchitectureHelper.cs ├── DownloadEditionHelper.cs ├── DownloadTargetHelper.cs ├── FileCompressionHelper.cs ├── FileHashHelper.cs ├── MongoArchiveDto.cs ├── MongoDownloadDto.cs ├── MongoExecutableDownloader.cs ├── MongoVersionDto.cs ├── MongoVersionsDto.cs ├── NamedMutex.cs ├── RuntimeInformationHelper.cs ├── ToolsArchiveDto.cs ├── ToolsDownloadDto.cs ├── ToolsVersionDto.cs └── ToolsVersionsDto.cs ├── EphemeralMongo.csproj ├── EphemeralMongoException.cs ├── ExperimentalAttribute.cs ├── FileSystem.cs ├── HttpTransport.cs ├── IFileSystem.cs ├── IMongoExecutableLocator.cs ├── IMongoProcess.cs ├── IMongoProcessFactory.cs ├── IMongoRunner.cs ├── IPortFactory.cs ├── ITimeProvider.cs ├── Logger.cs ├── MongoEdition.cs ├── MongoExecutableLocator.cs ├── MongoImportExportProcess.cs ├── MongoProcessFactory.cs ├── MongoProcessKind.cs ├── MongoRunner.cs ├── MongoRunnerOptions.cs ├── MongoRunnerPool.cs ├── MongoVersion.cs ├── MongodProcess.cs ├── NativeMethods.cs ├── NativeMethods.txt ├── PortFactory.cs ├── ProcessArgument.cs ├── PublicAPI.Shipped.txt ├── PublicAPI.Unshipped.txt └── TimeProvider.cs /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/.github/ISSUE_TEMPLATE/bug_report.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/renovate.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/.github/workflows/renovate.yml -------------------------------------------------------------------------------- /.github/workflows/semgrep.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/.github/workflows/semgrep.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/.gitignore -------------------------------------------------------------------------------- /Directory.Build.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/Directory.Build.props -------------------------------------------------------------------------------- /Directory.Packages.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/Directory.Packages.props -------------------------------------------------------------------------------- /GitVersion.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/GitVersion.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/README.md -------------------------------------------------------------------------------- /global.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/global.json -------------------------------------------------------------------------------- /nuget.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/nuget.config -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/renovate.json -------------------------------------------------------------------------------- /src/EphemeralMongo.Tests/DownloadArchitectureHelperTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.Tests/DownloadArchitectureHelperTests.cs -------------------------------------------------------------------------------- /src/EphemeralMongo.Tests/DownloadEditionHelperTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.Tests/DownloadEditionHelperTests.cs -------------------------------------------------------------------------------- /src/EphemeralMongo.Tests/DownloadTargetHelperTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.Tests/DownloadTargetHelperTests.cs -------------------------------------------------------------------------------- /src/EphemeralMongo.Tests/EphemeralMongo.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.Tests/EphemeralMongo.Tests.csproj -------------------------------------------------------------------------------- /src/EphemeralMongo.Tests/IsExternalInit.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.Tests/IsExternalInit.cs -------------------------------------------------------------------------------- /src/EphemeralMongo.Tests/MongoRunnerPoolTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.Tests/MongoRunnerPoolTests.cs -------------------------------------------------------------------------------- /src/EphemeralMongo.Tests/MongoRunnerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.Tests/MongoRunnerTests.cs -------------------------------------------------------------------------------- /src/EphemeralMongo.Tests/ProcessArgumentTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.Tests/ProcessArgumentTests.cs -------------------------------------------------------------------------------- /src/EphemeralMongo.Tests/XunitConstants.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.Tests/XunitConstants.cs -------------------------------------------------------------------------------- /src/EphemeralMongo.Tests/xunit.runner.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.Tests/xunit.runner.json -------------------------------------------------------------------------------- /src/EphemeralMongo.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.sln -------------------------------------------------------------------------------- /src/EphemeralMongo.v2.Tests/EphemeralMongo.v2.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.v2.Tests/EphemeralMongo.v2.Tests.csproj -------------------------------------------------------------------------------- /src/EphemeralMongo.v2/EphemeralMongo.v2.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo.v2/EphemeralMongo.v2.csproj -------------------------------------------------------------------------------- /src/EphemeralMongo/BaseMongoProcess.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/BaseMongoProcess.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/DownloadArchitectureHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/DownloadArchitectureHelper.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/DownloadEditionHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/DownloadEditionHelper.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/DownloadTargetHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/DownloadTargetHelper.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/FileCompressionHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/FileCompressionHelper.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/FileHashHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/FileHashHelper.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/MongoArchiveDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/MongoArchiveDto.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/MongoDownloadDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/MongoDownloadDto.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/MongoExecutableDownloader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/MongoExecutableDownloader.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/MongoVersionDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/MongoVersionDto.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/MongoVersionsDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/MongoVersionsDto.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/NamedMutex.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/NamedMutex.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/RuntimeInformationHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/RuntimeInformationHelper.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/ToolsArchiveDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/ToolsArchiveDto.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/ToolsDownloadDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/ToolsDownloadDto.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/ToolsVersionDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/ToolsVersionDto.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Download/ToolsVersionsDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/Download/ToolsVersionsDto.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/EphemeralMongo.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/EphemeralMongo.csproj -------------------------------------------------------------------------------- /src/EphemeralMongo/EphemeralMongoException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/EphemeralMongoException.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/ExperimentalAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/ExperimentalAttribute.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/FileSystem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/FileSystem.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/HttpTransport.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/HttpTransport.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/IFileSystem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/IFileSystem.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/IMongoExecutableLocator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/IMongoExecutableLocator.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/IMongoProcess.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/IMongoProcess.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/IMongoProcessFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/IMongoProcessFactory.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/IMongoRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/IMongoRunner.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/IPortFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/IPortFactory.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/ITimeProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/ITimeProvider.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/Logger.cs: -------------------------------------------------------------------------------- 1 | namespace EphemeralMongo; 2 | 3 | public delegate void Logger(string text); -------------------------------------------------------------------------------- /src/EphemeralMongo/MongoEdition.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/MongoEdition.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/MongoExecutableLocator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/MongoExecutableLocator.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/MongoImportExportProcess.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/MongoImportExportProcess.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/MongoProcessFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/MongoProcessFactory.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/MongoProcessKind.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/MongoProcessKind.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/MongoRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/MongoRunner.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/MongoRunnerOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/MongoRunnerOptions.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/MongoRunnerPool.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/MongoRunnerPool.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/MongoVersion.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/MongoVersion.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/MongodProcess.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/MongodProcess.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/NativeMethods.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/NativeMethods.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/NativeMethods.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/NativeMethods.txt -------------------------------------------------------------------------------- /src/EphemeralMongo/PortFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/PortFactory.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/ProcessArgument.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/ProcessArgument.cs -------------------------------------------------------------------------------- /src/EphemeralMongo/PublicAPI.Shipped.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/PublicAPI.Shipped.txt -------------------------------------------------------------------------------- /src/EphemeralMongo/PublicAPI.Unshipped.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/PublicAPI.Unshipped.txt -------------------------------------------------------------------------------- /src/EphemeralMongo/TimeProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimmon/ephemeral-mongo/HEAD/src/EphemeralMongo/TimeProvider.cs --------------------------------------------------------------------------------