Ejemplo n.º 1
0
/*        [Test][Assert_Admin] public void TBot_Json()
 *      {
 *          var statusJson  = TmRest.TBot_Json("json_Stats").cast<MemoryStream>().ascii().lower();
 *          Assert.NotNull    (statusJson);
 *          Assert.IsTrue     (statusJson.contains("'status'"));
 *          var jsonData = statusJson.json_Deserialize();
 *          Assert.NotNull    (jsonData);
 *
 *          //test for empty and nulls
 *          var noJson    = TmRest.TBot_Json("abcdef12345").cast<MemoryStream>().ascii().lower();
 *          var emptyJson    = TmRest.TBot_Json("").cast<MemoryStream>().ascii().lower();
 *          var nullJson    = TmRest.TBot_Json(null).cast<MemoryStream>().ascii().lower();
 *          Assert.AreEqual   ("{}", noJson    , "noJson");
 *          Assert.AreEqual   ("{}", emptyJson , "emptyJson");
 *          Assert.AreEqual   ("{}", nullJson  , "nullJson");
 *      }*/

        [Test] public void RedirectToLoginOnNoAdmin()
        {
            UserGroup.None.assert();                                    // remove all privileges

            TmRest.TBot_Run("abc").cast <MemoryStream>().ascii()
            .assert_Equals("Redirecting to Login Page...\n\n");
        }
Ejemplo n.º 2
0
        [Test]  public void CheckLogin()
        {
            var identity_IsAuthenticated = TmRest.RBAC_CurrentIdentity_IsAuthenticated();
            var identity_Name            = TmRest.RBAC_CurrentIdentity_Name();
            var identity_Roles           = TmRest.RBAC_CurrentPrincipal_Roles();
            var identity_IsAdmin         = TmRest.RBAC_IsAdmin();

            Assert.IsTrue(identity_IsAuthenticated);
            Assert.IsNull(identity_Name);
            Assert.AreEqual(identity_Roles.size(), 2);
            Assert.IsFalse(identity_IsAdmin);
            var username  = tmConfig.TMSecurity.Default_AdminUserName;
            var pwd       = tmConfig.TMSecurity.Default_AdminPassword;
            var sessionId = TmRest.Login(username, pwd);

            Assert.AreNotEqual(Guid.Empty, sessionId);

            identity_IsAuthenticated = TmRest.RBAC_CurrentIdentity_IsAuthenticated();
            identity_Name            = TmRest.RBAC_CurrentIdentity_Name();

            Assert.IsTrue(identity_IsAuthenticated);
            Assert.AreEqual(username, identity_Name);

            //without the CSRF-token these should fail

            Assert.IsFalse(TmRest.RBAC_IsAdmin());
            Assert.AreEqual(TmRest.RBAC_CurrentPrincipal_Roles().size(), 2);

            sessionId.set_Guid_as_CsrfToken_on_Request();

            //Now the mappings should work

            Assert.IsTrue(TmRest.RBAC_IsAdmin());
            Assert.AreEqual(TmRest.RBAC_CurrentPrincipal_Roles().size(), 6);
        }
Ejemplo n.º 3
0
        [Test] public void SendEmail()
        {
            var emailsSent_Before = SendEmails.Sent_EmailMessages.size();
            var to      = "*****@*****.**";
            var subject = "a subject";
            var message = "a message".line();
            //var extraText         = "\r\nSent by TeamMentor. \r\n\r\n";
            var emailMessagePost = new EmailMessage_Post
            {
                To      = to,
                Subject = subject,
                Message = message
            };

            TmRest.SendEmail(emailMessagePost);

            var sentMessages     = SendEmails.Sent_EmailMessages;
            var emailsSent_After = sentMessages.size();
            var lastMessage      = sentMessages.last();

            Assert.IsTrue(new SendEmails().serverNotConfigured());

            Assert.AreEqual(emailsSent_Before + 1, emailsSent_After);
            Assert.AreEqual(lastMessage.To, emailMessagePost.To);
            Assert.AreEqual(lastMessage.Subject, emailMessagePost.Subject);
            Assert.AreEqual(lastMessage.Message, emailMessagePost.Message.line() + TMConsts.EMAIL_DEFAULT_FOOTER);
        }
