private HttpClient GetTestClient(IInstanceEventRepository instanceEventRepository)
            {
                // No setup required for these services. They are not in use by the InstanceEventController
                Mock <IApplicationRepository> applicationRepository = new Mock <IApplicationRepository>();
                Mock <IDataRepository>        dataRepository        = new Mock <IDataRepository>();
                Mock <IInstanceRepository>    instanceRepository    = new Mock <IInstanceRepository>();
                Mock <ISasTokenProvider>      sasTokenProvider      = new Mock <ISasTokenProvider>();
                Mock <IKeyVaultClientWrapper> keyVaultWrapper       = new Mock <IKeyVaultClientWrapper>();

                HttpClient client = _factory.WithWebHostBuilder(builder =>
                {
                    builder.ConfigureTestServices(services =>
                    {
                        services.AddSingleton(applicationRepository.Object);
                        services.AddSingleton(dataRepository.Object);
                        services.AddSingleton(instanceEventRepository);
                        services.AddSingleton(instanceRepository.Object);
                        services.AddSingleton(sasTokenProvider.Object);
                        services.AddSingleton(keyVaultWrapper.Object);
                        services.AddSingleton <IPDP, PepWithPDPAuthorizationMockSI>();
                        services.AddSingleton <IPostConfigureOptions <JwtCookieOptions>, JwtCookiePostConfigureOptionsStub>();
                    });
                }).CreateClient();

                return(client);
            }
示例#2
0
            private HttpClient GetTestClient(IInstanceRepository instanceRepository, IInstanceEventRepository instanceEventRepository = null)
            {
                Mock <IApplicationRepository> applicationRepository = new Mock <IApplicationRepository>();
                Application testApp1 = new Application()
                {
                    Id = "test/testApp1", Org = "test"
                };

                applicationRepository.Setup(s => s.FindOne(It.Is <string>(p => p.Equals("test/testApp1")), It.IsAny <string>())).ReturnsAsync(testApp1);

                // No setup required for these services. They are not in use by the InstanceController
                Mock <IDataRepository>        dataRepository   = new Mock <IDataRepository>();
                Mock <ISasTokenProvider>      sasTokenProvider = new Mock <ISasTokenProvider>();
                Mock <IKeyVaultClientWrapper> keyVaultWrapper  = new Mock <IKeyVaultClientWrapper>();

                instanceEventRepository ??= new Mock <IInstanceEventRepository>().Object;

                HttpClient client = _factory.WithWebHostBuilder(builder =>
                {
                    builder.ConfigureTestServices(services =>
                    {
                        services.AddSingleton(applicationRepository.Object);
                        services.AddSingleton(dataRepository.Object);
                        services.AddSingleton(instanceEventRepository);
                        services.AddSingleton(instanceRepository);
                        services.AddSingleton(sasTokenProvider.Object);
                        services.AddSingleton(keyVaultWrapper.Object);
                        services.AddSingleton <IPDP, PepWithPDPAuthorizationMockSI>();
                        services.AddSingleton <IPostConfigureOptions <JwtCookieOptions>, JwtCookiePostConfigureOptionsStub>();
                    });
                }).CreateClient();

                return(client);
            }
示例#3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MessageBoxInstancesController"/> class
 /// </summary>
 /// <param name="instanceRepository">the instance repository handler</param>
 /// <param name="instanceEventRepository">the instance event repository service</param>
 /// <param name="applicationRepository">the application repository handler</param>
 public MessageBoxInstancesController(
     IInstanceRepository instanceRepository,
     IInstanceEventRepository instanceEventRepository,
     IApplicationRepository applicationRepository)
 {
     _instanceRepository      = instanceRepository;
     _instanceEventRepository = instanceEventRepository;
     _applicationRepository   = applicationRepository;
 }
