#pragma warning restore 649 public void Execute(IEnumerable<string> arguments) { Tracing.Info("import - import posts from external source"); parameters.Parse(arguments); if (!Importers.Any(e => String.Equals(e, parameters.ImportType, StringComparison.InvariantCultureIgnoreCase))) { Tracing.Info(String.Format("Requested import type not found: {0}", parameters.ImportType)); return; } if (string.Equals("wordpress", parameters.ImportType, StringComparison.InvariantCultureIgnoreCase)) { var wordpressImporter = new WordpressImport(fileSystem, parameters.Path, parameters.ImportPath); wordpressImporter.Import(); } else if (string.Equals("blogger", parameters.ImportType, StringComparison.InvariantCultureIgnoreCase)) { var bloggerImporter = new BloggerImport(fileSystem, parameters.Path, parameters.ImportPath); bloggerImporter.Import(); } Tracing.Info("Import complete"); }
public void Error_on_write_is_traced() { Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture; // arrange StringBuilder sb = new StringBuilder(); TextWriter writer = new StringWriter(sb); Tracing.Logger.SetWriter(writer); Tracing.Logger.AddCategory("info"); Tracing.Logger.AddCategory("debug"); var fileSubstitute = Substitute.For<FileBase>(); fileSubstitute.ReadAllText(ImportFile).Returns(ImportContent); fileSubstitute.When(f => f.WriteAllText(Arg.Any<string>(), Arg.Any<string>())).Do(x => { throw new Exception(); }); var fileSystemSubstitute = Substitute.For<IFileSystem>(); fileSystemSubstitute.File.Returns(fileSubstitute); // act var bloggerImporter = new BloggerImport(fileSystemSubstitute, BaseSite, ImportFile); bloggerImporter.Import(); // assert Assert.Contains(@"Failed to write out 2000-09-07-Hello-World-1.md", sb.ToString()); Assert.Contains("Exception of type 'System.Exception' was thrown.", sb.ToString()); Assert.Contains(@"Failed to write out 2000-09-07-Hello-World-2.md", sb.ToString()); }
public void Posts_Are_Imported() { var fileSystem = new MockFileSystem(new Dictionary<string, MockFileData> { { ImportFile, new MockFileData(ImportContent) } }); var bloggerImporter = new BloggerImport(fileSystem, BaseSite, ImportFile); bloggerImporter.Import(); string expectedPost = @"_posts\2000-09-07-Hello-World-1.md"; Assert.True(fileSystem.File.Exists(BaseSite + expectedPost)); var postContent = fileSystem.File.ReadAllText(BaseSite + expectedPost); var header = postContent.YamlHeader(); Assert.Equal("Hello World 1", header["title"].ToString()); Assert.Equal(0, ((List<string>)header["tags"]).Count); string expectedPost2 = @"_posts\2000-09-07-Hello-World-2.md"; Assert.True(fileSystem.File.Exists(BaseSite + expectedPost2)); var postContent2 = fileSystem.File.ReadAllText(BaseSite + expectedPost2); var header2 = postContent2.YamlHeader(); Assert.Equal("Hello World 2", header2["title"].ToString()); var tags = (List<string>)header2["tags"]; Assert.Equal(1, tags.Count); Assert.Equal("aTag", tags[0]); }