public void Should_Read_Zero_Names_From_Db_Metadata_File() { using (var tempFile = new TempFile(".xml")) { tempFile.WriteAllText(BogusDbMetadataFile); var reader = new ModelMetadataReader(); var names = reader.ReadNames(tempFile.Filename).ToList(); Assert.True(names.Count == 0); } }
public void Should_Fail_To_Read_Bogus_Db_Metadata_File() { using (var tempFile = new TempFile(".xml")) { tempFile.WriteAllText(BogusXmlFile); var reader = new ModelMetadataReader(); var readNames = new Func <List <string> >(() => reader.ReadNames(tempFile.Filename).ToList()); Assert.Throws <XmlException>(readNames); } }
public void Should_Read_Names_From_Db_Metadata_File() { using (var tempFile = new TempFile(".xml")) { string buffer = Encoding.UTF8.GetString( ManifestResourceStream.Get( Assembly.GetExecutingAssembly(), AssetsConstants.StandardDbMetadataFile)); tempFile.WriteAllText(buffer); var reader = new ModelMetadataReader(); var names = reader.ReadNames(tempFile.Filename).ToList(); Assert.True(names.Count == 2); names[0].Should().Be("Products"); names[1].Should().Be("Categories"); } }
private static ExitCode ProcessCommandLineArgs(string[] args) { var commandContext = new CommandContext(); var outputWriter = new OutputWriter(); var sqlClientConnectionFactory = new SqlClientConnectionFactory(); var sqlClientSchemaReader = new SqlClientSchemaReader(sqlClientConnectionFactory, outputWriter); var assemblyReader = new DotnetAssemblyReader(outputWriter); var assemblyMetadataWriter = new DotnetAssemblyMetadataWriter(outputWriter); var dbModelMetadataReader = new ModelMetadataReader(); var dbModelMetadataWriter = new DbModelMetadataWriter(outputWriter); var transformer = new Transformer(outputWriter); var directoryWrapper = new DirectoryWrapper(); var fileWrapper = new FileWrapper(); var factory = new CommandFactory( sqlClientSchemaReader, assemblyReader, dbModelMetadataWriter, assemblyMetadataWriter, dbModelMetadataReader, transformer, outputWriter, directoryWrapper, fileWrapper, commandContext); ICommand command = null; int argIndex = 0; for (; argIndex < args.Length; argIndex++) { if (IsValidArgument("h", "help", args[argIndex]) || IsValidArgument("?", args[argIndex]) || args[argIndex] == "?") { return(factory.Create("help") .Execute()); } else if (IsValidArgument("nologo", args[argIndex])) { commandContext.NoLogo = true; } else if (IsValidArgument("verbose", args[argIndex])) { commandContext.VerboseLogging = true; outputWriter.IsVerbose = true; } else if (IsValidArgument("v", "version", args[argIndex])) { return(factory.Create("version") .Execute()); } else if (args[argIndex].StartsWith("-", StringComparison.CurrentCultureIgnoreCase)) { outputWriter.Error.WriteLine($"Unknown startup option: {args[argIndex]}"); return(ExitCode.Error); } else { string lastArg = args[argIndex]; if (string.IsNullOrEmpty(lastArg)) { return(factory.Create("help") .Execute()); } List <string> commandArgs = (argIndex + 1) >= args.Length ? new List <string>() : args.Skip(argIndex + 1).ToList(); commandContext.CommandArgs = commandArgs; PrintBanner(commandContext, outputWriter); command = factory.Create(lastArg); break; } } if (command == null) { command = factory.Create("help"); } return(command.Execute()); }