private ConvertDataRequestHandler GetRequestHandler()
        {
            var convertDataConfig = new ConvertDataConfiguration
            {
                Enabled          = true,
                OperationTimeout = TimeSpan.FromSeconds(1),
            };

            convertDataConfig.ContainerRegistryServers.Add("test.azurecr.io");

            IOptions <ConvertDataConfiguration> convertDataConfiguration = Options.Create(convertDataConfig);

            IContainerRegistryTokenProvider tokenProvider = Substitute.For <IContainerRegistryTokenProvider>();

            tokenProvider.GetTokenAsync(Arg.Any <string>(), default).ReturnsForAnyArgs(string.Empty);

            ContainerRegistryTemplateProvider templateProvider = new ContainerRegistryTemplateProvider(tokenProvider, convertDataConfiguration, new NullLogger <ContainerRegistryTemplateProvider>());

            var convertDataEngine = new ConvertDataEngine(
                templateProvider,
                convertDataConfiguration,
                new NullLogger <ConvertDataEngine>());

            IAuthorizationService <DataActions> authorizationService = Substitute.For <IAuthorizationService <DataActions> >();

            authorizationService.CheckAccess(default, default).ReturnsForAnyArgs(DataActions.ConvertData);
Example #2
0
        private IConvertDataEngine GetDefaultEngine()
        {
            IOptions <ConvertDataConfiguration> convertDataConfiguration = Options.Create(_config);
            IContainerRegistryTokenProvider     tokenProvider            = Substitute.For <IContainerRegistryTokenProvider>();

            tokenProvider.GetTokenAsync(Arg.Any <string>(), default).ReturnsForAnyArgs(x => GetToken(x[0].ToString(), _config));

            ContainerRegistryTemplateProvider templateProvider = new ContainerRegistryTemplateProvider(tokenProvider, convertDataConfiguration, new NullLogger <ContainerRegistryTemplateProvider>());

            return(new ConvertDataEngine(
                       templateProvider,
                       convertDataConfiguration,
                       new NullLogger <ConvertDataEngine>()));
        }
        public ContainerRegistryTemplateProvider(
            IContainerRegistryTokenProvider containerRegistryTokenProvider,
            ILogger <ContainerRegistryTemplateProvider> logger)
        {
            _containerRegistryTokenProvider = containerRegistryTokenProvider;
            _logger = logger;

            var templateCollectionCache = new MemoryCache(new MemoryCacheOptions()
            {
                SizeLimit = 100000000
            });
            var config = new TemplateCollectionConfiguration();

            _templateCollectionProviderFactory = new TemplateCollectionProviderFactory(templateCollectionCache, Options.Create(config));
        }
        public ContainerRegistryTemplateProvider(
            IContainerRegistryTokenProvider containerRegistryTokenProvider,
            IOptions <ConvertDataConfiguration> convertDataConfig,
            ILogger <ContainerRegistryTemplateProvider> logger)
        {
            EnsureArg.IsNotNull(containerRegistryTokenProvider, nameof(containerRegistryTokenProvider));
            EnsureArg.IsNotNull(convertDataConfig, nameof(convertDataConfig));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _containerRegistryTokenProvider = containerRegistryTokenProvider;
            _convertDataConfig = convertDataConfig.Value;
            _logger            = logger;

            // Initialize cache and template collection provider factory
            _cache = new MemoryCache(new MemoryCacheOptions
            {
                SizeLimit = _convertDataConfig.CacheSizeLimit,
            });
            _templateCollectionProviderFactory = new TemplateCollectionProviderFactory(_cache, Options.Create(_convertDataConfig.TemplateCollectionOptions));
        }
Example #5
0
        private IConvertDataTemplateProvider GetDefaultTemplateProvider()
        {
            IContainerRegistryTokenProvider tokenProvider = Substitute.For <IContainerRegistryTokenProvider>();

            tokenProvider.GetTokenAsync(default, default).ReturnsForAnyArgs("Bearer faketoken");
        private IContainerRegistryTemplateProvider GetTestTemplateProvider(string accessToken)
        {
            IContainerRegistryTokenProvider tokenProvider = Substitute.For <IContainerRegistryTokenProvider>();

            tokenProvider.GetTokenAsync(default, default).ReturnsForAnyArgs($"Basic {accessToken}");