本文整理汇总了C#中Mock.SetupBlog方法的典型用法代码示例。如果您正苦于以下问题:C# Mock.SetupBlog方法的具体用法?C# Mock.SetupBlog怎么用?C# Mock.SetupBlog使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mock
的用法示例。
在下文中一共展示了Mock.SetupBlog方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessRequest_WithGetRequest_SendsRssResponse
public void ProcessRequest_WithGetRequest_SendsRssResponse()
{
//arrange
UnitTestHelper.SetupBlog();
var repository = new DatabaseObjectProvider();
Entry entry = UnitTestHelper.CreateEntryInstanceForSyndication("phil", "this is the title", "body");
entry.DateCreatedUtc =
entry.DatePublishedUtc =
entry.DateModifiedUtc = DateTime.ParseExact("2006/05/25", "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal).ToUniversalTime();
int id = UnitTestHelper.Create(entry);
Blog blog = Config.CurrentBlog;
blog.TrackbacksEnabled = true;
var subtextContext = new Mock<ISubtextContext>();
StringWriter writer = subtextContext.FakeSubtextContextRequest(blog, "/trackbackhandler", "/", string.Empty);
subtextContext.Setup(c => c.Repository).Returns(repository);
subtextContext.Object.RequestContext.RouteData.Values.Add("id", id.ToString());
Mock<BlogUrlHelper> urlHelper = Mock.Get(subtextContext.Object.UrlHelper);
urlHelper.Setup(u => u.TrackbacksUrl(It.IsAny<int>())).Returns("/whatever/trackback");
subtextContext.SetupBlog(blog);
var handler = new TrackBackHandler(subtextContext.Object);
//act
handler.ProcessRequest();
//assert
Assert.IsTrue(writer.ToString().Contains("this is the title"));
}
示例2: TrackbackShowsUpInFeedbackList
public void TrackbackShowsUpInFeedbackList()
{
string hostname = UnitTestHelper.GenerateUniqueString();
Config.CreateBlog("", "username", "password", hostname, "blog");
UnitTestHelper.SetHttpContextWithBlogRequest(hostname, "blog", string.Empty);
Blog blog = Config.GetBlog(hostname, "blog");
BlogRequest.Current.Blog = blog;
Entry parentEntry = UnitTestHelper.CreateEntryInstanceForSyndication("philsath aeuoa asoeuhtoensth",
"sntoehu title aoeuao eu",
"snaot hu aensaoehtu body");
int parentId = UnitTestHelper.Create(parentEntry);
ICollection<FeedbackItem> entries = ObjectProvider.Instance().GetFeedbackForEntry(parentEntry);
Assert.AreEqual(0, entries.Count, "Did not expect any feedback yet.");
var trackback = new Trackback(parentId, "title", new Uri("http://url"), "phil", "body", blog.TimeZone.Now);
Config.CurrentBlog.DuplicateCommentsEnabled = true;
var subtextContext = new Mock<ISubtextContext>();
subtextContext.Setup(c => c.Cache).Returns(new TestCache());
subtextContext.SetupBlog(Config.CurrentBlog);
subtextContext.SetupRepository(ObjectProvider.Instance());
subtextContext.Setup(c => c.HttpContext.Items).Returns(new Hashtable());
var commentService = new CommentService(subtextContext.Object, null);
int trackbackId = commentService.Create(trackback, true/*runFilters*/);
FeedbackItem.Approve(trackback, null);
entries = ObjectProvider.Instance().GetFeedbackForEntry(parentEntry);
Assert.AreEqual(1, entries.Count, "Expected a trackback.");
Assert.AreEqual(trackbackId, entries.First().Id,
"The feedback was not the same one we expected. The IDs do not match.");
}
示例3: ProcessRequest_WithInvalidEntryId_SendsErrorResponse
public void ProcessRequest_WithInvalidEntryId_SendsErrorResponse()
{
//arrange
UnitTestHelper.SetupBlog();
var repository = new DatabaseObjectProvider();
Blog blog = Config.CurrentBlog;
blog.TrackbacksEnabled = true;
var subtextContext = new Mock<ISubtextContext>();
StringWriter writer = subtextContext.FakeSubtextContextRequest(blog, "/trackbackhandler", "/", string.Empty);
subtextContext.Setup(c => c.Repository).Returns(repository);
subtextContext.Object.RequestContext.RouteData.Values.Add("id", int.MaxValue.ToString());
Mock<BlogUrlHelper> urlHelper = Mock.Get(subtextContext.Object.UrlHelper);
urlHelper.Setup(u => u.TrackbacksUrl(It.IsAny<int>())).Returns("/whatever/trackback");
subtextContext.SetupBlog(blog);
var handler = new TrackBackHandler(subtextContext.Object);
//act
handler.ProcessRequest();
//assert
Assert.IsTrue(writer.ToString().Contains("EntryId is invalid or missing"));
}
示例4: CreateAndUpdateFeedbackWithExactStatus
static FeedbackItem CreateAndUpdateFeedbackWithExactStatus(Entry entry, FeedbackType type,
FeedbackStatusFlag status)
{
var repository = new DatabaseObjectProvider();
var feedback = new FeedbackItem(type);
feedback.Title = UnitTestHelper.GenerateUniqueString();
feedback.Body = UnitTestHelper.GenerateUniqueString();
feedback.EntryId = entry.Id;
feedback.Author = "TestAuthor";
var subtextContext = new Mock<ISubtextContext>();
subtextContext.Setup(c => c.Cache).Returns(new TestCache());
subtextContext.SetupBlog(Config.CurrentBlog);
subtextContext.SetupRepository(repository);
subtextContext.Setup(c => c.HttpContext.Items).Returns(new Hashtable());
subtextContext.Setup(c => c.HttpContext).Returns(new HttpContextWrapper(HttpContext.Current));
var service = new CommentService(subtextContext.Object, null);
int id = service.Create(feedback, true/*runFilters*/);
feedback = repository.Get(id);
feedback.Status = status;
repository.Update(feedback);
return repository.Get(id);
}
示例5: ProcessRequest_WithValidTrackback_CreatesTracbackRecordInDatabase
public void ProcessRequest_WithValidTrackback_CreatesTracbackRecordInDatabase()
{
//arrange
var repository = new DatabaseObjectProvider();
UnitTestHelper.SetupBlog();
Entry entry = UnitTestHelper.CreateEntryInstanceForSyndication("phil", "this is the title", "body");
entry.DateCreatedUtc =
entry.DatePublishedUtc =
entry.DateModifiedUtc = DateTime.ParseExact("2006/05/25", "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal).ToUniversalTime();
int id = UnitTestHelper.Create(entry);
Blog blog = Config.CurrentBlog;
blog.TrackbacksEnabled = true;
var subtextContext = new Mock<ISubtextContext>();
StringWriter writer = subtextContext.FakeSubtextContextRequest(blog, "/trackbackhandler", "/", string.Empty);
subtextContext.Setup(c => c.Repository).Returns(repository);
subtextContext.Object.RequestContext.RouteData.Values.Add("id", id.ToString());
subtextContext.SetupBlog(blog);
var handler = new TrackBackHandler(subtextContext.Object);
handler.SourceVerification += (sender, e) => e.Verified = true;
Mock<BlogUrlHelper> urlHelper = Mock.Get(subtextContext.Object.UrlHelper);
urlHelper.Setup(u => u.EntryUrl(It.IsAny<Entry>())).Returns("/whatever/entry");
urlHelper.Setup(u => u.TrackbacksUrl(It.IsAny<int>())).Returns("/whatever/trackback");
Mock<HttpContextBase> httpContext = Mock.Get(subtextContext.Object.RequestContext.HttpContext);
httpContext.Setup(c => c.Request.HttpMethod).Returns("POST");
var form = new NameValueCollection();
form["title"] = entry.Title;
form["excert"] = entry.Body;
form["url"] = "http://myblog.example.com/";
form["blog_name"] = "Random Blog";
httpContext.Setup(c => c.Request.Form).Returns(form);
//act
handler.ProcessRequest();
//assert
ICollection<FeedbackItem> trackbacks = repository.GetFeedbackForEntry(entry);
Assert.AreEqual(1, trackbacks.Count, "We expect to see the one feedback we just created.");
Assert.AreEqual("this is the title", trackbacks.First().Title);
}
示例6: GetRecentPosts_ReturnsRecentPosts
public void GetRecentPosts_ReturnsRecentPosts()
{
string hostname = UnitTestHelper.GenerateUniqueString();
var repository = new DatabaseObjectProvider();
repository.CreateBlog("", "username", "password", hostname, "");
UnitTestHelper.SetHttpContextWithBlogRequest(hostname, "");
Blog blog = repository.GetBlog(hostname, "");
BlogRequest.Current.Blog = blog;
blog.AllowServiceAccess = true;
var urlHelper = new Mock<BlogUrlHelper>();
urlHelper.Setup(u => u.EntryUrl(It.IsAny<Entry>())).Returns("/entry/whatever");
var subtextContext = new Mock<ISubtextContext>();
subtextContext.Setup(c => c.Blog).Returns(Config.CurrentBlog);
//TODO: FIX!!!
subtextContext.Setup(c => c.Repository).Returns(repository);
subtextContext.SetupBlog(blog);
subtextContext.Setup(c => c.UrlHelper).Returns(urlHelper.Object);
subtextContext.Setup(c => c.ServiceLocator).Returns(new Mock<IDependencyResolver>().Object);
var api = new MetaWeblog(subtextContext.Object);
Post[] posts = api.getRecentPosts(Config.CurrentBlog.Id.ToString(), "username", "password", 10);
Assert.AreEqual(0, posts.Length);
string category1Name = UnitTestHelper.GenerateUniqueString();
string category2Name = UnitTestHelper.GenerateUniqueString();
UnitTestHelper.CreateCategory(Config.CurrentBlog.Id, category1Name);
UnitTestHelper.CreateCategory(Config.CurrentBlog.Id, category2Name);
var entry = new Entry(PostType.BlogPost);
entry.Title = "Title 1";
entry.Body = "Blah";
entry.IsActive = true;
entry.IncludeInMainSyndication = true;
entry.DateCreatedUtc =
entry.DatePublishedUtc =
entry.DateModifiedUtc = DateTime.ParseExact("1975/01/23", "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal).ToUniversalTime();
entry.Categories.Add(category1Name);
UnitTestHelper.Create(entry);
entry = new Entry(PostType.BlogPost);
entry.IncludeInMainSyndication = true;
entry.Title = "Title 2";
entry.Body = "Blah1";
entry.IsActive = true;
entry.DateCreatedUtc =
entry.DatePublishedUtc =
entry.DateModifiedUtc = DateTime.ParseExact("1976/05/25", "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal).ToUniversalTime();
entry.Categories.Add(category1Name);
entry.Categories.Add(category2Name);
UnitTestHelper.Create(entry);
entry = new Entry(PostType.BlogPost);
entry.Title = "Title 3";
entry.IncludeInMainSyndication = true;
entry.Body = "Blah2";
entry.IsActive = true;
entry.DateCreatedUtc =
entry.DatePublishedUtc =
entry.DateModifiedUtc = DateTime.ParseExact("1979/09/16", "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal).ToUniversalTime();
UnitTestHelper.Create(entry);
entry = new Entry(PostType.BlogPost);
entry.Title = "Title 4";
entry.IncludeInMainSyndication = true;
entry.Body = "Blah3";
entry.IsActive = true;
entry.DateCreatedUtc =
entry.DatePublishedUtc =
entry.DateModifiedUtc = DateTime.ParseExact("2006/01/01", "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal).ToUniversalTime();
entry.Categories.Add(category2Name);
int entryId = UnitTestHelper.Create(entry);
string enclosureUrl = "http://perseus.franklins.net/hanselminutes_0107.mp3";
string enclosureMimeType = "audio/mp3";
long enclosureSize = 26707573;
FrameworkEnclosure enc =
UnitTestHelper.BuildEnclosure("<Digital Photography Explained (for Geeks) with Aaron Hockley/>",
enclosureUrl, enclosureMimeType, entryId, enclosureSize, true, true);
repository.Create(enc);
posts = api.getRecentPosts(Config.CurrentBlog.Id.ToString(), "username", "password", 10);
Assert.AreEqual(4, posts.Length, "Expected 4 posts");
Assert.AreEqual(1, posts[3].categories.Length, "Expected our categories to be there.");
Assert.AreEqual(2, posts[2].categories.Length, "Expected our categories to be there.");
Assert.IsNotNull(posts[1].categories, "Expected our categories to be there.");
Assert.AreEqual(1, posts[0].categories.Length, "Expected our categories to be there.");
Assert.AreEqual(category1Name, posts[3].categories[0], "The category returned by the MetaBlogApi is wrong.");
Assert.AreEqual(category2Name, posts[0].categories[0], "The category returned by the MetaBlogApi is wrong.");
Assert.AreEqual(enclosureUrl, posts[0].enclosure.Value.url, "Not what we expected for the enclosure url.");
Assert.AreEqual(enclosureMimeType, posts[0].enclosure.Value.type,
"Not what we expected for the enclosure mimetype.");
Assert.AreEqual(enclosureSize, posts[0].enclosure.Value.length,
"Not what we expected for the enclosure size.");
}