コード例 #1
0
        public void AddDatabase_NoDatabases_AddsDatabaseConfig()
        {
            // Arrange
            var config = new HarnessConfiguration
            {
                Databases = new List <DatabaseConfig>()
            };

            var expected = new HarnessConfiguration
            {
                Databases = new List <DatabaseConfig>
                {
                    new DatabaseConfig {
                        DatabaseName = "test"
                    }
                }
            };


            // Act
            config.AddDatabase("test");


            // Assert
            Assert.Equal(expected, config, Comparers.HarnessConfigurationComparer());
        }
コード例 #2
0
        /// <inheritdoc />
        public IHarnessManagerBuilder UsingSettings(HarnessConfiguration configuration)
        {
            Guard.AgainstNullArgument(configuration, nameof(configuration));

            this.Configuration = configuration;
            return(this);
        }
コード例 #3
0
 public void TearDown()
 {
     processManager = null;
     resultParser   = null;
     configuration  = null;
     harness        = null;
     jenkins        = null;
     factory        = null;
 }
コード例 #4
0
        /// <summary>
        /// Internal constructor to allow dependency injection for unit testing.
        /// </summary>
        internal MongoSessionManager(
            HarnessConfiguration settings, IMongoClientFactory clientFactory, IFileSystem fileSystem)
        {
            this.Settings      = settings;
            this.ClientFactory = clientFactory;
            this.FileSystem    = fileSystem;

            this.MongoClients = new Dictionary <string, IMongoClient>();
        }
コード例 #5
0
        public void SetUp()
        {
            processManager = new Mock <IMlaunchProcessManager> ();
            resultParser   = new Mock <IResultParser> ();
            tunnel         = new Mock <ITunnelBore> ();
            configuration  = new HarnessConfiguration();
            harness        = new Harness(resultParser.Object, HarnessAction.Jenkins, configuration);
            jenkins        = new Xharness.Jenkins.Jenkins(harness, processManager.Object, resultParser.Object, tunnel.Object);

            factory = new MakeTestTaskEnumerable(jenkins, processManager.Object);
        }
コード例 #6
0
        public void SetUp()
        {
            processManager  = new Mock <IMlaunchProcessManager> ();
            resultParser    = new Mock <IResultParser> ();
            tunnel          = new Mock <ITunnelBore> ();
            log             = new Mock <IFileBackedLog> ();
            configuration   = new HarnessConfiguration();
            harness         = new Harness(resultParser.Object, HarnessAction.Jenkins, configuration);
            jenkins         = new Xharness.Jenkins.Jenkins(harness, processManager.Object, resultParser.Object, tunnel.Object);
            jenkins.MainLog = log.Object;

            factory = new NUnitTestTasksEnumerable(jenkins, processManager.Object);
        }
コード例 #7
0
        public void AddDatabase_WithNameThatAlreadyExists_ThrowsSettingsBuilderException()
        {
            // Arrange
            var config = new HarnessConfiguration
            {
                Databases = new List <DatabaseConfig>
                {
                    new DatabaseConfig {
                        DatabaseName = "test"
                    }
                }
            };

            // Act / Assert
            Assert.Throws <SettingsBuilderException>(() => config.AddDatabase("test"));
        }
コード例 #8
0
        public void SetConventions_ValidConfigAndConventionPack_AddsConventionsToConfig()
        {
            // Arrange
            var pack = new ConventionPack {
                new CamelCaseElementNameConvention()
            };

            var config = new HarnessConfiguration
            {
                Databases = new List <DatabaseConfig>
                {
                    new DatabaseConfig
                    {
                        ConnectionString = "connString",
                        DatabaseName     = "dbName",
                        DropFirst        = true,
                    }
                }
            };

            var expected = new HarnessConfiguration
            {
                Databases = new List <DatabaseConfig>
                {
                    new DatabaseConfig
                    {
                        ConnectionString = "connString",
                        DatabaseName     = "dbName",
                        DropFirst        = true,
                    }
                },
                Conventions = new ConventionConfig
                {
                    Name           = "conventions",
                    ConventionPack = pack,
                    Filter         = x => true
                }
            };

            // Act
            config.SetConventions(pack, x => true);

            // Assert
            Assert.Equal(expected, config, Comparers.HarnessConfigurationComparer());
        }
