예제 #1
0
        public DoorAccessPolicyPolicyTests()
        {
            var obligationHandlerFactory = new TestObligationHandlerFactory();

            obligationHandler = (AuditObligationHandler)obligationHandlerFactory.Create();

            var serviceCollection = new ServiceCollection();

            logger = new TestingLogger();

            serviceCollection
            .AddLogging()
            .AddEnforcer(
                RootPolicyName, o =>
            {
                o.Licensee   = Licensee;
                o.LicenseKey = LicenseKey;
                o.PolicyInformationPointFailureBehavior = PolicyInformationPointFailureBehavior.Continue;
                o.OmitStandardPIPs = true;
            })
            .AddLoggerFactory(logger)
            .AddPolicyEnforcementPoint(o => o.Bias = PepBias.Deny)
            .AddEmbeddedPolicyStore(this.GetType().Assembly, EmbeddedPolicyRoot)
            .AddOutcomeActionHandlerFactory(obligationHandlerFactory);

            serviceProvider = serviceCollection.BuildServiceProvider();
        }
예제 #2
0
        public async Task StopSystem()
        {
            TestingLogger logger = new TestingLogger();

            if (this.ScenarioContext.TestError != null)
            {
                List <IContainerService> containers = this.TestingContext.DockerHelper.Containers.Where(c => c.Name == this.TestingContext.DockerHelper.EstateManagementContainerName).ToList();

                // The test has failed, grab the logs from all the containers
                foreach (IContainerService containerService in containers)
                {
                    ConsoleStream <String> logStream = containerService.Logs();
                    IList <String>         logData   = logStream.ReadToEnd();

                    foreach (String s in logData)
                    {
                        logger.LogInformation(s);
                    }
                }
            }

            String scenarioName = this.ScenarioContext.ScenarioInfo.Title.Replace(" ", "");

            logger.LogInformation($"About to Stop Containers for Scenario Run - {scenarioName}");
            await this.TestingContext.DockerHelper.StopContainersForScenarioRun().ConfigureAwait(false);

            logger.LogInformation($"Containers for Scenario Run Stopped  - {scenarioName}");
        }
예제 #3
0
        public async Task StartSystem()
        {
            // Initialise a logger
            String        scenarioName = this.ScenarioContext.ScenarioInfo.Title.Replace(" ", "");
            TestingLogger logger       = new TestingLogger();

            this.TestingContext.DockerHelper = new TransactionMobileDockerHelper(logger, this.TestingContext);
            logger.LogInformation($"About to Start Containers for Scenario Run - {scenarioName}");
            await this.TestingContext.DockerHelper.StartContainersForScenarioRun(scenarioName).ConfigureAwait(false);

            logger.LogInformation($"Containers for Scenario Run Started  - {scenarioName}");
        }
예제 #4
0
        protected static void GlobalSetup()
        {
            ShouldlyConfiguration.DefaultTaskTimeout = TimeSpan.FromMinutes(1);

            (String, String, String)dockerCredentials = ("https://www.docker.com", "stuartferguson", "Sc0tland");

            // Setup a network for the DB Server
            Setup.DatabaseServerNetwork = TransactionMobileDockerHelper.SetupTestNetwork("sharednetwork", true);

            TestingLogger logger = new TestingLogger();

            // Start the Database Server here
            DatabaseServerContainer = TransactionMobileDockerHelper.StartSqlContainerWithOpenConnection(Setup.SqlServerContainerName,
                                                                                                        logger,
                                                                                                        "justin2004/mssql_server_tiny",
                                                                                                        Setup.DatabaseServerNetwork,
                                                                                                        "",
                                                                                                        dockerCredentials,
                                                                                                        Setup.SqlUserName,
                                                                                                        Setup.SqlPassword);
        }