diff --git a/src/csv/built/credentials_permissions.csv b/src/csv/built/credentials_permissions.csv new file mode 100644 index 0000000..d2efdbf --- /dev/null +++ b/src/csv/built/credentials_permissions.csv @@ -0,0 +1,2 @@ +author,testuser,QUBsucks&UUisBetter +subscriber,subscriber,drewapicture(incrediblyfunnyjoke!) diff --git a/src/main/CsvBuilder.java b/src/main/CsvBuilder.java index 53e9f4a..674537d 100644 --- a/src/main/CsvBuilder.java +++ b/src/main/CsvBuilder.java @@ -1,4 +1,51 @@ package main; +import java.io.*; -public class CsvCleaner { + +public class CsvBuilder { + + private static String inputFile = "src/csv/credentials.csv"; + public static void compileAll(String outputFile) { + try (BufferedReader reader = new BufferedReader(new FileReader(inputFile)); + BufferedWriter writer = new BufferedWriter(new FileWriter("src/csv/built/"+outputFile+".csv"))) { + + // Skip the first line + reader.readLine(); + + String line; + while ((line = reader.readLine()) != null) { + String[] parts = line.split(",", 2); + if (parts.length > 1) { + writer.write(parts[1]); + writer.newLine(); + } + } + + System.out.println("File processed successfully!"); + } catch (IOException e) { + System.err.println("Error processing file: " + e.getMessage()); + } + } + public static void compilePermissions(String outputFile) { + try (BufferedReader reader = new BufferedReader(new FileReader(inputFile)); + BufferedWriter writer = new BufferedWriter(new FileWriter("src/csv/built/"+outputFile+".csv"))) { + + // Skip the first line + reader.readLine(); + + String line; + while ((line = reader.readLine()) != null) { + writer.write(line+"\n"); + } + + System.out.println("File processed successfully!"); + } catch (IOException e) { + System.err.println("Error processing file: " + e.getMessage()); + } + } + + public static void main(String[] args) { + CsvBuilder.compileAll("all_login_credentials"); + CsvBuilder.compilePermissions("credentials_permissions"); + } } diff --git a/src/main/DomainGrabber.java b/src/main/DomainGrabber.java new file mode 100644 index 0000000..3e8248a --- /dev/null +++ b/src/main/DomainGrabber.java @@ -0,0 +1,21 @@ +package main; +import org.junit.jupiter.params.shadow.com.univocity.parsers.csv.Csv; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; + +public class DomainGrabber { + public static String getDomain() { + try (InputStream inputStream = DomainGrabber.class.getResourceAsStream("/csv/credentials.csv"); + BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) { + return reader.readLine(); + } catch (IOException e) { + throw new RuntimeException("Failed to read domain from CSV", e); + } + } + } + + diff --git a/src/test/TestLogin.java b/src/test/TestLogin.java index 9718ac2..80e6c65 100644 --- a/src/test/TestLogin.java +++ b/src/test/TestLogin.java @@ -1,6 +1,7 @@ package test; import main.ConfigureDriver; +import main.DomainGrabber; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.By; @@ -9,16 +10,16 @@ import org.junit.jupiter.params.provider.CsvFileSource; import static org.junit.jupiter.api.Assertions.assertTrue; public class TestLogin { - private static final String LOGIN_PAGE = "https://test.fusil.uk/wp-login.php"; + private static final String domain = DomainGrabber.getDomain(); + private static final String LOGIN_PAGE = "https://"+domain+"/wp-login.php"; private static final String USERNAME_BOX_ID = "user_login"; private static final String PASSWORD_BOX_ID = "user_pass"; private static final String LOGIN_BUTTON_ID = "wp-submit"; - private static final String EXPECTED_URL = "https://test.fusil.uk/wp-admin/"; - + private static final String EXPECTED_URL = "https://"+domain+"/wp-admin/"; @ParameterizedTest - @CsvFileSource(resources = "/csv/all_login_credentials.csv", numLinesToSkip = 0) + @CsvFileSource(resources = "/csv/built/all_login_credentials.csv", numLinesToSkip = 0) - void testLogin(String usernameText, String passwordText) { + public void testLogin(String usernameText, String passwordText) { WebDriver driver = ConfigureDriver.configureDriver(); driver.manage().window().maximize(); driver.get(LOGIN_PAGE);