コード例 #1
0
        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");
        }
コード例 #2
0
        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.");
        }
コード例 #3
0
        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");
        }
コード例 #4
0
        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?!");
        }