private IContainer CreateDependencyContainer() { var folder = Path.Combine(ScaffoldUtility.GetRootFolder(), "Infrastructure", "Data", "Json"); var container = DependencyService.CreateContainer(FacetContext, folder, null); return(container); }
public void GenerateTestData() { var options = new DumpOptions() { DumpStyle = DumpStyle.CSharp, IndentSize = 1, IndentChar = '\t', LineBreakChar = Environment.NewLine, SetPropertiesOnly = false, MaxLevel = 5, ExcludeProperties = new HashSet <string>() { "Compiler", "FieldType", "ResultField", "IsGroupByField", "Specification" }, PropertyOrderBy = null, IgnoreDefaultValues = false }; ScaffoldUtility.Dump( new { //ResultFieldTypes = Registry.Context.Set<ResultFieldType>().ToList(), //ResultFields = Registry.Context.Set<ResultField>().ToList(), // ResultSpecificationFields = Registry.Context.Set<ResultSpecificationField>().ToList(), ResultSpecifications = Registry.Context.Set <ResultSpecification>().Include(z => z.Fields).ToList() }, @"C:\TEMP\ResultSpecificationFields.cs", options ); }
protected override void OnModelCreating(ModelBuilder builder) { base.OnModelCreating(builder); foreach (var type in ScaffoldUtility.GetModelTypes()) { builder.Entity(type).HasData(Fixture.Items[type]); } }
public static void DumpUriObject(string uri, object value) { dynamic expando = new ExpandoObject(); expando.Uri = uri; expando.ValueType = value.GetType().Name; expando.Value = value; ScaffoldUtility.Dump(expando, $@"C:\TEMP\{value.GetType().Name}_{uri.Replace(":", "#").Replace("/", "+")}.cs");; }
public void UpdateFacetContextFixture_IfParameterIsSetToTrue(bool updateTheModel, string hostName, string databaseName, string folder) { if (!updateTheModel) { return; } var serializer = CreateSerializer(); var path = Path.Combine(ScaffoldUtility.GetRootFolder(), folder); using (var context = CreateContext(hostName, databaseName)) { new JsonWriterService(serializer).SerializeTypesToPath(context, ScaffoldUtility.GetModelTypes(), path); } }
public QuerySetup FakeResultQuerySetup(FacetsConfig2 facetsConfig, string resultFacetCode, string specificationKey) { var resultFields = Registry.Results.GetFieldsByKey(specificationKey); var fakeJoins = FakeJoinsClause(5); var joinCompiler = MockJoinsClauseCompiler(fakeJoins); var fakePickCriteria = new List <string> { "ID IN (1,2,3)" }; var mockPicksCompiler = MockPicksFilterCompiler(fakePickCriteria); var facetsGraph = ScaffoldUtility.DefaultFacetsGraph(Registry); var resultFacet = Registry.Facets.GetByCode(resultFacetCode); // FIXME: Should be mocked var compiler = new QuerySetupBuilder(facetsGraph, mockPicksCompiler.Object, joinCompiler.Object); var querySetup = compiler.Build(facetsConfig, resultFacet, resultFields); return(querySetup); }
//[Fact(Skip = "Not a test. Scaffolds C# facets from database. Stores data in FacetDict.cs.txt")] public void ScaffoldCSharpFacetsToFileUsingOnlineDatabase() { var options = new DumpOptions() { DumpStyle = DumpStyle.CSharp, IndentSize = 1, IndentChar = '\t', LineBreakChar = Environment.NewLine, SetPropertiesOnly = false, MaxLevel = 10, // int.MaxValue, ExcludeProperties = new HashSet <string>() { "Facets", "Facet", "TargetTable", "QueryCriteria", "FacetGroupKey", "FacetTypeKey", "FacetTypeKey", "TableOrUdfName", "HasAlias", "ResolvedAliasOrTableOrUdfName", "ResolvedTableOrUdfCall", "ResolvedSqlJoinName" }, PropertyOrderBy = null, IgnoreDefaultValues = false }; var facets = Registry.Facets.GetAll(); Dictionary <string, Facet> facetsDict = new Dictionary <string, Facet>(); foreach (var facet in facets) { facetsDict.Add(facet.FacetCode, facet); } var path = Path.Join(DataFolder(), "FacetsDict.cs.txt"); ScaffoldUtility.Dump(facetsDict, path, options); }
//[Fact(Skip = "Not a test. Scaffolds C# QuerySetup objects to file, read from a JSON seeded context")] public void ScaffoldCSharpQuerySetupsToFileUsingJsonSeededFacetContext() { var scaffolder = new DisposableFacetContextContainer(Fixture); // Uri format: "target-facet[@trigger-facet]:(facet-code[@picks])(/facet-code[@picks])* var uris = new List <string>() { "sites:sites:", "sites:sites@1", "sites:country@73/sites:", "tbl_denormalized_measured_values_33_0:tbl_denormalized_measured_values_33_0@(110,2904)" }; var options = new DumpOptions() { DumpStyle = DumpStyle.CSharp, IndentSize = 1, IndentChar = '\t', LineBreakChar = Environment.NewLine, SetPropertiesOnly = false, MaxLevel = 10, // int.MaxValue, ExcludeProperties = new HashSet <string>() { "Facet", "SourceName", "TargetName", "Key", "CategoryTextFilter" }, PropertyOrderBy = null, IgnoreDefaultValues = false }; foreach (var uri in uris) { var facetsConfig = scaffolder.FakeFacetsConfig(uri); var querySetup = scaffolder.FakeCountOrContentQuerySetup(facetsConfig); var path = Path.Join(DataFolder(), $"QuerySetup_{UriName(uri)}.cs.txt"); ScaffoldUtility.Dump(querySetup, path, options); } }
//[Fact(Skip = "Not a test. Scaffolds FacetsConfigs from JSON seeded context")] public void ScaffoldCSharpFacetsConfigsToFileUsingJsonSeededFacetContext() { var scaffolder = new MockFacetsConfigFactory(Registry.Facets); // Uri format: "target-facet[@trigger-facet]:(facet-code[@picks])(/facet-code[@picks])* var uris = new List <string>() { // "sites:sites:", // "sites:sites@1", // "sites:country@73/sites:", "tbl_denormalized_measured_values_33_0:tbl_denormalized_measured_values_33_0@(3,52)" }; foreach (var uri in uris) { var facetsConfig = scaffolder.Create(uri); var uriName = UriName(uri); var path = Path.Join(DataFolder(), $"FacetsConfig_{uriName}.cs.txt"); ScaffoldUtility.Dump(facetsConfig, path); } }
public QuerySetup FakeCountOrContentQuerySetup(FacetsConfig2 facetsConfig) { List <string> fakeJoins = FakeJoinsClause(5); var joinsCompiler = MockJoinsClauseCompiler(fakeJoins); var fakePickCriteria = new List <string> { "ID IN (1,2,3)" }; var mockPicksCompiler = MockPicksFilterCompiler(fakePickCriteria); var facetsGraph = ScaffoldUtility.DefaultFacetsGraph(Registry); // FIXME: Should be mocked var compiler = new QuerySetupBuilder(facetsGraph, mockPicksCompiler.Object, joinsCompiler.Object); var querySetup = compiler.Build( facetsConfig, facetsConfig.TargetFacet, new List <string>(), null ); return(querySetup); }
public async Task TestMethod_UsingSqliteInMemoryProvider_Success() { var folder = ScaffoldUtility.JsonDataFolder(); using (var connection = new SqliteConnection("DataSource=:memory:;Foreign Keys = False")) { connection.Open(); var options = new DbContextOptionsBuilder <FacetContext>() .UseSqlite(connection) // Set the connection explicitly, so it won't be closed automatically by EF .Options; using (var context = JsonSeededFacetContextFactory.Create(options, Fixture)) { var count = await context.FacetGroups.CountAsync(); Assert.True(count > 0); var u = await context.FacetGroups.FirstOrDefaultAsync(group => group.FacetGroupKey == "DOMAIN"); Assert.NotNull(u); Assert.Equal(999, u.FacetGroupId); } } }
private static FacetContext CreateContext(string hostName, string databaseName) { var builder = ScaffoldUtility.GetDbContextOptionBuilder(hostName, databaseName); return(new FacetContext(builder.Options)); }
private IFacetsGraph CreateFacetsGraphByFakeContext(IFacetContext testContext) { return(ScaffoldUtility.DefaultFacetsGraph(testContext)); }
public static string SeadJsonDataFolder() { return(Path.Combine(ScaffoldUtility.GetRootFolder(), "Infrastructure", "Data", "Json")); }
private string DataFolder() { string root = ScaffoldUtility.GetRootFolder(); return(Path.Combine(root, "Infrastructure", "Data", "CSharp")); }