Example #1
0
#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");
        }
Example #2
0
        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());
        }
Example #3
0
        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]);
        }