/// <summary> /// Constructor for the User Tests to set up the context for the tests /// </summary> public UserListTests() { string rootPath = TestConfig.GetConfig().GetRipleyServerPath(); BBC.Dna.AppContext.OnDnaStartup(rootPath); Console.WriteLine("Before RecentSearch - AddRecentSearchTests"); //Create the mocked _InputContext Mockery mock = new Mockery(); _InputContext = DnaMockery.CreateDatabaseInputContext(); // Create a mocked site for the context ISite mockedSite = DnaMockery.CreateMockedSite(_InputContext, 1, "h2g2", "h2g2", true, "comment"); Stub.On(_InputContext).GetProperty("CurrentSite").Will(Return.Value(mockedSite)); Stub.On(mockedSite).GetProperty("ModClassID").Will(Return.Value(1)); BBC.Dna.User user = new BBC.Dna.User(_InputContext); Stub.On(_InputContext).GetProperty("ViewingUser").Will(Return.Value(user)); Stub.On(_InputContext).GetProperty("CurrentSite").Will(Return.Value(mockedSite)); //Create sub editor group and users //create test sub editors DnaTestURLRequest dnaRequest = new DnaTestURLRequest("h2g2"); dnaRequest.SetCurrentUserEditor(); TestDataCreator testData = new TestDataCreator(_InputContext); int[] userIDs = new int[10]; Assert.IsTrue(testData.CreateNewUsers(mockedSite.SiteID, ref userIDs), "Test users not created"); Assert.IsTrue(testData.CreateNewUserGroup(dnaRequest.CurrentUserID, "subs"), "CreateNewUserGroup not created"); Assert.IsTrue(testData.AddUsersToGroup(userIDs, mockedSite.SiteID, "subs"), "Unable to add users to group not created"); }
public void NoData() { Console.WriteLine("Before missingData - NoData"); // test variant data string postData = ""; string mimeType = ""; string url = "http://" + testUtils_CommentsAPI.server + "/dna/api/comments/CommentsService.svc/v1/site/"; //HttpStatusCode expectedHttpResponse = HttpStatusCode.OK; // consistent input data // working data DnaTestURLRequest request = new DnaTestURLRequest(testUtils_CommentsAPI.sitename); request.SetCurrentUserEditor(); // now get the response - no POST data, nor any clue about the type try { request.RequestPageWithFullURL(url, postData, mimeType); } catch {// Check to make sure that the page returned with the correct information Assert.IsTrue(request.CurrentWebResponse.StatusCode == HttpStatusCode.NotFound); } Console.WriteLine("After missingData - NoData"); } // ends NoData
public void CreateEditorsPick() { //First get a comment. CommentsTests_V1 comments = new CommentsTests_V1(); CommentForumTests_V1 commentForums = new CommentForumTests_V1(); _commentInfo = comments.CreateCommentHelper(commentForums.CommentForumCreateHelper().Id); Assert.IsNotNull(_commentInfo, "Unable to Create Comment"); DnaTestURLRequest request = new DnaTestURLRequest(_sitename); request.SetCurrentUserEditor(); // Setup the request url string url = String.Format("http://" + _server + "/dna/api/comments/CommentsService.svc/V1/site/{0}/comments/{1}/editorpicks/", _sitename,_commentInfo.ID); request.RequestPageWithFullURL(url, "No data to send", "text/xml"); //Check for Editors Pick presence. url = String.Format("http://" + _server + "/dna/api/comments/CommentsService.svc/V1/site/{0}/comments/?filterBy=EditorPicks", _sitename); request.RequestPageWithFullURL(url); XmlDocument xml = request.GetLastResponseAsXML(); XmlNamespaceManager nsmgr = new XmlNamespaceManager(xml.NameTable); nsmgr.AddNamespace("api", "BBC.Dna.Api"); String xPath = String.Format("api:commentsList/api:comments/api:comment[api:id='{0}']", _commentInfo.ID); XmlNode pick = xml.SelectSingleNode(xPath, nsmgr); Assert.IsNotNull(pick); }
public void bbActivateBoard() { aaCreateTopic(); Console.WriteLine("Before bbActivateBoard"); //Activate Board string url = "Messageboardadmin?cmd=activateboard&skin=purexml"; DnaTestURLRequest urlRequest = new DnaTestURLRequest("haveyoursay"); urlRequest.SetCurrentUserEditor(); urlRequest.UseEditorAuthentication = true; urlRequest.RequestPage(url); XmlDocument doc = urlRequest.GetLastResponseAsXML(); Assert.IsNotNull(doc.SelectSingleNode("/H2G2[BOARDACTIVATED='1']"), "Check Board Activated"); url = "frontpage?skin=purexml"; urlRequest.RequestPage(url); doc = urlRequest.GetLastResponseAsXML(); Assert.IsNotNull(doc.SelectSingleNode("/H2G2/TOPICLIST/TOPIC[TITLE='" + topicName + "']"), "Check topic published"); Assert.IsNotNull(doc.SelectSingleNode("/H2G2/TOPICLIST/TOPIC[TOPICLINKID='" + topicPreviewID + "']"), "Check Preview Topic Link"); XmlNode node = doc.SelectSingleNode("/H2G2/TOPICLIST/TOPIC[TITLE='" + topicName + "']/FORUMID"); if (node != null) { topicForumID = node.InnerText; } //Check Topic Forum Is Writable. url = "F" + topicForumID + "&skin=purexml"; urlRequest.RequestPage(url); doc = urlRequest.GetLastResponseAsXML(); Assert.IsNotNull(doc.SelectSingleNode("/H2G2/FORUMSOURCE/ARTICLE/ARTICLEINFO[FORUMID='" + topicForumID + "']"), "Check Topic ForumId"); Assert.IsNotNull(doc.SelectSingleNode("/H2G2/FORUMTHREADS[@CANREAD='1']"), "Check Read Permissions"); Assert.IsNotNull(doc.SelectSingleNode("/H2G2/FORUMTHREADS[@CANWRITE='1']"), "Check Write Permissions"); Console.WriteLine("After bbActivateBoard"); }
public void aaCreateTopic() { Console.WriteLine("Before aaCreateTopic"); topicName = "CreateTopic" + Convert.ToString(DateTime.Now.Ticks); string url = "TopicBuilder?_msfinish=yes&_msstage=1&_msxml=+%0D%0A%09%3CMULTI-INPUT%3E%0D%0A%09%09%3CREQUIRED+NAME%3D%27TITLE%27%3E%3CVALIDATE+TYPE%3D%27EMPTY%27+%2F%3E%3C%2FREQUIRED%3E%0D%0A%09%09%3CREQUIRED+NAME%3D%27TEXT%27%3E%3CVALIDATE+TYPE%3D%27EMPTY%27+%2F%3E%3C%2FREQUIRED%3E%0D%0A%09%09%3CREQUIRED+NAME%3D%27TEXTTYPE%27+%3E%3C%2FREQUIRED%3E%09%09%0D%0A%09%09%3CREQUIRED+NAME%3D%27TOPICID%27%3E%3C%2FREQUIRED%3E%09%0D%0A%09%09%3CREQUIRED+NAME%3D%27EDITKEY%27%3E%3C%2FREQUIRED%3E%09%0D%0A%09%3C%2FMULTI-INPUT%3E%0D%0A+&cmd=create&title=" + topicName + "&text=TestBody" + topicName + "&save=+save++&skin=purexml"; DnaTestURLRequest urlRequest = new DnaTestURLRequest("haveyoursay"); urlRequest.SetCurrentUserEditor(); urlRequest.UseEditorAuthentication = true; urlRequest.RequestPage(url); XmlDocument doc = urlRequest.GetLastResponseAsXML(); Assert.IsNotNull(doc.SelectSingleNode("/H2G2/TOPIC_PAGE/ACTION[TYPE='created']"),"Check Topic Creation"); Assert.IsNotNull(doc.SelectSingleNode("/H2G2/TOPIC_PAGE/ACTION[OBJECT='" + topicName + "']"),"Check Topic Creation"); Assert.IsNull(doc.SelectSingleNode("/H2G2/ERROR"),"Error in Page"); XmlNode node = doc.SelectSingleNode("/H2G2/TOPIC_PAGE/TOPICLIST/TOPIC[TITLE='" + topicName + "']/EDITKEY"); if ( node != null ) { topicEditKey = node.InnerText; } node = doc.SelectSingleNode("/H2G2/TOPIC_PAGE/TOPICLIST/TOPIC[TITLE='" + topicName + "']/TOPICID"); if ( node != null ) { topicPreviewID = node.InnerText; } Console.WriteLine("After aaCreateTopic"); }
public void EditPost_DoEdit_ReturnsEdittedPost() { DnaTestURLRequest request = new DnaTestURLRequest(_siteName); request.SetCurrentUserEditor(); var xml = GetPost(request, @"editpost?skin=purexml&postid=" + _postId.ToString()); Assert.IsNull(xml.SelectSingleNode("H2G2/ERROR")); Assert.IsNotNull(xml.SelectSingleNode("H2G2/POST-EDIT-FORM")); var editForm = (PostEditForm)StringUtils.DeserializeObjectUsingXmlSerialiser(xml.SelectSingleNode("H2G2/POST-EDIT-FORM").OuterXml, typeof(PostEditForm)); Assert.AreEqual(_postId, editForm.PostId); var postParams = new Queue<KeyValuePair<string, string>>(); postParams = new Queue<KeyValuePair<string, string>>(); postParams.Enqueue(new KeyValuePair<string, string>("PostID", editForm.PostId.ToString())); postParams.Enqueue(new KeyValuePair<string, string>("Subject", editForm.Subject + "1")); postParams.Enqueue(new KeyValuePair<string, string>("Text", editForm.Text + "1")); postParams.Enqueue(new KeyValuePair<string, string>("Update", "Update")); postParams.Enqueue(new KeyValuePair<string, string>("hidePostReason", "")); postParams.Enqueue(new KeyValuePair<string, string>("notes", "test")); request.RequestPage("editpost?skin=purexml", false, postParams); xml = request.GetLastResponseAsXML(); var returnedForm = (PostEditForm)StringUtils.DeserializeObjectUsingXmlSerialiser(xml.SelectSingleNode("H2G2/POST-EDIT-FORM").OuterXml, typeof(PostEditForm)); Assert.AreEqual(_postId, returnedForm.PostId); Assert.AreEqual(editForm.Subject + "1", returnedForm.Subject); Assert.AreEqual(editForm.Text + "1", returnedForm.Text); }
public void missTrailingSlash() { Console.WriteLine("Before missingData - missTrailingSlash"); // working data string id = ""; string title = ""; string parentUri = ""; DnaTestURLRequest request = new DnaTestURLRequest(testUtils_CommentsAPI.sitename); // fixed input data // test variant data string postData = testUtils_CommentsAPI.makePostXml(ref id, ref title, ref parentUri); string mimeType = "text/xml"; string url = "http://" + testUtils_CommentsAPI.server + "/dna/api/comments/CommentsService.svc/v1/site/"; HttpStatusCode expectedHttpResponse = HttpStatusCode.NotFound; request.SetCurrentUserEditor(); try { request.RequestPageWithFullURL(url, postData, mimeType); } catch {// Check to make sure that the page returned with the correct information } Assert.IsTrue(request.CurrentWebResponse.StatusCode == expectedHttpResponse, "Expected "+expectedHttpResponse+", got " + request.CurrentWebResponse.StatusCode); Console.WriteLine("After missingData - missTrailingSlash"); } // ends missTrailingSlash
public void EditPost_MissingPostId_ReturnsError() { DnaTestURLRequest request = new DnaTestURLRequest(_siteName); request.SetCurrentUserEditor(); var xml = GetPost(request, @"editpost?skin=purexml"); Assert.IsNotNull(xml.SelectSingleNode("H2G2/ERROR")); Assert.IsNull(xml.SelectSingleNode("H2G2/POST-EDIT-FORM")); }
public static string CallCommentForumList(DnaTestURLRequest request, string sitename, string contactFormID, string additionalParams) { string requestURL = "https://" + DnaTestURLRequest.CurrentServer + "/dna/" + sitename + "/commentsforumlist/?s_siteid=1" + additionalParams; request.SetCurrentUserEditor(); request.AssertWebRequestFailure = false; request.RequestSecurePage(requestURL); return requestURL; }
public static string CallCommentForumList(DnaTestURLRequest request, string additionalParams) { string requestURL = "admin/commentsforumlist?s_siteid=1" + additionalParams; request.SetCurrentUserEditor(); request.AssertWebRequestFailure = false; request.RequestSecurePage(requestURL); return requestURL; }
/// <summary> /// Helper Function for Tests that require an editors pick. /// </summary> /// <param name="commentId"></param> public void CreateEditorsPickHelper( String siteName, int commentId ) { // Setup the request url string url = String.Format("http://" + _server + "/dna/api/comments/CommentsService.svc/V1/site/{0}/comments/{1}/editorpicks/", _sitename, commentId); DnaTestURLRequest request = new DnaTestURLRequest(siteName); request.SetCurrentUserEditor(); request.RequestPageWithFullURL(url, "No data to send", "text/xml"); }
public void inXMLoutXML() { Console.WriteLine("Before formatParamTests - inXMLoutXML"); // test variant data string mimeType = "text/xml"; string formatParam = "XML"; HttpStatusCode expectedResponseCode = HttpStatusCode.OK; // working data string id = ""; string title = ""; string parentUri = ""; // make the post as XML data string postData = testUtils_ratingsAPI.makeCreatePostXml_minimal(ref id, ref title, ref parentUri); string url = testUtils_ratingsAPI.makeCreateForumUrl() + "?format=" + formatParam; DnaTestURLRequest request = new DnaTestURLRequest(testUtils_ratingsAPI.sitename); request.SetCurrentUserEditor(); try { request.RequestPageWithFullURL(url, postData, mimeType); } catch { string resp = request.GetLastResponseAsString(); // usefull when debugging if (expectedResponseCode == HttpStatusCode.OK) Assert.Fail("Fell over: " + resp); } Assert.IsTrue( request.CurrentWebResponse.StatusCode == expectedResponseCode, "HTTP repsonse. Expected:" + expectedResponseCode + " actually got " + request.CurrentWebResponse.StatusCode ); XmlDocument xml = request.GetLastResponseAsXML(); DnaXmlValidator validator = new DnaXmlValidator(xml.InnerXml, testUtils_ratingsAPI._schemaRatingForum); validator.Validate(); BBC.Dna.Api.RatingForum returnedForum = (BBC.Dna.Api.RatingForum)StringUtils.DeserializeObject(request.GetLastResponseAsString(), typeof(BBC.Dna.Api.RatingForum) ); Assert.IsTrue(returnedForum.Id == id); Assert.IsTrue(returnedForum.Title == title); Assert.IsTrue(returnedForum.ParentUri == parentUri); Assert.IsTrue(returnedForum.ratingsList.TotalCount == 0); Console.WriteLine("After formatParamTests - inXMLoutXML"); } // ends inXMLoutXML
public void UserList_AsEditorUser_ReturnsAuthorised() { var request = new DnaTestURLRequest(_siteName); request.SetCurrentUserEditor(); request.UseEditorAuthentication = true; request.RequestPage("userlist?skin=purexml"); var xml = request.GetLastResponseAsXML(); CheckNoError(xml); }
public void editorUser() { Console.WriteLine("Before userTypes - editorUser"); DnaTestURLRequest request = new DnaTestURLRequest(testUtils_ratingsAPI.sitename); request.SetCurrentUserEditor(); doIt_xml(request, HttpStatusCode.OK); Console.WriteLine("After userTypes - editorUser"); }
public void TermsFilterAdminPage_WithEditorAuthenticationAsEditor_AccessDenied() { var siteName = "moderation"; var request = new DnaTestURLRequest(siteName) { UseEditorAuthentication = true }; request.SetCurrentUserEditor(); request.RequestPage("termsfilteradmin?modclassid=2&skin=purexml"); var doc = request.GetLastResponseAsXML(); Assert.AreEqual("ERROR",doc.SelectSingleNode("//H2G2").Attributes["TYPE"].Value); Assert.IsNotNull(doc.SelectSingleNode("//H2G2/ERROR/ERRORMESSAGE")); Assert.IsNull(doc.SelectSingleNode("//H2G2/TERMADMIN")); }
public void TestModerateHomePageNonSecure() { Console.WriteLine("Before ModerateHome Page Tests - TestModerateHomePageNonSecure"); DnaTestURLRequest request = new DnaTestURLRequest("haveyoursay"); request.SetCurrentUserEditor(); request.UseEditorAuthentication = true; request.RequestPage(@"NModerate?skin=purexml"); XmlDocument xml = request.GetLastResponseAsXML(); Assert.IsNotNull(xml.SelectSingleNode("H2G2/ERROR")); Console.WriteLine("After ModerateHome Page Tests - TestModerateHomePageNonSecure"); }
public void TermsFilterImportPage_WithEditorAuthenticationAsEditor_AccessDenied() { var siteName = "moderation"; var request = new DnaTestURLRequest(siteName) { UseEditorAuthentication = true }; request.SetCurrentUserEditor(); request.RequestPage("termsfilterimport?&skin=purexml"); var doc = request.GetLastResponseAsXML(); Assert.IsNotNull(doc.SelectSingleNode("//H2G2/ERROR")); Assert.IsNotNull(doc.SelectSingleNode("//H2G2/ERROR/ERRORMESSAGE")); Assert.IsNull(doc.SelectSingleNode("//H2G2/TERMADMIN")); }
public void TestModerateHomePageNonSecure() { Console.WriteLine("Before moderationhome Page Tests - TestModerateHomePageNonSecure"); DnaTestURLRequest request = new DnaTestURLRequest("moderation"); request.SetCurrentUserEditor(); request.UseDebugUserSecureCookie = false; request.RequestPage(@"moderationhome?skin=purexml"); XmlDocument xml = request.GetLastResponseAsXML(); Assert.IsNotNull(xml.SelectSingleNode("H2G2/ERROR")); Console.WriteLine("After moderationhome Page Tests - TestModerateHomePageNonSecure"); }
public void TestModerateHomePageSecure() { Console.WriteLine("Before moderationhome Page Tests - TestModerateHomePageSecure"); DnaTestURLRequest request = new DnaTestURLRequest("moderation"); request.UseEditorAuthentication = true; request.SetCurrentUserEditor(); request.RequestSecurePage(@"moderationhome?skin=purexml"); XmlDocument xml = request.GetLastResponseAsXML(); Console.WriteLine("After moderationhome Page Tests - TestModerateHomePageSecure"); }
public void Test2_CreateUneditedArticleCount() { DnaTestURLRequest dnaRequest = new DnaTestURLRequest("h2g2"); dnaRequest.SetCurrentUserEditor(); IInputContext context = DnaMockery.CreateDatabaseInputContext(); //DnaTestURLRequest dnaRequest = new DnaTestURLRequest("h2g2"); dnaRequest.SetCurrentUserEditor(); dnaRequest.UseEditorAuthentication = true; string relativePath = @"Info?cmd=TUE&skin=purexml"; dnaRequest.RequestPage(relativePath); XmlDocument xmlResponse = dnaRequest.GetLastResponseAsXML(); //check for error tag XmlNode xmlError = xmlResponse.SelectSingleNode("/H2G2/ERROR"); Assert.IsTrue(xmlError == null, "Incorrect error returned"); XmlNode xmlSub = xmlResponse.SelectSingleNode("/H2G2/INFO"); Assert.IsTrue(xmlSub != null, "Incorrect data returned"); DnaXmlValidator validator = new DnaXmlValidator(xmlSub.OuterXml, "info_uneditedentries.xsd"); validator.Validate(); }
public void TestModeratePostsPageXml() { DnaTestURLRequest request = new DnaTestURLRequest("haveyoursay"); request.SetCurrentUserEditor(); request.UseEditorAuthentication = true; request.RequestPage(@"ModeratePosts?modclassid=1&skin=purexml"); XmlDocument xml = request.GetLastResponseAsXML(); Assert.IsTrue(xml.SelectSingleNode("H2G2") != null, "The page does not exist!!!"); DnaXmlValidator validator = new DnaXmlValidator(xml.InnerXml, "H2G2ModeratePosts.xsd"); validator.Validate(); }
public void SiteManager_GetKnownSiteWithEditorUser_ReturnsCorrectError() { var request = new DnaTestURLRequest(_siteName); request.SetCurrentUserEditor(); request.UseEditorAuthentication = true; request.RequestPage("sitemanager?skin=purexml"); var xmlDoc = request.GetLastResponseAsXML(); ValidateError(xmlDoc, "INVALID PERMISSIONS"); }
public void TestComplaintBannedEmailIsCaught() { // First make sure that the test user can make a complint before we put the email in the banned emails list DnaTestURLRequest request = new DnaTestURLRequest("h2g2"); request.SetCurrentUserNormal(); int userID = request.CurrentUserID; request.RequestPage("UserComplaintPage?postid=2&skin=purexml"); XmlDocument xml = request.GetLastResponseAsXML(); // Check to make sure that no errors came back Assert.IsTrue(xml.SelectSingleNode("//USER-COMPLAINT-FORM/ERROR") == null, "There should not be any errors present in the XML!"); try { // Now put the users email into the banned emails list for complaints IInputContext context = DnaMockery.CreateDatabaseInputContext(); using (IDnaDataReader reader = context.CreateDnaDataReader("AddEMailToBannedList")) { reader.AddParameter("Email", "*****@*****.**");//this is dotnetnormaluser's email reader.AddParameter("SigninBanned", 0); reader.AddParameter("ComplaintBanned", 1); reader.AddParameter("EditorID", 6); reader.AddIntReturnValue(); reader.Execute(); var duplicate = reader.GetIntReturnValue(); Assert.AreEqual(0, duplicate, "The Duplicate result should be false (0)"); request.RequestPage("dnasignal?action=recache-bannedEmails"); } // Now try to complain again request.RequestPage("UserComplaintPage?postid=2&skin=purexml"); request.SetCurrentUserEditor(); xml = request.GetLastResponseAsXML(); // Check to make sure that no errors came back Assert.IsTrue(xml.SelectSingleNode("//ERROR") != null, "There should be an error present in the XML!"); Assert.IsTrue(xml.SelectSingleNode("//ERROR[@TYPE='EMAILNOTALLOWED']") != null, "There should be an EMAILNOTALLOWED error present in the XML!"); } finally { IInputContext context = DnaMockery.CreateDatabaseInputContext(); using (IDnaDataReader reader = context.CreateDnaDataReader("")) { reader.ExecuteDEBUGONLY("exec removebannedemail @email='*****@*****.**'");//this is dotnetnormaluser's email request.RequestPage("dnasignal?action=recache-bannedEmails"); } } }
public void GetCallingUserInfo_AsEditor_ReturnsEditorItemInGroup() { Console.WriteLine("Before GetCallingUserInfo_AsEditor_ReturnsEditorItemInGroup"); DnaTestURLRequest request = new DnaTestURLRequest("h2g2"); request.SetCurrentUserEditor(); request.RequestPageWithFullURL(callinguser_url); BBC.Dna.Users.User user = (BBC.Dna.Users.User)StringUtils.DeserializeObject(request.GetLastResponseAsXML().OuterXml, typeof(BBC.Dna.Users.User)); Assert.IsNotNull(user.UsersListOfGroups.Find(x => x.Name.ToLower() == "editor")); Console.WriteLine("After GetCallingUserInfo_AsEditor_ReturnsEditorItemInGroup"); }
public void Test02_CorrectReturnViewing() { DnaTestURLRequest dnaRequest = new DnaTestURLRequest("h2g2"); dnaRequest.SetCurrentUserEditor(); IInputContext context = DnaMockery.CreateDatabaseInputContext(); //DnaTestURLRequest dnaRequest = new DnaTestURLRequest("h2g2"); dnaRequest.SetCurrentUserEditor(); dnaRequest.UseEditorAuthentication = true; string relativePath = @"AllocateSubs?skin=purexml"; dnaRequest.RequestPage(relativePath); XmlDocument xmlResponse = dnaRequest.GetLastResponseAsXML(); //check for error tag XmlNode xmlError = xmlResponse.SelectSingleNode("/H2G2/ERROR"); Assert.IsTrue(xmlError == null, "Incorrect error returned"); XmlNode xmlSub = xmlResponse.SelectSingleNode("/H2G2/SUB-ALLOCATION-FORM"); Assert.IsTrue(xmlSub != null, "Incorrect data returned"); DnaXmlValidator validator = new DnaXmlValidator(xmlSub.OuterXml, "AllocateSubs.xsd"); validator.Validate(); }
public void TestModerateHomePageXml() { DnaTestURLRequest request = new DnaTestURLRequest("moderation"); //Cookie cookie; //string testUserName; //SetupIdentityEditorUser(request, out cookie, out testUserName); request.UseEditorAuthentication = true; request.SetCurrentUserEditor(); request.RequestSecurePage(@"moderationhome?skin=purexml"); XmlDocument xml = request.GetLastResponseAsXML(); DnaXmlValidator validator = new DnaXmlValidator(xml.InnerXml, "H2G2ModerateHome.xsd"); validator.Validate(); //TestUserCreator.DeleteIdentityUser(cookie, testUserName); }
public void AddStickyThread_WithoutSiteOption_ReturnsError() { var siteName = "mbiplayer"; var request = new DnaTestURLRequest(siteName); request.SetCurrentUserEditor(); request.RequestPage("NF7325075?cmd=MAKETHREADSTICKY&stickythreadid=34&skin=purexml"); _forumPageTests.ValidateForumSchema(siteName, request); var doc = request.GetLastResponseAsXML(); Assert.IsNotNull(doc.SelectSingleNode("//H2G2/ERROR")); Assert.IsNotNull(doc.SelectSingleNode("//H2G2/ERROR/ERRORMESSAGE")); Assert.AreEqual("'EnableStickyThreads' site option is false.", doc.SelectSingleNode("//H2G2/ERROR/ERRORMESSAGE").InnerText); }
public void TestModeratePostsPageXml() { //Get an item in to the queue. ModerateItems_V1 exlinks = new ModerateItems_V1(); exlinks.AddComplaintItemToModQueue(); //Check the item is in the queue DnaTestURLRequest request = new DnaTestURLRequest("moderation"); request.SetCurrentUserEditor(); request.UseEditorAuthentication = true; request.RequestPage(@"ModerateExLinks?modclassid=1&alerts=1&skin=purexml"); XmlDocument xml = request.GetLastResponseAsXML(); Assert.IsTrue(xml.SelectSingleNode("H2G2") != null, "The page does not exist!!!"); DnaXmlValidator validator = new DnaXmlValidator(xml.InnerXml, "H2G2ModerateExLinksPage.xsd"); validator.Validate(); }
public CommentForum CommentForumCreateHelper() { string nameSpace = "Tests"; string id = Guid.NewGuid().ToString(); ModerationStatus.ForumStatus moderationStatus = ModerationStatus.ForumStatus.Reactive; DateTime closingDate = DateTime.MinValue; Console.WriteLine("Before CreateCommentForum"); var request = new DnaTestURLRequest(_sitename); request.SetCurrentUserEditor(); string title = "Functiontest Title"; string parentUri = "http://www.bbc.co.uk/dna/h2g2/"; string commentForumXml = String.Format("<commentForum xmlns=\"BBC.Dna.Api\">" + "<id>{0}</id>" + "<namespace>{3}</namespace>" + "<title>{1}</title>" + "<parentUri>{2}</parentUri>" + "<closeDate>{4}</closeDate>" + "<moderationServiceGroup>{5}</moderationServiceGroup>" + "</commentForum>", id, title, parentUri, nameSpace, closingDate.ToString("yyyy-MM-dd"), moderationStatus); // Setup the request url string url = String.Format("http://" + _server + "/dna/api/comments/CommentsService.svc/V1/site/{0}/", _sitename); // now get the response request.RequestPageWithFullURL(url, commentForumXml, "text/xml"); // Check to make sure that the page returned with the correct information // Check to make sure that the page returned with the correct information XmlDocument xml = request.GetLastResponseAsXML(); var validator = new DnaXmlValidator(xml.InnerXml, _schemaCommentForum); validator.Validate(); var returnedForum = (CommentForum) StringUtils.DeserializeObject(request.GetLastResponseAsString(), typeof (CommentForum)); Assert.IsTrue(returnedForum.Id == id); Assert.IsTrue(returnedForum.ParentUri == parentUri); Assert.IsTrue(returnedForum.Title == title); Assert.IsTrue(returnedForum.ModerationServiceGroup == moderationStatus); return returnedForum; }
public void TestMemberDetailsAdminPage() { DnaTestURLRequest request = new DnaTestURLRequest("moderation"); request.SetCurrentUserEditor(); request.UseEditorAuthentication = true; string requestURL = "MemberDetails?skin=purexml&userid=" + request.CurrentUserID.ToString(); request.RequestPage(requestURL); XmlDocument doc = request.GetLastResponseAsXML(); //Validate XML DnaXmlValidator validator = new DnaXmlValidator(doc.InnerXml, "H2G2MemberDetailsAdmin.xsd"); validator.Validate(); //Check at least the user specified is included in the alternate identites. XmlNode node = doc.SelectSingleNode("H2G2/MEMBERDETAILSLIST/MEMBERDETAILS/USER[USERID='" + Convert.ToString(request.CurrentUserID) + "']"); Assert.IsNotNull(node); }