示例#1
0
        public BaseTest()
        {
            if (Database == null)
            {
                var    connectionString            = "Host=127.0.0.1;Database=observatory;Username=postgres;Password=password";
                string environmentConnectionString = Environment.GetEnvironmentVariable("SECUREGOV_TEST_DATABASE");
                string hostName = Environment.GetEnvironmentVariable("SECUREGOV_TEST_DATABASE_HOSTNAME");

                if (!string.IsNullOrEmpty(environmentConnectionString))
                {
                    connectionString = environmentConnectionString;
                }
                else if (!string.IsNullOrEmpty(hostName))
                {
                    string database = Environment.GetEnvironmentVariable("SECUREGOV_TEST_DATABASE_NAME");
                    string username = Environment.GetEnvironmentVariable("SECUREGOV_TEST_DATABASE_USERNAME");
                    string password = Environment.GetEnvironmentVariable("SECUREGOV_TEST_DATABASE_PASSWORD");
                    connectionString = $"Host={hostName};Database={database};Username={username};Password={password}";
                }

                Database = new ObservatoryContext()
                {
                    Settings = new Settings()
                    {
                        ConnectionString = connectionString
                    }
                };
            }
        }
示例#2
0
        public void Dispose()
        {
            if (Database == null)
            {
                Database = new ObservatoryContext();
            }
            while (_commands.Count > 0)
            {
                ICommand command = _commands.Dequeue();
                if (command is EntityCommand <Websites> website)
                {
                    CommandHandler <Websites> .Handle(Database.Websites, website);
                }
                else if (command is EntityCommand <Scans> scan)
                {
                    CommandHandler <Scans> .Handle(Database.Scans, scan);
                }
                else if (command is EntityCommand <Analysis> analysis)
                {
                    CommandHandler <Analysis> .Handle(Database.Analysis, analysis);
                }
                else if (command is EntityCommand <Certificates> certificate)
                {
                    CommandHandler <Certificates> .Handle(Database.Certificates, certificate);
                }
                else if (command is EntityCommand <Trust> trust)
                {
                    CommandHandler <Trust> .Handle(Database.Trust, trust);
                }
                else if (command is EntityCommand <WebsiteCategories> websiteCategory)
                {
                    CommandHandler <WebsiteCategories> .Handle(Database.WebsiteCategories, websiteCategory);
                }
                else
                {
                    throw new NotImplementedException();
                }
            }

            Database.SaveChanges();
            _commands.Clear();
        }
示例#3
0
 public DatabaseFactory(ObservatoryContext context)
 {
     _database = new Lazy <ObservatoryContext>(() => { return(context); });
 }
示例#4
0
 public UnitOfWork(ObservatoryContext observatoryContext)
 {
     Database = observatoryContext;
 }