示例#4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InstancesController"/> class
 /// </summary>
 /// <param name="instanceRepository">the instance repository handler</param>
 /// <param name="instanceEventRepository">the instance event repository service</param>
 /// <param name="applicationRepository">the application repository handler</param>
 /// <param name="logger">the logger</param>
 public InstancesController(
     IInstanceRepository instanceRepository,
     IInstanceEventRepository instanceEventRepository,
     IApplicationRepository applicationRepository,
     ILogger <InstancesController> logger)
 {
     _instanceRepository      = instanceRepository;
     _instanceEventRepository = instanceEventRepository;
     _applicationRepository   = applicationRepository;
     _logger = logger;
 }
示例#5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MessageBoxInstancesController"/> class
 /// </summary>
 /// <param name="instanceRepository">the instance repository handler</param>
 /// <param name="instanceEventRepository">the instance event repository service</param>
 /// <param name="textRepository">the text repository handler</param>
 /// <param name="pdp">the policy decision point</param>
 /// <param name="logger">The logger to be used to perform logging from the controller.</param>
 public MessageBoxInstancesController(
     IInstanceRepository instanceRepository,
     IInstanceEventRepository instanceEventRepository,
     ITextRepository textRepository,
     IPDP pdp,
     ILogger <AuthorizationHelper> logger)
 {
     _instanceRepository      = instanceRepository;
     _instanceEventRepository = instanceEventRepository;
     _textRepository          = textRepository;
     _authorizationHelper     = new AuthorizationHelper(pdp, logger);
 }
示例#6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ProcessController"/> class
 /// </summary>
 /// <param name="instanceRepository">the instance repository handler</param>
 /// <param name="instanceEventRepository">the instance event repository service</param>
 /// <param name="pdp">the policy decision point.</param>
 /// <param name="generalsettings">the general settings</param>
 /// <param name="authzLogger">logger for authorization helper</param>
 public ProcessController(
     IInstanceRepository instanceRepository,
     IInstanceEventRepository instanceEventRepository,
     IPDP pdp,
     IOptions <GeneralSettings> generalsettings,
     ILogger <AuthorizationHelper> authzLogger)
 {
     _instanceRepository      = instanceRepository;
     _instanceEventRepository = instanceEventRepository;
     _storageBaseAndHost      = $"{generalsettings.Value.Hostname}/storage/api/v1/";
     _authorizationHelper     = new AuthorizationHelper(pdp, authzLogger);
 }
示例#7
0
            private HttpClient GetTestClient(IInstanceEventRepository instanceEventRepository)
            {
                // No setup required for these services. They are not in use by the ApplicationController
                Mock <IApplicationRepository> applicationRepository = new Mock <IApplicationRepository>();
                Mock <IDataRepository>        dataRepository        = new Mock <IDataRepository>();
                Mock <IInstanceRepository>    instanceRepository    = new Mock <IInstanceRepository>();
                Mock <ISasTokenProvider>      sasTokenProvider      = new Mock <ISasTokenProvider>();
                Mock <IKeyVaultClientWrapper> keyVaultWrapper       = new Mock <IKeyVaultClientWrapper>();

                instanceRepository.Setup(r => r.GetOne(It.IsAny <string>(), It.IsAny <int>())).ReturnsAsync(
                    new Instance
                {
                    Id            = InstanceId,
                    InstanceOwner = new InstanceOwner
                    {
                        PartyId = "5000"
                    },
                    Org     = "ttd",
                    AppId   = "ttd/testapp",
                    Process = new ProcessState
                    {
                        StartEvent  = "StartEvent_1",
                        Started     = DateTime.UtcNow.AddDays(-1),
                        CurrentTask = new ProcessElementInfo
                        {
                            Flow           = 2,
                            ElementId      = "Task_1",
                            AltinnTaskType = "data",
                            Name           = "Utfylling",
                            Started        = DateTime.UtcNow
                        }
                    }
                });
                instanceRepository.Setup(r => r.Update(It.IsAny <Instance>())).ReturnsAsync((Instance i) => { return(i); });

                HttpClient client = _factory.WithWebHostBuilder(builder =>
                {
                    builder.ConfigureTestServices(services =>
                    {
                        services.AddSingleton(applicationRepository.Object);
                        services.AddSingleton(dataRepository.Object);
                        services.AddSingleton(instanceEventRepository);
                        services.AddSingleton(instanceRepository.Object);
                        services.AddSingleton(sasTokenProvider.Object);
                        services.AddSingleton(keyVaultWrapper.Object);
                        services.AddSingleton <IPDP, PepWithPDPAuthorizationMockSI>();
                        services.AddSingleton <IPostConfigureOptions <JwtCookieOptions>, JwtCookiePostConfigureOptionsStub>();
                    });
                }).CreateClient();

                return(client);
            }
