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 }); }
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*/); }