Пример #1
0
 public ClientAppRepo(
     IUsersContextFactory contextFactory,
     IConfigValueProvider configValueProvider)
 {
     _contextFactory      = Preconditions.ThrowIfNull(contextFactory, nameof(contextFactory));
     _configValueProvider = Preconditions.ThrowIfNull(configValueProvider, nameof(configValueProvider));
 }
Пример #2
0
 public OpenApiMetadataFeature(
     IConfigValueProvider configValueProvider,
     IApiConfigurationProvider apiConfigurationProvider)
     : base(configValueProvider, apiConfigurationProvider)
 {
     _apiConfigurationProvider = apiConfigurationProvider;
 }
 public FileSystemBasedImagePathProvider(
         IConfigValueProvider configValueProvider,
         ILocalEducationAgencyContextProvider localEducationAgencyContextProvider)
 {
     this.configValueProvider = configValueProvider;
     this.localEducationAgencyContextProvider = localEducationAgencyContextProvider;
 }
Пример #4
0
            protected override void Arrange()
            {
                _configValueProvider = A.Fake <IConfigValueProvider>();
                A.CallTo(() => _configValueProvider.GetValue(A <string> ._)).Returns("5");

                _clientAppRepo = A.Fake <IClientAppRepo>();

                _defaultApplicationCreator = A.Fake <IDefaultApplicationCreator>();

                _sandboxProvisioner = A.Fake <ISandboxProvisioner>();

                _clientCreator = new ClientCreator(_configValueProvider, _clientAppRepo, _defaultApplicationCreator, _sandboxProvisioner);

                _user = A.Fake <User>();

                A.CallTo(() => _user.ApiClients).Returns(
                    new List <ApiClient>
                {
                    A.Fake <ApiClient>(),
                    A.Fake <ApiClient>(),
                    A.Fake <ApiClient>(),
                    A.Fake <ApiClient>(),
                    A.Fake <ApiClient>()
                });
            }
Пример #5
0
 public ExtensionsFeature(
     IConfigValueProvider configValueProvider,
     IApiConfigurationProvider apiConfigurationProvider,
     IAssembliesProvider assembliesProvider)
     : base(configValueProvider, apiConfigurationProvider)
 {
     _assembliesProvider = Preconditions.ThrowIfNull(assembliesProvider, nameof(assembliesProvider));
 }
Пример #6
0
        public SecurityInstaller(IAssembliesProvider assembliesProvider, IConfigValueProvider configValueProvider)
        {
            _assembliesProvider  = Preconditions.ThrowIfNull(assembliesProvider, nameof(assembliesProvider));
            _configValueProvider = Preconditions.ThrowIfNull(configValueProvider, nameof(configValueProvider));

            // force security to be loaded
            AssemblyLoader.EnsureLoaded <Marker_EdFi_Ods_Standard>();
        }
        /// <summary>
        /// Initializes a new instance of <see cref="ConfigurationBasedFeatureBase"/>
        /// </summary>
        /// <param name="configValueProvider">
        /// An instance of <see cref="IConfigValueProvider"/>, which is used to determine if the feature is enabled.
        /// </param>
        /// <param name="apiConfigurationProvider">An instance of a service providing API configuration details.</param>
        protected ConfigurationBasedFeatureBase(
            IConfigValueProvider configValueProvider,
            IApiConfigurationProvider apiConfigurationProvider)
            : base(configValueProvider, apiConfigurationProvider)
        {
            _configValueProvider = Preconditions.ThrowIfNull(configValueProvider, nameof(configValueProvider));

            Preconditions.ThrowIfNull(apiConfigurationProvider, nameof(apiConfigurationProvider));
        }
Пример #8
0
 public DefaultApplicationCreator(
     IUsersContextFactory usersContextFactory,
     ITemplateDatabaseLeaQuery templateDatabaseLeaQuery,
     IConfigValueProvider configValueProvider)
 {
     _usersContextFactory      = Preconditions.ThrowIfNull(usersContextFactory, nameof(usersContextFactory));
     _templateDatabaseLeaQuery = Preconditions.ThrowIfNull(templateDatabaseLeaQuery, nameof(templateDatabaseLeaQuery));
     _configValueProvider      = Preconditions.ThrowIfNull(configValueProvider, nameof(configValueProvider));
 }
            protected override void Arrange()
            {
                _configValueProvider             = A.Fake <IConfigValueProvider>();
                _configConnectionStringsProvider = A.Fake <IConfigConnectionStringsProvider>();
                _databaseEngineProvider          = A.Fake <IDatabaseEngineProvider>();

                A.CallTo(() => _configValueProvider.GetValue(ApiConfigurationConstants.ApiStartupType))
                .Returns("unknown");
            }