示例#8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DataController"/> class
 /// </summary>
 /// <param name="dataRepository">the data repository handler</param>
 /// <param name="instanceRepository">the indtance repository</param>
 /// <param name="applicationRepository">the application repository</param>
 /// <param name="instanceEventRepository">the instance event repository</param>
 /// <param name="logger">The logger</param>
 public DataController(
     IDataRepository dataRepository,
     IInstanceRepository instanceRepository,
     IApplicationRepository applicationRepository,
     IInstanceEventRepository instanceEventRepository,
     ILogger <DataController> logger)
 {
     _dataRepository              = dataRepository;
     _instanceRepository          = instanceRepository;
     _applicationRepository       = applicationRepository;
     this.instanceEventRepository = instanceEventRepository;
     _logger = logger;
 }
示例#9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DataController"/> class
 /// </summary>
 /// <param name="dataRepository">the data repository handler</param>
 /// <param name="instanceRepository">the indtance repository</param>
 /// <param name="applicationRepository">the application repository</param>
 /// <param name="instanceEventRepository">the instance event repository</param>
 /// <param name="generalsettings">the general settings.</param>
 /// <param name="logger">The logger</param>
 public DataController(
     IDataRepository dataRepository,
     IInstanceRepository instanceRepository,
     IApplicationRepository applicationRepository,
     IInstanceEventRepository instanceEventRepository,
     IOptions <GeneralSettings> generalsettings,
     ILogger <DataController> logger)
 {
     _dataRepository          = dataRepository;
     _instanceRepository      = instanceRepository;
     _applicationRepository   = applicationRepository;
     _instanceEventRepository = instanceEventRepository;
     _logger             = logger;
     _storageBaseAndHost = $"{generalsettings.Value.GetHostName}/storage/api/v1/";
 }
示例#10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InstancesController"/> class
 /// </summary>
 /// <param name="instanceRepository">the instance repository handler</param>
 /// <param name="instanceEventRepository">the instance event repository service</param>
 /// <param name="applicationRepository">the application repository handler</param>
 /// <param name="logger">the logger</param>
 /// <param name="pdp">the policy decision point.</param>
 /// <param name="settings">the general settings.</param>
 public InstancesController(
     IInstanceRepository instanceRepository,
     IInstanceEventRepository instanceEventRepository,
     IApplicationRepository applicationRepository,
     ILogger <InstancesController> logger,
     IPDP pdp,
     IOptions <GeneralSettings> settings)
 {
     _instanceRepository      = instanceRepository;
     _instanceEventRepository = instanceEventRepository;
     _applicationRepository   = applicationRepository;
     _pdp                = pdp;
     _logger             = logger;
     _storageBaseAndHost = $"{settings.Value.Hostname}/storage/api/v1/";
 }
示例#11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InstancesController"/> class
 /// </summary>
 /// <param name="instanceRepository">the instance repository handler</param>
 /// <param name="instanceEventRepository">the instance event repository service</param>
 /// <param name="applicationRepository">the application repository handler</param>
 /// <param name="partiesWithInstancesClient">An implementation of <see cref="IPartiesWithInstancesClient"/> that can be used to send information to SBL.</param>
 /// <param name="logger">the logger</param>
 /// <param name="authzLogger">the logger for the authorization helper</param>
 /// <param name="pdp">the policy decision point.</param>
 /// <param name="settings">the general settings.</param>
 public InstancesController(
     IInstanceRepository instanceRepository,
     IInstanceEventRepository instanceEventRepository,
     IApplicationRepository applicationRepository,
     IPartiesWithInstancesClient partiesWithInstancesClient,
     ILogger <InstancesController> logger,
     ILogger <AuthorizationHelper> authzLogger,
     IPDP pdp,
     IOptions <GeneralSettings> settings)
 {
     _instanceRepository         = instanceRepository;
     _instanceEventRepository    = instanceEventRepository;
     _applicationRepository      = applicationRepository;
     _partiesWithInstancesClient = partiesWithInstancesClient;
     _pdp                = pdp;
     _logger             = logger;
     _storageBaseAndHost = $"{settings.Value.Hostname}/storage/api/v1/";
     _authzHelper        = new AuthorizationHelper(pdp, authzLogger);
     _generalSettings    = settings.Value;
 }
