/* [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"); }
[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); }
[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); }
[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(); }
[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); }
//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); }
//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"); }
//[Assert_Admin] [Test] public void CheckErrorHandling() { Assert.Throws <ProtocolException>(() => TmRest.users()); CheckLogin(); //logs in as admin TmRest.users(); }
[Test] public void Test_SessionID() { var sessionId = TmRest.SessionId(); Assert.IsNotNull(sessionId, "SessionId was null"); "sessionId (direct access): {0}".info(sessionId); }
[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); }
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()); }
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"); }
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); }
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"); }
[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"); }
[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); }
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); }
//[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(); }
[Test][Assert_Admin] public void TBot_Run() { var commandsHtml = TmRest.TBot_Run("commands").cast <MemoryStream>().ascii(); Assert.NotNull(commandsHtml); }