public void Process(BlogMLPost postml)
        {
            Log.Debug("Fetching trackbacks.");

            using (var query = new OxiteReader("SELECT * FROM oxite_Trackback WHERE PostID='" + postml.ID + "'"))
            {
                var trackbacks = query.Execute();

                foreach (var track in trackbacks)
                {
                    var trackbackml = new BlogMLTrackback
                    {
                        Approved     = false, /* Oxite has no trackback approving */
                        DateCreated  = track.CreatedDate,
                        DateModified = track.ModifiedDate,
                        ID           = track.TrackbackID.ToString(),
                        Title        = track.Title,
                        Url          = track.Url
                    };

                    postml.Trackbacks.Add(trackbackml);
                }
            }

            Log.DebugFormat("Finished adding {0} trackbacks.", postml.Trackbacks.Count);
        }
        public void ConvertTrackback_ReturnsFeedbackItemAsPingTrack()
        {
            // arrange
            var trackback = new BlogMLTrackback();
            var mapper    = new BlogMLImportMapper();

            // act
            var convertedTrackback = mapper.ConvertTrackback(trackback, "123");

            // assert
            Assert.AreEqual(FeedbackType.PingTrack, convertedTrackback.FeedbackType);
        }
        public void ConvertTrackback_WithInvalidSourceUrl_IgnoresUrl()
        {
            // arrange
            var trackback = new BlogMLTrackback {
                Url = "not-valid-url"
            };
            var mapper = new BlogMLImportMapper();

            // act
            var convertedTrackback = mapper.ConvertTrackback(trackback, "123");

            // assert
            Assert.AreEqual(null, convertedTrackback.SourceUrl);
        }
        public void ConvertTrackback_WithValidSourceUrl_SetsUrlAndAuthorUsingHostname()
        {
            // arrange
            var trackback = new BlogMLTrackback {
                Url = "http://example.com/valid-url"
            };
            var mapper = new BlogMLImportMapper();

            // act
            var convertedTrackback = mapper.ConvertTrackback(trackback, "123");

            // assert
            Assert.AreEqual(new Uri("http://example.com/valid-url"), convertedTrackback.SourceUrl);
            Assert.AreEqual("example.com", convertedTrackback.Author);
        }
        public FeedbackItem ConvertTrackback(BlogMLTrackback trackback, string parentPostId)
        {
            string author    = null;
            Uri    sourceUri = ConvertUri(trackback.Url);

            if (sourceUri != null)
            {
                author = sourceUri.Host;
            }
            return(new FeedbackItem(FeedbackType.PingTrack)
            {
                EntryId = int.Parse(parentPostId, CultureInfo.InvariantCulture),
                Title = trackback.Title,
                SourceUrl = sourceUri,
                Approved = trackback.Approved,
                DateCreated = trackback.DateCreated,
                DateModified = trackback.DateModified,
                Author = author ?? string.Empty,
                Body = string.Empty
            });
        }
Esempio n. 6
0
        public void Import_WithBlogPostHavingTrackback_CreatesTrackbackUsingPostId()
        {
            // arrange
            var blog      = new BlogMLBlog();
            var post      = new BlogMLPost();
            var trackback = new BlogMLTrackback();

            post.Trackbacks.Add(trackback);
            blog.Posts.Add(post);
            var repository = new Mock <IBlogImportRepository>();

            repository.Setup(r => r.CreateBlogPost(blog, post)).Returns("98053");
            bool trackbackCreated = false;

            repository.Setup(r => r.CreateTrackback(trackback, "98053")).Callback(() => trackbackCreated = true);
            var service = new BlogImportService(repository.Object);

            // act
            service.Import(blog);

            // assert
            Assert.IsTrue(trackbackCreated);
        }
        public void CreateTrackback(BlogMLTrackback trackback, string newPostId)
        {
            var pingTrack = Mapper.ConvertTrackback(trackback, newPostId);

            CommentService.Create(pingTrack, false /*runfilters*/);
        }