Ejemplo n.º 1
0
 public CalingaService(ICachingService cachingService, IConsumerHttpClient consumerHttpClient, CalingaServiceSettings settings)
 {
     ValidateSettings(settings);
     _cachingService     = cachingService;
     _consumerHttpClient = consumerHttpClient;
     _settings           = settings;
 }
Ejemplo n.º 2
0
 private void ValidateSettings(CalingaServiceSettings setting)
 {
     Guard.IsNotNull(setting, nameof(setting));
     Guard.IsNotNullOrWhiteSpace(setting.Project);
     Guard.IsNotNullOrWhiteSpace(setting.Tenant);
     Guard.IsNotNullOrWhiteSpace(setting.CacheDirectory);
 }
Ejemplo n.º 3
0
 private static void ValidateSettings(CalingaServiceSettings setting)
 {
     Guard.IsNotNull(setting, nameof(setting));
     Guard.IsNotNullOrWhiteSpace(setting.Project);
     Guard.IsNotNullOrWhiteSpace(setting.Organization);
     Guard.IsNotNullOrWhiteSpace(setting.CacheDirectory);
 }
 public InMemoryCachingService(IDateTimeService timeService, CalingaServiceSettings settings)
 {
     _dateTimeService = timeService;
     _memoryCacheExpirationIntervalInSeconds = settings.MemoryCacheExpirationIntervalInSeconds;
     _expirationDate     = GetExpirationDate(_memoryCacheExpirationIntervalInSeconds);
     _withExpirationDate = _expirationDate != DateTime.MaxValue;
     _translations       = new Dictionary <string, IReadOnlyDictionary <string, string> >();
 }
        public void Init()
        {
            _testCalingaServiceSettings = CreateSettings();
            _cachingService             = new Mock <ICachingService>();
            _consumerHttpClient         = new Mock <IConsumerHttpClient>();
            _cachingService.Setup(x => x.GetTranslations(TestData.Language_DE, _testCalingaServiceSettings.IncludeDrafts)).Returns(Task.FromResult(TestData.Cache_Translations_De));
            _cachingService.Setup(x => x.GetTranslations(TestData.Language_EN, _testCalingaServiceSettings.IncludeDrafts)).Returns(Task.FromResult(TestData.Cache_Translations_En));

            _consumerHttpClient.Setup(x => x.GetLanguagesAsync()).Returns(Task.FromResult(TestData.Languages));
        }
Ejemplo n.º 6
0
        public TestContext()
        {
            Settings = new CalingaServiceSettings
            {
                CacheDirectory = AppDomain.CurrentDomain.BaseDirectory ?? string.Empty,
                Organization   = Guid.NewGuid().ToString(),
                Team           = Guid.NewGuid().ToString(),
                Project        = Guid.NewGuid().ToString()
            };

            _repositories.Add("Calinga", new TranslationsRepository());
            _repositories.Add("Cache", new TranslationsRepository());
        }
Ejemplo n.º 7
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();

            services.AddSingleton <ICalingaService>(ctx =>
            {
                var settings = new CalingaServiceSettings();
                Configuration.GetSection(nameof(CalingaServiceSettings)).Bind(settings);
                return(new CalingaService(settings));
            });

            services.AddSwaggerGen(c => c.SwaggerDoc("v1", new OpenApiInfo {
                Title = "Sample App", Version = "v1"
            }));
        }
Ejemplo n.º 8
0
 public CalingaService(ICachingService cachingService, CalingaServiceSettings settings)
     : this(cachingService, new ConsumerHttpClient(settings), settings)
 {
 }
Ejemplo n.º 9
0
 public CalingaService(CalingaServiceSettings settings, HttpClient httpClient)
     : this(new CascadedCachingService(new InMemoryCachingService(new DateTimeService(), settings), new FileCachingService(settings)), new ConsumerHttpClient(settings, httpClient), settings)
 {
 }
Ejemplo n.º 10
0
 public FileCachingService(CalingaServiceSettings settings)
 {
     _filePath = Path.Combine(settings.CacheDirectory, settings.Organization, settings.Team, settings.Project);
     _settings = settings;
 }
Ejemplo n.º 11
0
 public CalingaService(CalingaServiceSettings settings)
     : this(new CachingService(new ConsumerHttpClient(settings), new FileService(settings)), settings)
 {
     ValidateSettings(settings);
 }
Ejemplo n.º 12
0
 public CalingaService(ICachingService cachingService, CalingaServiceSettings settings)
 {
     ValidateSettings(settings);
     _cachingService = cachingService;
 }