Login failures are tested properly in testposter.java

This commit is contained in:
Xander 2025-04-05 17:44:23 +01:00
parent 30519bfee4
commit 76e47a0bc6
8 changed files with 136 additions and 56 deletions

View file

@ -0,0 +1,10 @@
Role,Username,Step,Result
author,testuser,Login,PASS
author,testuser,Post Access,PASS
author,testuser,Post Creation,PASS
author,testuser,Post Visible,PASS
author,testuser,Post Deleted,PASS
subscriber,subscriber,Login,FAIL
subscriber,subscriber,Unexpected Error,FAIL - Login failed for user: subscriber ==> expected: <true> but was: <false>
unauthorised,fakename,Login,FAIL
unauthorised,fakename,Unexpected Error,FAIL - Login failed for user: fakename ==> expected: <true> but was: <false>
1 Role Username Step Result
2 author testuser Login PASS
3 author testuser Post Access PASS
4 author testuser Post Creation PASS
5 author testuser Post Visible PASS
6 author testuser Post Deleted PASS
7 subscriber subscriber Login FAIL
8 subscriber subscriber Unexpected Error FAIL - Login failed for user: subscriber ==> expected: <true> but was: <false>
9 unauthorised fakename Login FAIL
10 unauthorised fakename Unexpected Error FAIL - Login failed for user: fakename ==> expected: <true> but was: <false>

View file

@ -0,0 +1,6 @@
Role,Username,Step,Result
author,testuser,Login,FAIL
author,testuser,Unexpected Error,FAIL - Login failed for user: testuser ==> expected: <true> but was: <false>
subscriber,subscriber,Login,FAIL
subscriber,subscriber,Unexpected Error,FAIL - Login failed for user: subscriber ==> expected: <true> but was: <false>
unauthorised,fakename,Login,FAIL
1 Role Username Step Result
2 author testuser Login FAIL
3 author testuser Unexpected Error FAIL - Login failed for user: testuser ==> expected: <true> but was: <false>
4 subscriber subscriber Login FAIL
5 subscriber subscriber Unexpected Error FAIL - Login failed for user: subscriber ==> expected: <true> but was: <false>
6 unauthorised fakename Login FAIL

View file

@ -0,0 +1,6 @@
Role,Username,Step,Result
author,testuser,Login,PASS
author,testuser,Post Access,PASS
author,testuser,Post Creation,PASS
author,testuser,Post Visible,PASS
author,testuser,Post Deleted,PASS
1 Role Username Step Result
2 author testuser Login PASS
3 author testuser Post Access PASS
4 author testuser Post Creation PASS
5 author testuser Post Visible PASS
6 author testuser Post Deleted PASS

View file

@ -0,0 +1,12 @@
Role,Username,Step,Result
author,testuser,Login,PASS
author,testuser,Post Access,PASS
author,testuser,Post Creation,PASS
author,testuser,Post Visible,PASS
author,testuser,Post Deleted,PASS
subscriber,subscriber,Login,PASS
subscriber,subscriber,Post Access,PASS
subscriber,subscriber,Post Creation,SKIPPED (Not permitted)
subscriber,subscriber,Post Visible,SKIPPED
subscriber,subscriber,Post Deleted,SKIPPED
unauthorised,fakename,Login,FAIL
1 Role Username Step Result
2 author testuser Login PASS
3 author testuser Post Access PASS
4 author testuser Post Creation PASS
5 author testuser Post Visible PASS
6 author testuser Post Deleted PASS
7 subscriber subscriber Login PASS
8 subscriber subscriber Post Access PASS
9 subscriber subscriber Post Creation SKIPPED (Not permitted)
10 subscriber subscriber Post Visible SKIPPED
11 subscriber subscriber Post Deleted SKIPPED
12 unauthorised fakename Login FAIL

View file

