private static IMongoCollection <LockData> GetCollection()
        {
            var database   = MongoFactory.GetDatabaseFromConnectionString("mongodb://localhost/Messaging");
            var collection = database.GetCollection <LockData>("throttle-lock");

            return(collection);
        }
        private static QueueRepository GetRepository()
        {
            var database   = MongoFactory.GetDatabaseFromConnectionString("mongodb://localhost/Messaging");
            var collection = database.GetCollection <Message>("test-queue");
            var repo       = new QueueRepository(collection);

            return(repo);
        }
        public DatabaseFixture()
        {
            var enviromentName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Test";
            var builder        = new Microsoft.Extensions.Configuration.ConfigurationBuilder()
                                 .AddJsonFile("appsettings.json")
                                 .AddJsonFile($"appsettings.{enviromentName}.json", true);

            Configuration    = builder.Build();
            ConnectionString = Configuration.GetConnectionString(ConnectionName);

            var services = new ServiceCollection();

            services.AddSingleton <IConfiguration>(p => Configuration);
            services.AddLogging(f =>
            {
                f.SetMinimumLevel(LogLevel.Trace);
                f.AddMemory();
                f.AddFilter("Microsoft", LogLevel.Information);
                f.AddFilter("System", LogLevel.Warning);
            });
            services.AddOptions();

            services.TryAddTransient <ITenantResolver <string>, MockTenantResolver>();

            services.AddSingleton(s => MongoFactory.GetDatabaseFromConnectionString(ConnectionString));
            services.AddSingleton(typeof(IMongoEntityRepository <>), typeof(MongoEntityRepository <>));

            services.AddAutoMapper(typeof(DatabaseFixture).Assembly);
            services.AddMediator();
            services.AddValidatorsFromAssembly <DatabaseFixture>();

            services.KickStart(config => config
                               .IncludeAssemblyFor <DatabaseFixture>()
                               .IncludeAssemblyFor <DomainException>()
                               .Data("configuration", Configuration)
                               .Data("hostProcess", "test")
                               .UseStartupTask()
                               );

            ServiceProvider = services.BuildServiceProvider();

            var factory = ServiceProvider.GetService <ILoggerFactory>();

            _logger = factory.CreateLogger <DatabaseFixture>();

            CreateDatabase();
        }
Пример #4
0
        public void Register(IServiceCollection services, IDictionary <string, object> data)
        {
            services.AddSingleton(sp =>
            {
                var configuration = sp.GetRequiredService <IConfiguration>();
                return(MongoFactory.GetDatabaseFromConnectionString(configuration.GetConnectionString("Tracker")));
            });

            services.AddSingleton(typeof(IMongoEntityRepository <>), typeof(MongoEntityRepository <>));

            services.AddSingleton <AuditRepository>();
            services.AddSingleton <PriorityRepository>();
            services.AddSingleton <RoleRepository>();
            services.AddSingleton <StatusRepository>();
            services.AddSingleton <TaskRepository>();
            services.AddSingleton <UserRepository>();
            services.AddSingleton <UserLoginRepository>();
        }
Пример #5
0
        private void CreateDatabase()
        {
            if (_database != null)
            {
                return;
            }

            // thread safe database creation
            lock (_databaseLock)
            {
                if (_database != null)
                {
                    return;
                }

                _database = string.IsNullOrEmpty(ConnectionString)
                    ? MongoFactory.GetDatabaseFromConnectionString("mongodb://localhost/Messaging")
                    : MongoFactory.GetDatabaseFromConnectionString(ConnectionString);
            }
        }
Пример #6
0
 public GridFsService(IOptions <MongoConnectionConfiguration> mongoConfiguration)
 {
     _mongoConfiguration = mongoConfiguration;
     _mongoDatabase      = MongoFactory.GetDatabaseFromConnectionString(_mongoConfiguration.Value.ConnectionString + "/" + _mongoConfiguration.Value.Database);
 }