Ejemplo n.º 4
0
        [Test][Assert_Admin] public void TBot_Render()
        {
            UserGroup.Admin.assert();
            var commandsHtml   = TmRest.TBot_Run("commands").cast <MemoryStream>().ascii().lower();
            var commandsRender = TmRest.TBot_Render("commands").cast <MemoryStream>().ascii().lower();

            Assert.NotNull(commandsHtml);
            Assert.NotNull(commandsRender);

            Assert.AreNotEqual(commandsHtml, commandsRender);
            Assert.IsTrue(commandsHtml.contains("<body>"), "commandsHtml should have <body>");
            Assert.IsFalse(commandsRender.contains("<body>"), "commandsRender should not have <body>");
            Assert.IsTrue(commandsHtml.contains(commandsRender));
            Assert.IsFalse(commandsRender.contains(commandsHtml));

            //test for empty and nulls
            var noRender    = TmRest.TBot_Render("abcdef12345").cast <MemoryStream>().ascii().lower();
            var emptyRender = TmRest.TBot_Render("").cast <MemoryStream>().ascii().lower();
            var nullRender  = TmRest.TBot_Render(null).cast <MemoryStream>().ascii().lower();

            Assert.AreEqual("", noRender);
            Assert.AreEqual("", emptyRender);
            Assert.AreEqual("", nullRender);
            UserGroup.None.assert();
        }
Ejemplo n.º 5
0
        [Test] public void SendEmail()
        {
            var emailsSent_Before = SendEmails.Sent_EmailMessages.size();
            var to               = "*****@*****.**";
            var subject          = "a subject";
            var message          = "a message";
            var emailMessagePost = new EmailMessage_Post
            {
                To      = to,
                Subject = subject,
                Message = message
            };

            TmRest.SendEmail(emailMessagePost);

            var sentMessages     = SendEmails.Sent_EmailMessages;
            var emailsSent_After = sentMessages.size();
            var lastMessage      = sentMessages.last();

            Assert.IsTrue(new SendEmails().serverNotConfigured());
            Assert.Greater(emailsSent_Before, 0);
            Assert.AreNotEqual(emailsSent_Before, emailsSent_After);
            Assert.AreEqual(lastMessage.To, emailMessagePost.To);
            Assert.AreEqual(lastMessage.Subject, emailMessagePost.Subject);
            Assert.AreEqual(lastMessage.Message, emailMessagePost.Message);
        }
        [Test]  public void CheckLogin()
        {
            var identity_IsAuthenticated = TmRest.RBAC_CurrentIdentity_IsAuthenticated();
            var identity_Name            = TmRest.RBAC_CurrentIdentity_Name();
            var identity_Roles           = TmRest.RBAC_CurrentPrincipal_Roles();
            var identity_IsAdmin         = TmRest.RBAC_IsAdmin();

            Assert.IsTrue(identity_IsAuthenticated);
            Assert.IsNull(identity_Name);
            Assert.AreEqual(identity_Roles.size(), 1);
            Assert.IsFalse(identity_IsAdmin);
            var username  = tmConfig.TMSecurity.Default_AdminUserName;
            var pwd       = tmConfig.TMSecurity.Default_AdminPassword;
            var sessionId = TmRest.Login(username, pwd);

            Assert.AreNotEqual(Guid.Empty, sessionId);

            identity_IsAuthenticated = TmRest.RBAC_CurrentIdentity_IsAuthenticated();
            identity_Name            = TmRest.RBAC_CurrentIdentity_Name();
            identity_Roles           = TmRest.RBAC_CurrentPrincipal_Roles();
            identity_IsAdmin         = TmRest.RBAC_IsAdmin();

            Assert.IsTrue(identity_IsAuthenticated);
            Assert.AreEqual(username, identity_Name);
            Assert.AreEqual(identity_Roles.size(), 5);
            Assert.IsTrue(identity_IsAdmin);
        }
