[Test] public void login_As_Admin() { //check webServices.Cached_CurrentUser var adminUser = tfWebServices.QAConfig.testUser("qa-admin"); loginAsUser_and_Check_Cached_CurrentUser(tfWebServices.login_As_Admin, adminUser); Assert.IsTrue(webServices.RBAC_IsAdmin()); Assert.IsTrue(webServices.RBAC_HasRole("Admin")); Assert.IsTrue(webServices.RBAC_HasRole("ManageUsers")); Assert.IsTrue(webServices.RBAC_HasRole("EditArticles")); Assert.IsTrue(webServices.RBAC_HasRole("ReadArticles")); Assert.IsFalse(webServices.RBAC_HasRole("aabbcc")); //check webServices.current_User() Assert.IsTrue(webServices.logout()); // logout Assert.IsNull(webServices.current_User()); Assert.NotNull(tfWebServices.login_As_Admin()); // login Assert.IsTrue(webServices.RBAC_IsAdmin()); Assert.IsNotNull(webServices.current_User()); Assert.AreEqual(webServices.current_User().UserName, adminUser.UserName); //test null adminUser.AuthToken = Guid.Empty; Assert.IsNull(tfWebServices.login_As_Admin()); }
[Test] public void captureCurrentUser() { Assert.IsTrue(webServices.Capture_CurrentUser); webServices.Ping(10.randomLetters()); Assert.IsNull(webServices.captureCurrentUser()); //login Assert.NotNull(tfWebServices.login_As_Admin()); var currentUser = webServices.Current_User(); var userName = currentUser.UserName; var userId = currentUser.UserId; var currentUser_as_Xml = currentUser.toXml(); Assert.IsNotNull(currentUser); Assert.AreEqual(currentUser_as_Xml, webServices.getResponseData <TM_User>().toXml()); Assert.IsNotNull(webServices.Cached_CurrentUser); Assert.AreEqual(currentUser_as_Xml, webServices.Cached_CurrentUser.toXml()); //if the currentUserCapture is enabled these methods should work Assert.IsTrue(webServices.RBAC_IsAdmin()); Assert.AreEqual(webServices.Current_User().toXml(), currentUser_as_Xml); Assert.AreEqual(webServices.GetUser_byName(userName).toXml(), currentUser_as_Xml); Assert.AreEqual(webServices.GetUser_byID(userId).toXml(), currentUser_as_Xml); Assert.IsNotEmpty(webServices.GetUser_AuthTokens(userId)); //logout Assert.IsTrue(webServices.logout()); Assert.IsNull(webServices.Cached_CurrentUser); Assert.IsNull(webServices.Current_User()); Assert.IsNull(webServices.Cached_CurrentUser); //after logout these should throw an exception (or not work) Assert.Throws <SoapException>(() => webServices.GetUser_byName(userName).toXml()); Assert.Throws <SoapException>(() => webServices.GetUser_byID(userId).toXml()); Assert.Throws <SoapException>(() => webServices.GetUser_AuthTokens(userId)); }