@ -0,0 +1,9 @@
Role,Username,Step,Result
author,testuser,Login,FAIL
author,testuser,Unexpected Error,FAIL - Login failed for user: testuser ==> expected: <true> but was: <false>
subscriber,subscriber,Login,PASS
subscriber,subscriber,Post Access,PASS
subscriber,subscriber,Post Creation,SKIPPED (Not permitted)
subscriber,subscriber,Post Visible,SKIPPED
subscriber,subscriber,Post Deleted,SKIPPED
unauthorised,fakename,Login,PASS
1 Role Username Step Result
2 author testuser Login FAIL
3 author testuser Unexpected Error FAIL - Login failed for user: testuser ==> expected: <true> but was: <false>
4 subscriber subscriber Login PASS
5 subscriber subscriber Post Access PASS
6 subscriber subscriber Post Creation SKIPPED (Not permitted)
7 subscriber subscriber Post Visible SKIPPED
8 subscriber subscriber Post Deleted SKIPPED
9 unauthorised fakename Login PASS

View file

@ -0,0 +1,12 @@
Role,Username,Step,Result
author,testuser,Login,PASS (Logged in succesfully)
author,testuser,Post Access,PASS
author,testuser,Post Creation,PASS
author,testuser,Post Visible,PASS
author,testuser,Post Deleted,PASS
subscriber,subscriber,Login,PASS (Logged in succesfully)
subscriber,subscriber,Post Access,PASS
subscriber,subscriber,Post Creation,SKIPPED (Not permitted)
subscriber,subscriber,Post Visible,SKIPPED
subscriber,subscriber,Post Deleted,SKIPPED
unauthorised,fakename,Login,PASS (Login failed, as expected)
Can't render this file because it has a wrong number of fields in line 12.

View file

@ -0,0 +1,12 @@
Role,Username,Step,Result
author,testuser,Login,PASS (Logged in succesfully)
author,testuser,Post Access,PASS
author,testuser,Post Creation,PASS
author,testuser,Post Visible,PASS
author,testuser,Post Deleted,PASS
subscriber,subscriber,Login,PASS (Logged in succesfully)
subscriber,subscriber,Post Access,PASS
subscriber,subscriber,Post Creation,SKIPPED (Not permitted)
subscriber,subscriber,Post Visible,SKIPPED
subscriber,subscriber,Post Deleted,SKIPPED
unauthorised,fakename,Login,PASS (Login failed, as expected)
Can't render this file because it has a wrong number of fields in line 12.

View file

@ -43,7 +43,7 @@ public class TestPoster {
try {
// Step 1: Login
boolean loginaAllowed = (!role.equals("unauthorised"));
boolean loginAllowed = (!role.equals("unauthorised"));
WebElement username = driver.findElement(By.id(USERNAME_BOX_ID));
WebElement password = driver.findElement(By.id(PASSWORD_BOX_ID));
WebElement login = driver.findElement(By.id(LOGIN_BUTTON_ID));
@ -53,13 +53,26 @@ public class TestPoster {
login.click();
boolean loginSuccess = driver.getCurrentUrl().startsWith(LOGGEDIN_URL);
CsvBuilder.appendTestResult(role, usernameText, "Login", loginSuccess ? "PASS" : "FAIL");
assertTrue(loginSuccess, "Login failed for user: " + usernameText);
String LoginPassText;
String LoginFailText;
if (loginAllowed) {
LoginPassText = "PASS (Logged in succesfully)";
LoginFailText = "FAIL (Login failed, it shouldn't have)";
} else {
LoginPassText = "FAIL (Should be unable to login)";
LoginFailText = "PASS (Login failed, as expected)";
}
CsvBuilder.appendTestResult(role, usernameText, "Login", loginSuccess ? LoginPassText : LoginFailText);
if (loginAllowed) {
assertTrue(loginSuccess, "Login failed for user: " + usernameText);
} else {
assertFalse(loginSuccess, "Login successfully failed for user: " + usernameText);
}
// Determine permission
boolean canPost = role.equals("author");
boolean postAccessible = true;
if (loginAllowed) {
// Step 2: Try accessing new post page
try {
WebElement postButton = driver.findElement(By.id(POST_BUTTON_NAV_ID));
@ -113,7 +126,7 @@ public class TestPoster {
CsvBuilder.appendTestResult(role, usernameText, "Post Visible", "SKIPPED");
CsvBuilder.appendTestResult(role, usernameText, "Post Deleted", "SKIPPED");
}
}
} catch (Throwable t) {
CsvBuilder.appendTestResult(role, usernameText, "Unexpected Error", "FAIL - " + t.getMessage());
fail("Unexpected exception: " + t.getMessage());