Пример #10
0
        public ApiConfigurationProvider(
            IConfigValueProvider configValueProvider,
            IDatabaseEngineProvider databaseEngineProvider)
        {
            _configValueProvider    = Preconditions.ThrowIfNull(configValueProvider, nameof(configValueProvider));
            _databaseEngineProvider = Preconditions.ThrowIfNull(databaseEngineProvider, nameof(databaseEngineProvider));

            ParseApiMode();
        }
        public OpenApiMetadataController(IOpenApiMetadataCacheProvider openApiMetadataCacheProvider,
                                         IConfigValueProvider configValueProvider)
        {
            _openApiMetadataCacheProvider = openApiMetadataCacheProvider;
            bool tempConfigValue;

            _useProxyHeaders = bool.TryParse(
                configValueProvider.GetValue(UseReverseProxyHeadersConfigKey),
                out tempConfigValue) && tempConfigValue;
        }
Пример #12
0
 public SiteAvailableProvider(IRepository<LocalEducationAgencyAdministration> repository, 
     ICacheProvider cacheProvider, IConfigValueProvider configValueProvider, 
     ICurrentUserClaimInterrogator currentUserClaimInterrogator,
     ICacheKeyGenerator cacheKeyGenerator)
 {
     this.repository = repository;
     this.cacheProvider = cacheProvider;
     this.configValueProvider = configValueProvider;
     this.currentUserClaimInterrogator = currentUserClaimInterrogator;
     this.cacheKeyGenerator = cacheKeyGenerator;
 }
        protected SandboxProvisionerBase(IConfigValueProvider configValueProvider,
                                         IConfigConnectionStringsProvider connectionStringsProvider, IDatabaseNameBuilder databaseNameBuilder)
        {
            _configValueProvider       = configValueProvider;
            _connectionStringsProvider = connectionStringsProvider;
            _databaseNameBuilder       = databaseNameBuilder;

            CommandTimeout = int.TryParse(_configValueProvider.GetValue("SandboxAdminSQLCommandTimeout"), out int timeout)
                ? timeout
                : 30;

            ConnectionString = _connectionStringsProvider.GetConnectionString("EdFi_master");
        }
