Esempio n. 1
0
        public async Task Should_Download_and_Start_Server()
        {
            // Arrange
            MonogServerBuilder builder = new MonogServerBuilder()
                                         .UseMongoVersion(MongoDbVersion.V4_2_0);

            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                builder.UseOs(Os.Windows);
            }
            else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
            {
                builder.UseOs(Os.Osx);
            }
            else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
            {
                builder.UseOs(Os.Linux).UseDistribution(Distribution.Ubuntu_1804);
            }

            MongoServer mongoServer = new MongoServer(builder)
                                      .UseMongoServerPort(27099);

            // Act
            await mongoServer.Start();

            mongoServer
            .Stop()
            .Cleanup();

            // Assert
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            int mongoDbServerPort = 21020;

            MonogServerBuilder builder = new MonogServerBuilder()
                                         .UseMongoVersion(MongoDbVersion.V4_2_8);

            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                builder.UseOs(Os.Windows);
            }
            else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
            {
                builder.UseOs(Os.Osx);
            }
            else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
            {
                builder.UseOs(Os.Linux).UseDistribution(Distribution.Ubuntu_1804);
            }

            MongoServer mongoServer = new MongoServer(builder).UseMongoServerPort(mongoDbServerPort);

            mongoServer.Start().GetAwaiter().GetResult();

            new DB("embedded-test", "127.0.0.1", mongoDbServerPort);

            BookModel book1 = new BookModel
            {
                Author = "Nico Klage",
                Title  = "How to use NK.MongoDB.Embedded Package"
            };

            book1.Save();
            mongoServer.Stop().Cleanup();
        }
        public void Should_Get_Windows_URL()
        {
            // Arrange
            MonogServerBuilder builder = new MonogServerBuilder()
                                         .UseOs(Os.Windows)
                                         .UseMongoVersion(MongoDbVersion.V4_3_6);

            // Act
            string downloadUrl = builder.Build();

            // Assert
            downloadUrl.Should().Be("https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.3.6.zip",
                                    "Builder should generate the correct URL for Windows");
        }
        public void Should_Get_macOS_URL()
        {
            // Arrange
            MonogServerBuilder builder = new MonogServerBuilder()
                                         .UseOs(Os.Osx)
                                         .UseMongoVersion(MongoDbVersion.V4_3_6);

            // Act
            string downloadUrl = builder.Build();

            // Assert
            downloadUrl.Should().Be("https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-4.3.6.tgz",
                                    "Builder should generate the correct URL for macOS");
        }
        public void Should_Get_Ubuntu_1604_URL()
        {
            // Arrange
            MonogServerBuilder builder = new MonogServerBuilder()
                                         .UseOs(Os.Linux)
                                         .UseDistribution(Distribution.Ubuntu_1604)
                                         .UseArchitecture(OsArchitecture.x86_64)
                                         .UseMongoVersion(MongoDbVersion.V4_3_6);

            // Act
            string downloadUrl = builder.Build();

            // Assert
            downloadUrl.Should()
            .Be("https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.3.6.tgz",
                "Builder should generate the correct URL for Ubuntu 16.04");
        }