public CalingaService(ICachingService cachingService, IConsumerHttpClient consumerHttpClient, CalingaServiceSettings settings) { ValidateSettings(settings); _cachingService = cachingService; _consumerHttpClient = consumerHttpClient; _settings = settings; }
private void ValidateSettings(CalingaServiceSettings setting) { Guard.IsNotNull(setting, nameof(setting)); Guard.IsNotNullOrWhiteSpace(setting.Project); Guard.IsNotNullOrWhiteSpace(setting.Tenant); Guard.IsNotNullOrWhiteSpace(setting.CacheDirectory); }
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)); }
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()); }
// 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" })); }
public CalingaService(ICachingService cachingService, CalingaServiceSettings settings) : this(cachingService, new ConsumerHttpClient(settings), settings) { }
public CalingaService(CalingaServiceSettings settings, HttpClient httpClient) : this(new CascadedCachingService(new InMemoryCachingService(new DateTimeService(), settings), new FileCachingService(settings)), new ConsumerHttpClient(settings, httpClient), settings) { }
public FileCachingService(CalingaServiceSettings settings) { _filePath = Path.Combine(settings.CacheDirectory, settings.Organization, settings.Team, settings.Project); _settings = settings; }
public CalingaService(CalingaServiceSettings settings) : this(new CachingService(new ConsumerHttpClient(settings), new FileService(settings)), settings) { ValidateSettings(settings); }
public CalingaService(ICachingService cachingService, CalingaServiceSettings settings) { ValidateSettings(settings); _cachingService = cachingService; }