Пример #14
0
        public ClientCreator(
            IConfigValueProvider configValueProvider,
            IClientAppRepo clientAppRepo,
            IDefaultApplicationCreator defaultApplicationCreator,
            ISandboxProvisioner sandboxProvisioner)
        {
            _sandboxProvisioner      = sandboxProvisioner;
            _configValueProvider     = Preconditions.ThrowIfNull(configValueProvider, nameof(configValueProvider));
            _maximumSandboxesPerUser = GetMaximumSandboxesPerUserOrDefault();

            _clientAppRepo             = Preconditions.ThrowIfNull(clientAppRepo, nameof(clientAppRepo));
            _defaultApplicationCreator = Preconditions.ThrowIfNull(defaultApplicationCreator, nameof(defaultApplicationCreator));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="CachingOAuthTokenValidatorDecorator"/> class.
        /// </summary>
        /// <param name="next">The decorated implementation.</param>
        /// <param name="cacheProvider">The cache provider.</param>
        /// <param name="configValueProvider">The configuration value provider.</param>
        public CachingOAuthTokenValidatorDecorator(
            IOAuthTokenValidator next,
            ICacheProvider cacheProvider,
            IConfigValueProvider configValueProvider)
        {
            _next          = next;
            _cacheProvider = cacheProvider;

            // Lazy initialization
            _bearerTokenTimeoutMinutes = new Lazy <int>(
                () =>
                Convert.ToInt32(configValueProvider.GetValue(ConfigBearerTokenTimeoutMinutes) ?? "30"));
        }
Пример #16
0
        public CoreApiInstaller(IAssembliesProvider assembliesProvider, IApiConfigurationProvider apiConfigurationProvider, IConfigValueProvider configValueProvider)
        {
            Preconditions.ThrowIfNull(assembliesProvider, nameof(assembliesProvider));
            _apiConfigurationProvider = Preconditions.ThrowIfNull(apiConfigurationProvider, nameof(apiConfigurationProvider));
            _configValueProvider      = Preconditions.ThrowIfNull(configValueProvider, nameof(configValueProvider));

            var installedAssemblies = assembliesProvider.GetAssemblies().ToList();

            _standardAssembly = installedAssemblies.SingleOrDefault(x => x.IsStandardAssembly());

            // TODO JSM - remove the calls using this once we move to the api assembly in ODS-2152. This makes it easy to find the specific locations in the file for now
            _apiAssembly = installedAssemblies.SingleOrDefault(x => x.GetName().Name.Equals("EdFi.Ods.Api"));
        }
        public OAuthAuthenticationProvider(
            IOAuthTokenValidator oauthTokenValidator,
            IApiKeyContextProvider apiKeyContextProvider,
            IClaimsIdentityProvider claimsIdentityProvider,
            IConfigValueProvider configValueProvider)
        {
            OAuthTokenValidator    = oauthTokenValidator;
            ApiKeyContextProvider  = apiKeyContextProvider;
            ClaimsIdentityProvider = claimsIdentityProvider;

            _expectedUseSandboxValue = new Lazy <bool?>(
                () => configValueProvider.GetValue(ExpectedUseSandboxValue) == null
                    ? (bool?)null
                    : Convert.ToBoolean(configValueProvider.GetValue(ExpectedUseSandboxValue)));
        }
            protected override void Arrange()
            {
                _configValueProvider             = A.Fake <IConfigValueProvider>();
                _configConnectionStringsProvider = A.Fake <IConfigConnectionStringsProvider>();
                _databaseEngineProvider          = A.Fake <IDatabaseEngineProvider>();

                A.CallTo(() => _configValueProvider.GetValue(ApiConfigurationConstants.ApiStartupType))
                .Returns(ApiConfigurationConstants.YearSpecific);

                A.CallTo(() => _configConnectionStringsProvider.ConnectionStringProviderByName)
                .Returns(new Dictionary <string, string> {
                    { "db", ApiConfigurationConstants.SqlServerProviderName }
                });

                _systemUnderTest = new ApiConfigurationProvider(_configValueProvider, _databaseEngineProvider);
            }
 public CompositeResourceResponseProvider(
     ISessionFactory sessionFactory,
     IConfigValueProvider configValueProvider,
     ICompositeDefinitionProcessor <HqlBuilderContext, CompositeQuery> compositeDefinitionProcessor,
     IResourceModelProvider resourceModelProvider,
     IPersonUniqueIdToUsiCache personUniqueIdToUsiCache,
     IFieldsExpressionParser fieldsExpressionParser,
     IProfileResourceModelProvider profileResourceModelProvider)
 {
     _sessionFactory = sessionFactory;
     _compositeDefinitionProcessor = compositeDefinitionProcessor;
     _resourceModelProvider        = resourceModelProvider;
     _personUniqueIdToUsiCache     = personUniqueIdToUsiCache;
     _fieldsExpressionParser       = fieldsExpressionParser;
     _profileResourceModelProvider = profileResourceModelProvider;
 }
Пример #20
0
        private (IConfigValueProvider, string) SelectConfigValueProvider(KeyResolveContext context, string path)
        {
            // will be set once a valid provider is found
            IConfigValueProvider provider = null;
            var modifiedPath = path;

            var providerTypeAssociations = new Dictionary <string, ConfigValueProviderType>
            {
                { "$secret", ConfigValueProviderType.SecretStore },
                { "$struct", ConfigValueProviderType.StructVariables }
            };

            var fallbackProviderType = ConfigValueProviderType.Environment;

            // try to get the correct provider by inspecting the start of the path
            // $secret should be evaluated to the registered SecretStore by its type
            foreach (var(typeHandle, type) in providerTypeAssociations)
            {
                // if we need a specific provider but it isn't registered for this key => that's a problem
                if (path.StartsWith(typeHandle, StringComparison.OrdinalIgnoreCase))
                {
                    if (_valueProviders.TryGetValue(type, out provider))
                    {
                        // remove $stuff/ from the beginning of path
                        modifiedPath = path.Substring(typeHandle.Length)
                                       .TrimStart('/');
                    }
                    else
                    {
                        _logger.LogWarning(WithContext(context, $"no provider registered for type '{type}'"));
                        return(null, null);
                    }
                }
            }

            // if no fallbackprovider can be resolved it's another - more serious - problem
            if (provider is null && !_valueProviders.TryGetValue(fallbackProviderType, out provider))
            {
                _logger.LogError(WithContext(context, "no default-provider found"));
                return(null, null);
            }

            return(provider, modifiedPath);
        }
Пример #21
0
        public CacheInterceptor(ICacheProvider[] cacheProviders, ICacheKeyGenerator cacheKeyGenerator, 
            IConfigValueProvider configValueProvider, IServiceLocator serviceLocator, ISerializer serializer)
        {
            this.cacheProviders = cacheProviders;
            this.cacheKeyGenerator = cacheKeyGenerator;
            this.serviceLocator = serviceLocator;
            this.serializer = serializer;

            cacheExpiryMinutes = Convert.ToInt32(configValueProvider.GetValue("CacheInterceptor.SlidingExpiration"));

            //The first cache provider is the default.
            defaultCacheProvider = cacheProviders.First();

            // Default to 5 minutes sliding expiration
            if (cacheExpiryMinutes == 0)
                cacheExpiryMinutes = 5;

            cacheEnabled = Convert.ToBoolean(configValueProvider.GetValue("CacheInterceptor.Enabled"));
        }
Пример #22
0
            protected override void Arrange()
            {
                // Initialize dependencies

                // Create details for an invalid token (no API key assigned)
                _suppliedInvalidClientDetails = new ApiClientDetails();

                _decoratedValidator = Stub <IOAuthTokenValidator>();

                _decoratedValidator
                .Stub(x => x.GetClientDetailsForTokenAsync(_suppliedInvalidApiToken))
                .Return(Task.FromResult(_suppliedInvalidClientDetails));

                _cacheProvider = Stub <ICacheProvider>();

                // Mock config file to return duration
                _configValueProvider = Stub <IConfigValueProvider>();

                _configValueProvider.Stub(x => x.GetValue(Arg <string> .Is.Anything))
                .Return(_suppliedDurationMinutes.ToString());
            }
Пример #23
0
        public static void Initialize(
            IOAuthTokenValidator oAuthTokenValidator       = null,
            IApiKeyContextProvider apiKeyContextProvider   = null,
            IClaimsIdentityProvider claimsIdentityProvider = null,
            IConfigValueProvider configValueProvider       = null)
        {
            _container = new WindsorContainerEx();

            //arrange
            var tokenValidator   = oAuthTokenValidator ?? MockRepository.GenerateStub <IOAuthTokenValidator>();
            var contextProvider  = apiKeyContextProvider ?? MockRepository.GenerateStub <IApiKeyContextProvider>();
            var identityProvider = claimsIdentityProvider ?? MockRepository.GenerateStub <IClaimsIdentityProvider>();
            var configProvider   = configValueProvider ?? MockRepository.GenerateStub <IConfigValueProvider>();

            _container.Register(
                Component.For <IOAuthTokenValidator>()
                .Instance(tokenValidator));

            _container.Register(
                Component.For <IApiKeyContextProvider>()
                .Instance(contextProvider));

            _container.Register(
                Component.For <IClaimsIdentityProvider>()
                .Instance(identityProvider));

            _container.Register(
                Component.For <IConfigValueProvider>()
                .Instance(configProvider));

            _container.Register(
                Component.For <IAuthenticationProvider>()
                .ImplementedBy <OAuthAuthenticationProvider>());

            // Web API Dependency Injection
            _container.Register(
                Component.For <IDependencyResolver>()
                .Instance(new WindsorDependencyResolver(_container)));
        }
Пример #24
0
        public ApplicationSettingHashConfigurationProvider(IConfigValueProvider appConfigProvider, ISecureHasher[] secureHashers)
        {
            Func <string, string> getValue = appConfigProvider.GetValue;

            Func <string, int> getIntValue = key =>
            {
                var value = getValue(key);

                if (value == null)
                {
                    throw new Exception($"Configuration for value '{key}' has invalid value.");
                }

                int intValue;

                if (!int.TryParse(value, out intValue))
                {
                    throw new Exception($"Configuration for value '{key}' has invalid value of '{value}'.");
                }

                return(intValue);
            };

            var algorithm = getValue("Password.Algorithm");

            if (!secureHashers.Any(x => x.Algorithm.Equals(algorithm)))
            {
                throw new Exception($"Hashing algorithm ({algorithm}) was not found in a configured secure hasher.");
            }

            _hashConfiguration = new HashConfiguration
            {
                Algorithm = algorithm, Iterations = getIntValue("Password.Iterations"),
                SaltSize  = getIntValue("Password.SaltSize")
            };
        }
Пример #25
0
            protected override void Arrange()
            {
                AssemblyLoader.EnsureLoaded <Marker_EdFi_Ods_Test_TestExtension>();

                _registrarStub = mocks.DynamicMock <IEntityExtensionRegistrar>();

                _assembliesProviderStub = Stub <IAssembliesProvider>();

                _assembliesProviderStub.Stub(x => x.GetAssemblies())
                .Return(
                    new Assembly[]
                {
                    new FakeExtensionAssembly(typeof(Marker_EdFi_Ods_Test_TestExtension))
                });

                _container = new WindsorContainer();

                _domainModelProvider = new DomainModelProvider(
                    new IDomainModelDefinitionsProvider[]
                {
                    new EdFiDomainModelDefinitionsProvider(), new DomainModelDefinitionsProvider()
                });

                _container.Register(
                    Component.For <IDomainModelProvider>()
                    .Instance(_domainModelProvider));

                _configValueStub = Stub <IConfigValueProvider>();

                _configValueStub.Stub(x => x.GetValue(ExcludedExtensionSources))
                .Return(default(string));

                _container.Register(
                    Component.For <IConfigValueProvider>()
                    .Instance(_configValueStub));
            }
Пример #26
0
            protected override void Arrange()
            {
                // Initialize dependencies
                _suppliedCachedClientDetails = new ApiClientDetails();

                _decoratedValidator = Stub <IOAuthTokenValidator>();

                // Fake the cache to return the details
                _cacheProvider = Stub <ICacheProvider>();

                _cacheProvider.Stub(
                    x =>
                    x.TryGetCachedObject(
                        Arg <string> .Is.Anything,
                        out Arg <object> .Out(_suppliedCachedClientDetails)
                        .Dummy))
                .Return(true);

                // Mock config file to return duration
                _configValueProvider = Stub <IConfigValueProvider>();

                _configValueProvider.Stub(x => x.GetValue(Arg <string> .Is.Anything))
                .Return(_suppliedDurationMinutes.ToString());
            }
 public NameValueCollectionConfigValueProvider(IConfigValueProvider next)
 {
     _next = next;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="InversionOfControlContainerFactory"/> class with the specified
 /// configuration section and value providers, as well as the assembly to scan for additional installers.
 /// </summary>
 /// <param name="configSectionProvider">A provider that enables access to configuration sections.</param>
 /// <param name="configValueProvider">A provider that enables access to configuration values in the 'appSettings' section.</param>
 public InversionOfControlContainerFactory(IConfigSectionProvider configSectionProvider, IConfigValueProvider configValueProvider)
 {
     this.configSectionProvider = configSectionProvider;
     this.configValueProvider   = configValueProvider;
 }
Пример #29
0
 public OwnershipBasedAuthorizationFeature(IConfigValueProvider configValueProvider,
                                           IApiConfigurationProvider apiConfigurationProvider)
     : base(configValueProvider, apiConfigurationProvider)
 {
 }
 public ConfigService(ILogger logger, IConfigValueProvider valueProvider)
 {
     _logger        = logger;
     _valueProvider = valueProvider;
 }
Пример #31
0
 public ClassroomViewProvider(ICacheProvider cacheProvider, IRepository<LocalEducationAgencyAdministration> administrationRepository, IConfigValueProvider configValueProvider)
 {
     _cacheProvider = cacheProvider;
     _administrationRepository = administrationRepository;
     _configValueProvider = configValueProvider;
 }
Пример #32
0
 public FakeConditionalFeature(
     IConfigValueProvider configValueProvider,
     IApiConfigurationProvider apiConfigurationProvider)
     : base(configValueProvider, apiConfigurationProvider)
 {
 }
 public WarehouseAvailabilityProvider(IRepository<LocalEducationAgencyMetricInstance> testWarehouseRepository, IConfigValueProvider configValueProvider)
 {
     this.testWarehouseRepository = testWarehouseRepository;
     this.configValueProvider = configValueProvider;
 }
Пример #34
0
 public UniqueIdIntegrationFeature(IConfigValueProvider configValueProvider,
                                   IApiConfigurationProvider apiConfigurationProvider)
     : base(configValueProvider, apiConfigurationProvider)
 {
 }
Пример #35
0
 /// <summary>
 /// Initializes a new instance of <see cref="CompositesFeature"/>
 /// </summary>
 /// <param name="configValueProvider">
 /// An instance of <see cref="IConfigValueProvider"/>, which is used to determine if the feature is enabled.
 /// </param>
 /// <param name="apiConfigurationProvider">An instance of a service providing API configuration details.</param>
 public CompositesFeature(IConfigValueProvider configValueProvider, IApiConfigurationProvider apiConfigurationProvider)
     : base(configValueProvider, apiConfigurationProvider)
 {
 }
 public InversionOfControlContainerFactory(IConfigSectionProvider configSectionProvider, IConfigValueProvider configValueProvider)
 {
     this.configSectionProvider = configSectionProvider;
     this.configValueProvider = configValueProvider;
 }