public BlogPostTest() { mPost = new TransitPost(); mPost.Title = Guid.NewGuid().ToString(); mPost.Body = Guid.NewGuid().ToString(); mPost.Created = mPost.Modified = DateTime.UtcNow; mTopic1Test = new BlogTopicTest(); AddDependent(mTopic1Test); mTopic2Test = new BlogTopicTest(); AddDependent(mTopic2Test); }
public void CreatePostIncrementCounterTest() { TransitPost t_post = new TransitPost(); t_post.Body = Guid.NewGuid().ToString(); t_post.Title = Guid.NewGuid().ToString(); t_post.Publish = true; t_post.Id = Blog.CreateOrUpdatePost(Ticket, t_post); Assert.Greater(t_post.Id, 0); Assert.AreEqual(1, Blog.IncrementPostCounter(Ticket, t_post.Id), "New post counter must be one after a single increment."); Blog.DeletePost(Ticket, t_post.Id); }
public void CreateStickyPostTest() { TransitPost t_post1 = new TransitPost(); t_post1.Body = Guid.NewGuid().ToString(); t_post1.Title = Guid.NewGuid().ToString(); t_post1.Publish = true; t_post1.Sticky = true; t_post1.Created = t_post1.Modified = DateTime.UtcNow; t_post1.Id = Blog.CreateOrUpdatePost(Ticket, t_post1); Assert.Greater(t_post1.Id, 0); Thread.Sleep(1000); TransitPost t_post2 = new TransitPost(); t_post2.Body = Guid.NewGuid().ToString(); t_post2.Title = Guid.NewGuid().ToString(); t_post2.Publish = true; t_post2.Sticky = false; t_post2.Created = t_post2.Modified = DateTime.UtcNow; t_post2.Id = Blog.CreateOrUpdatePost(Ticket, t_post2); Assert.Greater(t_post1.Id, 0); TransitPostQueryOptions queryOptions = new TransitPostQueryOptions(); queryOptions.PageNumber = 0; queryOptions.PageSize = 2; queryOptions.DateStart = DateTime.MinValue; queryOptions.DateEnd = DateTime.MaxValue; queryOptions.SortDirection = WebServiceQuerySortDirection.Descending; queryOptions.SortExpression = "Created"; TransitPost[] posts = Blog.GetPosts(Ticket, queryOptions); Blog.DeletePost(Ticket, t_post1.Id); Blog.DeletePost(Ticket, t_post2.Id); Assert.AreEqual(2, posts.Length); // make sure the sticky post is on top (the second post might not be in second position if there're other stick posts) Assert.AreEqual(t_post1.Id, posts[0].Id); }
public void CreatePostWithNoTopicsTest() { // post TransitPost t_post = new TransitPost(); t_post.Body = Guid.NewGuid().ToString(); t_post.Title = Guid.NewGuid().ToString(); t_post.Publish = true; t_post.Id = Blog.CreateOrUpdatePost(Ticket, t_post); Assert.Greater(t_post.Id, 0); Blog.DeletePost(Ticket, t_post.Id); }
public void CreatePostWithTwoTopicsTest() { // topic TransitTopic t_topic1 = new TransitTopic(); t_topic1.Name = Guid.NewGuid().ToString(); t_topic1.Id = Blog.CreateOrUpdateTopic(Ticket, t_topic1); TransitTopic t_topic2 = new TransitTopic(); t_topic2.Name = Guid.NewGuid().ToString(); t_topic2.Id = Blog.CreateOrUpdateTopic(Ticket, t_topic2); // post TransitPost t_post = new TransitPost(); t_post.Body = Guid.NewGuid().ToString(); t_post.Title = Guid.NewGuid().ToString(); List<TransitTopic> topics = new List<TransitTopic>(); topics.Add(t_topic1); topics.Add(t_topic2); t_post.Topics = topics.ToArray(); t_post.Publish = true; t_post.Id = Blog.CreateOrUpdatePost(Ticket, t_post); Assert.Greater(t_post.Id, 0); TransitPost t_post_retrieved = Blog.GetPostById(Ticket, t_post.Id); Assert.AreEqual(t_post_retrieved.Topics.Length, t_post.Topics.Length); Blog.DeletePost(Ticket, t_post.Id); Blog.DeleteTopic(Ticket, t_topic1.Id); Blog.DeleteTopic(Ticket, t_topic2.Id); }
public void CreatePostWithImageAndCommentTest() { // post TransitPost t_post = new TransitPost(); t_post.Body = Guid.NewGuid().ToString(); t_post.Title = Guid.NewGuid().ToString(); t_post.Publish = true; t_post.Id = Blog.CreateOrUpdatePost(Ticket, t_post); Assert.Greater(t_post.Id, 0); // image TransitImage t_image = new TransitImage(); t_image.Name = Guid.NewGuid().ToString(); Bitmap b = new Bitmap(480, 480); Graphics g = Graphics.FromImage(b); g.FillEllipse(Brushes.Red, 0, 0, 480, 480); ThumbnailBitmap tb = new ThumbnailBitmap(b); t_image.Data = tb.Bitmap; t_image.Thumbnail = tb.Thumbnail; t_image.Id = Blog.CreateOrUpdatePostImage(Ticket, t_post.Id, t_image); Assert.Greater(t_image.Id, 0); // comment TransitComment t_comment = new TransitComment(); t_comment.IpAddress = "127.0.0.1"; t_comment.LoginId = Blog.GetLogin(Ticket).Id; t_comment.Text = Guid.NewGuid().ToString(); t_comment.Id = Blog.CreateOrUpdateImageComment(Ticket, t_image.Id, t_comment); Assert.Greater(t_comment.Id, 0); Blog.DeleteImage(Ticket, t_image.Id); Blog.DeletePost(Ticket, t_post.Id); }
public void CreatePostWithImageTest() { TransitPost t_post = new TransitPost(); t_post.Body = Guid.NewGuid().ToString(); t_post.Title = Guid.NewGuid().ToString(); t_post.Publish = true; t_post.Id = Blog.CreateOrUpdatePost(Ticket, t_post); Assert.Greater(t_post.Id, 0); TransitImage t_image = new TransitImage(); t_image.Name = Guid.NewGuid().ToString(); Bitmap b = new Bitmap(480, 480); Graphics g = Graphics.FromImage(b); g.FillEllipse(Brushes.Red, 0, 0, 480, 480); ThumbnailBitmap tb = new ThumbnailBitmap(b); t_image.Data = tb.Bitmap; t_image.Thumbnail = tb.Thumbnail; t_image.Id = Blog.CreateOrUpdatePostImage(Ticket, t_post.Id, t_image); Assert.Greater(t_image.Id, 0); Blog.DeletePost(Ticket, t_post.Id); }
public void CreatePostWithCommentTest() { TransitPost t_post = new TransitPost(); t_post.Body = Guid.NewGuid().ToString(); t_post.Title = Guid.NewGuid().ToString(); t_post.Publish = true; t_post.Id = Blog.CreateOrUpdatePost(Ticket, t_post); Assert.Greater(t_post.Id, 0); TransitComment t_comment = new TransitComment(); t_comment.IpAddress = "127.0.0.1"; t_comment.LoginId = Blog.GetLogin(Ticket).Id; t_comment.Text = Guid.NewGuid().ToString(); t_comment.Id = Blog.CreateOrUpdatePostComment(Ticket, t_post.Id, t_comment); Assert.Greater(t_comment.Id, 0); Blog.DeletePost(Ticket, t_post.Id); }
/// <remarks/> public void CreateOrUpdatePostAsync(string ticket, TransitPost t_post, object userState) { if ((this.CreateOrUpdatePostOperationCompleted == null)) { this.CreateOrUpdatePostOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrUpdatePostOperationCompleted); } this.InvokeAsync("CreateOrUpdatePost", new object[] { ticket, t_post}, this.CreateOrUpdatePostOperationCompleted, userState); }
/// <remarks/> public void CreateOrUpdatePostAsync(string ticket, TransitPost t_post) { this.CreateOrUpdatePostAsync(ticket, t_post, null); }
public int CreateOrUpdatePost(string ticket, TransitPost t_post) { object[] results = this.Invoke("CreateOrUpdatePost", new object[] { ticket, t_post}); return ((int)(results[0])); }
public void CreateSecurePostTest() { TransitPost t_post = new TransitPost(); t_post.Body = Guid.NewGuid().ToString(); t_post.Title = Guid.NewGuid().ToString(); t_post.Id = Blog.CreateOrUpdatePost(Ticket, t_post); Assert.Greater(t_post.Id, 0); TransitImage t_image = new TransitImage(); t_image.Name = Guid.NewGuid().ToString(); Bitmap b = new Bitmap(480, 480); Graphics g = Graphics.FromImage(b); g.FillEllipse(Brushes.Red, 0, 0, 480, 480); ThumbnailBitmap tb = new ThumbnailBitmap(b); t_image.Data = tb.Bitmap; t_image.Thumbnail = tb.Thumbnail; t_image.Id = Blog.CreateOrUpdatePostImage(Ticket, t_post.Id, t_image); Assert.Greater(t_image.Id, 0); TransitLogin t_login = new TransitLogin(); t_login.Username = Guid.NewGuid().ToString(); t_login.Password = Guid.NewGuid().ToString(); t_login.Role = TransitLoginRole.Guest; t_login.Id = Blog.CreateOrUpdateLogin(Ticket, t_login); Assert.Greater(t_login.Id, 0); TransitComment t_comment = new TransitComment(); t_comment.IpAddress = "127.0.0.1"; t_comment.Text = Guid.NewGuid().ToString(); t_comment.LoginId = t_login.Id; t_comment.Id = Blog.CreateOrUpdatePostComment(Ticket, t_post.Id, t_comment); Assert.Greater(t_comment.Id, 0); int t_postlogin_id = Blog.CreateOrUpdatePostLogin(Ticket, t_post.Id, t_login); Assert.Greater(t_postlogin_id, 0); string authticket = Blog.Login(t_login.Username, t_login.Password); // check access to posts TransitPost t_post_unauthorized = Blog.GetPostById(null, t_post.Id); Assert.IsTrue(string.IsNullOrEmpty(t_post_unauthorized.Body), "Unathorized post body wasn't stripped."); TransitPost t_post_authorized = Blog.GetPostById(authticket, t_post.Id); Assert.IsFalse(string.IsNullOrEmpty(t_post_authorized.Body), "Authorized post was stripped."); // check access to images TransitImage t_image_unauthorized = Blog.GetImageWithBitmapById(null, t_image.Id); Assert.IsTrue(t_image_unauthorized.Data == null, "Unathorized image returned data."); TransitImage t_image_authorized = Blog.GetImageWithBitmapById(authticket, t_image.Id); Assert.IsTrue(t_image_authorized.Data != null, "Authorized image didn't return data."); // check access to comments TransitComment t_comment_unauthorized = Blog.GetCommentById(null, t_comment.Id); Assert.IsTrue(string.IsNullOrEmpty(t_comment_unauthorized.Text), "Unathorized comment returned data."); TransitComment t_comment_authorized = Blog.GetCommentById(authticket, t_comment.Id); Assert.IsFalse(string.IsNullOrEmpty(t_comment_authorized.Text), "Authorized comment didn't return data."); Blog.DeletePost(Ticket, t_post.Id); }