public void DbResourceManagerBasic() { var res = new DbResourceManager("Resources"); Console.WriteLine(JsonConvert.SerializeObject(res.Configuration, Formatting.Indented)); string german = res.GetObject("Today", new CultureInfo("de-de")) as string; Assert.IsNotNull(german); Assert.AreEqual(german, "Heute"); string english = res.GetObject("Today", new CultureInfo("en-us")) as string; Assert.IsNotNull(english); Assert.IsTrue(english.StartsWith("Today")); // should fallback to invariant/english string unknown = res.GetObject("Today", new CultureInfo("es-mx")) as string; Assert.IsNotNull(unknown); Assert.IsTrue(unknown.StartsWith("Today")); Console.WriteLine(german); Console.WriteLine(english); Console.WriteLine(unknown); }
public void ChooseDb_Success() { var mgr = new DbResourceManager(new Dictionary <string, IResourceManager <string> >() { { "mobile_ro", Mock.Of <IResourceManager <string> >() } }); Assert.IsNotNull(mgr.ChooseDb("mobile_ro")); }
public void AddResources_Fail() { var mgr = DbResourceManager.Create(new Dictionary <string, string[]>() { ["db1"] = new[] { "db1-01", "db1-02", "db1-03" } }); Assert.Throws <ArgumentException>(() => mgr.AddResources("db2", new[] { "db2" })); }
public void ChooseDb_Not_Supported() { var mgr = new DbResourceManager(new Dictionary <string, IResourceManager <string> >() { { "mobile_ro", Mock.Of <IResourceManager <string> >() } }); Assert.Throws <NotSupportedException>(() => { mgr.ChooseDb("unsupported_db"); }); }
public void RemoveResources() { var mgr = DbResourceManager.Create(new Dictionary <string, string[]>() { ["db1"] = new[] { "db1-01", "db1-02", "db1-03" } }); // Remove 01, 04 redundant mgr.RemoveResources("db1", new[] { "db1-01", "db1-04" }); Assert.AreEqual( new[] { "db1-02", "db1-03" }, mgr.AllResources["db1"].Resources.Keys.OrderBy(x => x).ToArray()); }
public void AddResources() { var mgr = DbResourceManager.Create(new Dictionary <string, string[]>() { ["db1"] = new[] { "db1-01", "db1-02", "db1-03" } }); // Add 04, 01 duplicated mgr.AddResources("db1", new[] { "db1-01", "db1-04" }); Assert.AreEqual( new[] { "db1-01", "db1-02", "db1-03", "db1-04" }, mgr.AllResources["db1"].Resources.Keys.OrderBy(x => x).ToArray()); }
public override async Task <ActionResult> HandleAsync(Command request, CancellationToken cancellationToken) { var projectId = User.GetProjectId(); if (request.ZoneId == 0) { if (User.TryGetZoneId(out var zoneId)) { request.ZoneId = zoneId; } else { return(Forbid()); } } var format = await _db.Formats .Where(x => x.Zone.ProjectId == projectId && x.ZoneId == request.ZoneId) .Select(x => new { x.Alias, x.TemplateId, x.Template.Script, x.Template.ScriptMediaType }) .SingleOrDefaultAsync(x => x.Alias == request.Format); if (format is null) { return(BadRequest("Invalid format")); } var generator = _generatorProvider.GetGenerator(format.ScriptMediaType); var resources = new DbResourceManager(_db, User.GetProjectId()); var result = await generator.GenerateDocumentAsync(format.Script, request.Model, resources); var document = new Document(User.GetProjectId(), format.TemplateId, result.Content, result.ContentType); _db.Documents.Add(document); await _db.SaveChangesAsync(); return(RedirectToEndpoint(new GetById.Query() { Id = document.Id })); }
public void DbResourceManagerBasic() { var res = new DbResourceManager("Resources"); string german = res.GetObject("Today", new CultureInfo("de-de")) as string; Assert.IsNotNull(german); Assert.AreEqual(german, "Heute"); string english = res.GetObject("Today", new CultureInfo("en-us")) as string; Assert.IsNotNull(english); Assert.IsTrue(english.StartsWith("Today")); // should fallback to invariant/english string unknown = res.GetObject("Today", new CultureInfo("es-mx")) as string; Assert.IsNotNull(unknown); Assert.IsTrue(unknown.StartsWith("Today")); Console.WriteLine(german); Console.WriteLine(english); Console.WriteLine(unknown); }
public void DbResourceManagerBasic() { var res = new DbResourceManager(configuration, "Resources"); var german = res.GetObject("Today", new CultureInfo("de-de")) as string; Assert.NotNull(german); Assert.Equal(german, "Heute"); var english = res.GetObject("Today", new CultureInfo("en-us")) as string; Assert.NotNull(english); Assert.True(english.StartsWith("Today")); // should fallback to invariant/english var unknown = res.GetObject("Today", new CultureInfo("es-mx")) as string; Assert.NotNull(unknown); Assert.True(unknown.StartsWith("Today")); Console.WriteLine(german); Console.WriteLine(english); Console.WriteLine(unknown); }