Ejemplo n.º 7
0
        //public static ITM_REST RestAdmin { get; set; }

        /*[SetUp]
         * public static void Setup()
         * {
         *      HttpContextFactory.Context = new API_Moq_HttpContext().httpContext();
         *      //TMConfig.Current.UseAppDataFolder = true;
         *      //RestAdmin = new TM_REST();
         * }*/

        [Test] public void Test_Version()
        {
            var version = TmRest.Version();

            Assert.IsNotNull(version, "Version was null");
            "version (direct access): {0}".info(version);
        }
Ejemplo n.º 8
0
        //Helper methods
        public void SetUpNGit()
        {
            TmRest.TBot_Run("Git");// trigger unpack of NGit and Sharpen dlls
            var fluentSharpGit = new O2.FluentSharp.API_NGit();

            Assert.NotNull(fluentSharpGit, "fluentSharpGit was null");
        }
Ejemplo n.º 9
0
        //[Assert_Admin]
        [Test]  public void CheckErrorHandling()
        {
            Assert.Throws <ProtocolException>(() => TmRest.users());
            CheckLogin();       //logs in as admin

            TmRest.users();
        }
Ejemplo n.º 10
0
        [Test] public void Test_SessionID()
        {
            var sessionId = TmRest.SessionId();

            Assert.IsNotNull(sessionId, "SessionId was null");
            "sessionId (direct access): {0}".info(sessionId);
        }
Ejemplo n.º 11
0
        [Test] public void Invoke_O2_Script_Library()
        {
            var result = TmRest.Admin_InvokeScript("AAAAAAAAAA");

            Assert.AreEqual("script not found", result);
            result = TmRest.Admin_InvokeScript("ping");
            Assert.AreEqual("pong", result);
        }
Ejemplo n.º 12
0
        public void Test_GetUsers()
        {
            var users = TmRest.users();

            Assert.IsNotNull(users, "users object was null");
            Assert.IsTrue(users.size() > 0, "users object was empty");
            "There were {0} users fetched: {0}".info(users.size());
        }
Ejemplo n.º 13
0
        public void TbotMainPage()
        {
            var showTbotHtml     = TmRest.TBot_Show().cast <MemoryStream>().ascii();
            var tbotMainHtmlFile = HttpContextFactory.Server.MapPath(TBot_Brain.TBOT_MAIN_HTML_PAGE);

            Assert.IsNotNull(tbotMainHtmlFile, "tbotMainHtmlFile was null");
            Assert.IsTrue(tbotMainHtmlFile.fileExists(), "tbotMainHtmlFile didn't exist");
            Assert.IsNotNull(showTbotHtml);
            Assert.IsTrue(showTbotHtml.contains("bootstrap.min.css"), "Couldn't find bootstrap.min.css");
        }
Ejemplo n.º 14
0
        public void RedirectToLoginOnNoAdmin()
        {
            var response = HttpContextFactory.Response;

            Assert.IsFalse(response.IsRequestBeingRedirected);
            Assert.AreEqual("", response.RedirectLocation);
            Assert.Throws <Exception>(() => TmRest.TBot_Show());
            Assert.IsTrue(response.IsRequestBeingRedirected);
            Assert.AreEqual("/Login?LoginReferer=/tbot", response.RedirectLocation);
        }
Ejemplo n.º 15
0
        public void Script_GitStatus()
        {
            SetUpNGit();
            var responseStream = (MemoryStream)TmRest.TBot_Run("GitStatus");// trigger unpack of NGit and Sharpen dlls
            var html           = responseStream.ascii();

            Assert.NotNull(html);
            //html.info();
            Assert.IsFalse(html.contains("Unable to compile template"), "Compilation error");
            Assert.IsFalse(html.contains("<hr /><b>Exception:</b> "), "Execution Exception");
        }
Ejemplo n.º 16
0
        [Test]  public void Test_User()
        {
            var user = TmRest.user("admin");

            Assert.IsNotNull(user, "user object was null");
            Assert.IsTrue(user.UserName.valid(), "userUserName was not vaild");
            //"UserData : {0}".writeLine_Trace(user.serialize(false));

            var userById = TmRest.user(user.UserId.str());

            Assert.IsNotNull(userById, "userById object was null");
            Assert.IsTrue(userById.UserName.valid(), "userById.UserName was not vaild");
        }