示例#12
0
        private HttpClient GetTestClient(
            IInstanceRepository instanceRepository,
            IApplicationRepository applicationRepository,
            IInstanceEventRepository instanceEventRepository)
        {
            // No setup required for these services. They are not in use by the MessageBoxInstancesController
            Mock <IDataRepository> dataRepository = new Mock <IDataRepository>();

            HttpClient client = _factory.WithWebHostBuilder(builder =>
            {
                builder.ConfigureTestServices(services =>
                {
                    services.AddSingleton(dataRepository.Object);
                    services.AddSingleton(instanceRepository);
                    services.AddSingleton(applicationRepository);
                    services.AddSingleton(instanceEventRepository);
                });
            }).CreateClient();

            return(client);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="InstancesController"/> class
        /// </summary>
        /// <param name="instanceRepository">the instance repository handler</param>
        /// <param name="instanceEventRepository">the instance event repository service</param>
        /// <param name="applicationRepository">the application repository handler</param>
        /// <param name="dataRepository">the data repository handler</param>
        /// <param name="generalSettings">the platform settings which has the url to the registry</param>
        /// <param name="logger">the logger</param>
        /// <param name="bridgeClient">the client to call bridge service</param>
        public InstancesController(
            IInstanceRepository instanceRepository,
            IInstanceEventRepository instanceEventRepository,
            IApplicationRepository applicationRepository,
            IDataRepository dataRepository,
            IOptions <GeneralSettings> generalSettings,
            ILogger <InstancesController> logger,
            HttpClient bridgeClient)
        {
            _instanceRepository      = instanceRepository;
            _instanceEventRepository = instanceEventRepository;
            _applicationRepository   = applicationRepository;
            _dataRepository          = dataRepository;
            this.logger = logger;
            this.bridgeRegistryClient = bridgeClient;

            string bridgeUri = generalSettings.Value.GetBridgeRegisterApiEndpoint();

            if (bridgeUri != null)
            {
                this.bridgeRegistryClient.BaseAddress = new Uri(bridgeUri);
            }
        }
示例#14
0
        private HttpClient GetTestClient(
            IInstanceRepository instanceRepository,
            IApplicationRepository applicationRepository,
            IInstanceEventRepository instanceEventRepository)
        {
            // No setup required for these services. They are not in use by the MessageBoxInstancesController
            Mock <IDataRepository> dataRepository = new Mock <IDataRepository>();

            HttpClient client = _factory.WithWebHostBuilder(builder =>
            {
                builder.ConfigureTestServices(services =>
                {
                    services.AddSingleton(dataRepository.Object);
                    services.AddSingleton(instanceRepository);
                    services.AddSingleton(applicationRepository);
                    services.AddSingleton(instanceEventRepository);
                    services.AddSingleton <IPDP, PepWithPDPAuthorizationMockSI>();
                    services.AddSingleton <ISigningKeysRetriever, SigningKeysRetrieverStub>();
                    services.AddSingleton <IPostConfigureOptions <JwtCookieOptions>, JwtCookiePostConfigureOptionsStub>();
                });
            }).CreateClient();

            return(client);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="InstanceEventsController"/> class
 /// </summary>
 /// <param name="instanceEventRepository">the instance repository handler</param>
 public InstanceEventsController(IInstanceEventRepository instanceEventRepository)
 {
     _repository = instanceEventRepository;
 }