public void ContentNewUser_PointsToValidPage_UserPageGetsPageContents() { // Log in as ADMIN Plug p = Utils.BuildPlugForAdmin(); DreamMessage msg; // Create page content/new-user points to string content = "test userpage content"; string pageid; string path; PageUtils.SavePage(p, String.Empty, PageUtils.GenerateUniquePageName(), content, out pageid, out path); // Add content/new-user key SiteUtils.AddConfigKey(p, "content/new-user", path); // Create a user string userid; string username; UserUtils.CreateRandomContributor(p, out userid, out username); // Retrieve a page id. This is to render the template using the "pageid" parameter in the page/{pageid}/contents feature. msg = PageUtils.GetPage(p, String.Empty); Assert.AreEqual(DreamStatus.Ok, msg.Status, "Failed to retrieve home page"); uint homepageid = msg.ToDocument()["@id"].AsUInt ?? 0; Assert.IsTrue(homepageid > 0, "Invalid homepage ID"); // Retrieve user page contents and verify it matches content msg = p.At("pages", "=" + XUri.DoubleEncode("User:"******"contents").With("pageid", homepageid).Get(new Result <DreamMessage>()).Wait(); Assert.AreEqual(DreamStatus.Ok, msg.Status, "Failed to retrieve user page contents"); Assert.AreEqual(content, msg.ToDocument()["body"].AsText ?? String.Empty, "Unexpected contents"); }
public void HomePageGrantRole_ValidKey_UserGetsGrant() { // Log in as ADMIN Plug p = Utils.BuildPlugForAdmin(); // Add security/homepage-grant-role key string role = "Viewer"; SiteUtils.AddConfigKey(p, "security/homepage-grant-role", role); // Create a user string userid; string username; UserUtils.CreateRandomContributor(p, out userid, out username); // Retrieve user page DreamMessage msg = PageUtils.GetPage(p, "User:"******"Could not retrieve user page."); // Check that user received the grant XDoc grant = msg.ToDocument()["security/grants/grant[user/@id=" + userid + "]"]; Assert.IsFalse(grant.IsEmpty, "User was not given a grant?!"); Assert.AreEqual(role, grant["permissions/role"].AsText ?? String.Empty, "Unexpected role."); }
public void ContentNewUser_PointsToInvalidPage_DefaultUserPageContents() { // Log in as ADMIN Plug p = Utils.BuildPlugForAdmin(); // Add content/new-user key to point to some bogus page SiteUtils.AddConfigKey(p, "content/new-user", Utils.GenerateUniqueName()); // Create a user string userid; string username; UserUtils.CreateRandomContributor(p, out userid, out username); // Retrieve user page contents DreamMessage msg = p.At("pages", "=" + XUri.DoubleEncode("User:"******"contents").Get(new Result <DreamMessage>()).Wait(); Assert.AreEqual(DreamStatus.Ok, msg.Status, "Failed to retrieve user page contents"); string content = msg.ToDocument()["body"].AsText ?? String.Empty; // Retrieve default new user page content from resources string resource = "MindTouch.Templates.userwelcome.visitor"; msg = p.At("site", "localization").With("resource", resource).Get(new Result <DreamMessage>()).Wait(); Assert.AreEqual(DreamStatus.Ok, msg.Status, "Unable to retrieve resource for string: " + resource); string expectedContent = "<p>" + msg.AsText() + "</p>" ?? String.Empty; Assert.AreEqual(expectedContent, content, "Unexpected contents"); }
public void HomePageGrantRole_InvalidKey_NoGrant() { // Log in as ADMIN Plug p = Utils.BuildPlugForAdmin(); // Add security/homepage-grant-role key with some random value SiteUtils.AddConfigKey(p, "security/homepage-grant-role", Utils.GenerateUniqueName()); // Create a user string userid; string username; UserUtils.CreateRandomContributor(p, out userid, out username); // Retrieve user page DreamMessage msg = PageUtils.GetPage(p, "User:"******"Could not retrieve user page."); // Check that user did not receive grant XDoc grant = msg.ToDocument()["security/grants/grant[user/@id=" + userid + "]"]; Assert.IsTrue(grant.IsEmpty, "User has grant?!"); }