Ejemplo n.º 17
0
        [Test] public void Login()
        {
            var tmConfig    = TMConfig.Current;
            var credentials = new TM_Credentials {
                UserName = tmConfig.TMSecurity.Default_AdminUserName, Password = tmConfig.TMSecurity.Default_AdminPassword
            };
            //login with default value
            var sessionId = TmRest.Login_using_Credentials(credentials);

            Assert.AreNotEqual(sessionId, Guid.Empty);
            //login with a bad password
            credentials.Password = "******";
            sessionId            = TmRest.Login_using_Credentials(credentials);
            Assert.AreEqual(sessionId, Guid.Empty);
        }
        [Test]  public void CheckWebServiceHost()
        {
            var html = TmRestHost.BaseAddress.append("/Version").getHtml();

            Assert.IsTrue(html.valid(), "Html fetch failed");
            //test version
            var version = TmRest.Version();

            Assert.NotNull(version, "Version was null");
            "version (hosted access): {0}".info(version);
            //test sessionID
            var sessionId = TmRest.SessionId();

            Assert.NotNull(sessionId, "sessionID was null");
            "sessionID (hosted access): {0}".info(sessionId);
        }
Ejemplo n.º 19
0
        public void SetUp()
        {
            var assembly        = this.type().Assembly;
            var dllLocation     = assembly.CodeBase.subString(8);
            var webApplications = dllLocation.parentFolder().pathCombine(@"\..\..\..");

            TMRestUser = new TM_REST();
            var tmWebsite = webApplications.pathCombine("TM_Website");

            moq_HttpContext = new API_Moq_HttpContext(tmWebsite);
            var tmConfig    = TMConfig.Current;
            var credentials = new TM_Credentials {
                UserName = tmConfig.TMSecurity.Default_AdminUserName, Password = tmConfig.TMSecurity.Default_AdminPassword
            };
            //login with default value
            var sessionId = TmRest.Login_using_Credentials(credentials);
        }
Ejemplo n.º 20
0
        //[Ignore("trigger manually since it takes a while to compile all Tbot scripts")]
        public void Script_Run_AllScripts()
        {
            UserGroup.Admin.assert();

            TmRest.TBot_Run("Git");                 // trigger unpack of NGit and Sharpen dlls
            var fluentSharpGit = new API_NGit();

            Assert.NotNull(fluentSharpGit, "fluentSharpGit was null");


            // Load dlls as required by some TBot pages:
            "System.Xml.Linq".assembly().assert_Not_Null();   // Import Legacy Users
            "FluentSharp.Xml".assembly().assert_Not_Null();   // Import Legacy Users
            "TeamMentor.AspNet".assembly().assert_Not_Null(); // DebugInfo
            //"System.Web"     .assembly().assert_Not_Null(); // IIS Sessions

            var tbotBrain = new TBot_Brain(TmRest);

            foreach (var scriptName in tbotBrain.scriptsNames())
            {
                if (scriptName.equals("GitDiff_UserData_Commit", "GitDiff_UserData_File"))        // there is a prob is this Tbot page (currently not exposed to users)
                {
                    continue;
                }
                //if (scriptName != "Json_UserTags") continue;
                "================= Executing TBot script: {0}".info(scriptName);
                var html = tbotBrain.ExecuteRazorPage(scriptName); //"View_Emails_Sent");
                Assert.IsNotNull(html, "for :{0}".format(scriptName));
                var compileError = html.contains("Unable to compile template");
                if (compileError)
                {
                    html.info();
                    Assert.Fail("Failed to compile: {0}".format(scriptName));
                }
                var executionError = html.contains("Opps: Something went wrong:");
                if (executionError)
                {
                    html.info();
                    Assert.Fail("Execution error: on  {0}".format(scriptName));
                }
            }

            //"test webBrowser".popupWindow().add_WebBrowser().set_Html(html).waitForClose();
        }
Ejemplo n.º 21
0
        [Test][Assert_Admin] public void TBot_Run()
        {
            var commandsHtml = TmRest.TBot_Run("commands").cast <MemoryStream>().ascii();

            Assert.NotNull(commandsHtml);
        }