コード例 #9
0
        public void AddDatabase_ExisitngDatabase_AddsAdditionalDatabaseConfig()
        {
            // Arrange
            var config = new HarnessConfiguration
            {
                Conventions = null,
                Databases   = new List <DatabaseConfig>
                {
                    new DatabaseConfig {
                        DatabaseName = "test"
                    }
                }
            };

            var expected = new HarnessConfiguration
            {
                Conventions = null,
                Databases   = new List <DatabaseConfig>
                {
                    new DatabaseConfig {
                        DatabaseName = "test"
                    },
                    new DatabaseConfig {
                        DatabaseName = "second test"
                    }
                }
            };


            // Act
            config.AddDatabase("second test");


            // Assert
            Assert.Equal(expected, config, Comparers.HarnessConfigurationComparer());
        }
コード例 #10
0
        public IMongoSessionManager GetMongoSessionManager(HarnessConfiguration configuration)
        {
            Guard.AgainstNullArgument(configuration, nameof(configuration));

            return(new MongoSessionManager(configuration));
        }
コード例 #11
0
 /// <summary>
 /// Creates a new instance of the MongoSessionManager.
 /// </summary>
 /// <param name="settings">THe <see cref="HarnessConfiguration"/> settings to use.</param>
 public MongoSessionManager(HarnessConfiguration settings)
     : this(settings, new MongoClientFactory(), new FileSystem())
 {
 }
コード例 #12
0
        public void SettingsBuilderTest_ConventionPack()
        {
            // Arrange
            var expected = new HarnessConfiguration
            {
                Conventions = new ConventionConfig
                {
                    Name           = "conventions",
                    ConventionPack = new ConventionPack
                    {
                        new CamelCaseElementNameConvention()
                    },
                    Filter = x => true
                },
                Databases = new List <DatabaseConfig>
                {
                    new DatabaseConfig
                    {
                        CollectionNameSuffix = "CS-1",
                        ConnectionString     = "connString-1",
                        DatabaseName         = "DB-1",
                        DropFirst            = true,
                        Collections          = new List <CollectionConfig>
                        {
                            new CollectionConfig
                            {
                                CollectionName   = "C-1",
                                DataFileLocation = "file-1",
                                DropFirst        = true
                            },
                            new CollectionConfig
                            {
                                CollectionName   = "C-2",
                                DataFileLocation = "file-2",
                                DropFirst        = true
                            }
                        }
                    },
                    new DatabaseConfig
                    {
                        CollectionNameSuffix = "CS-2",
                        ConnectionString     = "connString-2",
                        DatabaseName         = "DB-2",
                        DropFirst            = true,
                        Collections          = new List <CollectionConfig>
                        {
                            new CollectionConfig
                            {
                                CollectionName   = "C-3",
                                DataFileLocation = "file-3",
                                DropFirst        = true
                            },
                            new CollectionConfig
                            {
                                CollectionName   = "C-4",
                                DataFileLocation = "file-4",
                                DropFirst        = true
                            }
                        }
                    }
                }
            };

            // Act
            var result =
                new SettingsBuilder()
                .AddConvention(new ConventionPack {
                new CamelCaseElementNameConvention()
            }, x => true)
                .AddDatabase("DB-1")
                .WithConnectionString("connString-1")
                .WithCollectionNameSuffix("CS-1")
                .DropDatabaseFirst()
                .AddCollection("C-1", true, "file-1")
                .AddCollection("C-2", true, "file-2")
                .AddDatabase("DB-2")
                .WithConnectionString("connString-2")
                .WithCollectionNameSuffix("CS-2")
                .DropDatabaseFirst()
                .AddCollection("C-3", true, "file-3")
                .AddCollection("C-4", true, "file-4")
                .Build();

            // Assert
            Assert.Equal(expected, result, Comparers.HarnessConfigurationComparer());
        }