From d06c407c17f49c318ac2f90a26f5ce4d5a55f1c6 Mon Sep 17 00:00:00 2001 From: fdai6352 Date: Fri, 18 Feb 2022 13:08:33 +0100 Subject: [PATCH 1/6] refactored if statements to switch cases --- src/main/java/Vault.java | 120 +++++++++++++++++++---------------- src/test/java/VaultTest.java | 5 +- 2 files changed, 67 insertions(+), 58 deletions(-) diff --git a/src/main/java/Vault.java b/src/main/java/Vault.java index 9b5b8a5..318c603 100644 --- a/src/main/java/Vault.java +++ b/src/main/java/Vault.java @@ -21,10 +21,10 @@ public class Vault implements VaultInterface { OutputStream outputS = System.out; private CredentialRepository credentialRepository = new CredentialRepository(); - public static void main (String args[]) { + /*public static void main (String args[]) { Vault vault = new Vault(); vault.credentialMenu(); - } + }*/ private void println(String output) { @@ -51,25 +51,36 @@ public class Vault implements VaultInterface { String input = scan.nextLine(); - if (input.equals("e")) { - config = false; - } else if (input.equals("l")) { - println("Set PW length:"); - String inputPw = scan.nextLine(); - setPWLength(inputPw); - } else if (input.equals("h")) { - println("Should your PW have capitals? Type in yes or no."); - String inputC = scan.nextLine(); - setCapital(inputC); - } else if (input.equals("s")){ - println("Should you PW have special characters? Type in yes or no."); - String inputS = scan.nextLine(); - setSpecialChar(inputS); - } else if (input.equals("n")) { - println("Should you PW have numbers? Type in yes or no."); - String inputN = scan.nextLine(); - setNumbers(inputN); + switch(input) { + case "e": + config = false; + break; + + case "l": + println("Set PW length:"); + String inputPw = scan.nextLine(); + setPWLength(inputPw); + break; + + case "h": + println("Should your PW have capitals? Type in yes or no."); + String inputC = scan.nextLine(); + setCapital(inputC); + break; + + case "s": + println("Should you PW have special characters? Type in yes or no."); + String inputS = scan.nextLine(); + setSpecialChar(inputS); + break; + + case "n": + println("Should you PW have numbers? Type in yes or no."); + String inputN = scan.nextLine(); + setNumbers(inputN); + break; } + } public void setPWLength(String pwLength) { @@ -157,40 +168,41 @@ public class Vault implements VaultInterface { String input = scan.nextLine(); - - if (input.equals("e")) { - credentialM = false; - } - - if (input.equals("a")) { - println("Type in username"); - userName = scan.nextLine(); - - println("Type in password"); - password = scan.nextLine(); - addCredential(userName, password); - } - - if (input.equals("c")) { - println("Type in ID or username"); - - String str = scan.nextLine(); - showCredential(str); - - } else if (input.equals("l")) { - println("Type ID to select credential:"); - newID = Integer.parseInt(scan.nextLine()); - println("-change username: u\n-change password: p"); - input = scan.nextLine(); - - if (input.equals("u")) { - decision = true; - }else{ - decision = false; - } - println("Type new:"); - newString = scan.nextLine(); - //editCredential(newID, newString, decision); + switch(input) { + case "e": + credentialM = false; + break; + + case "a": + println("Type in username"); + userName = scan.nextLine(); + + println("Type in password"); + password = scan.nextLine(); + addCredential(userName, password); + break; + + case "c": + println("Type in ID or username"); + + String str = scan.nextLine(); + showCredential(str); + break; + + case "l": + println("Type ID to select credential:"); + newID = Integer.parseInt(scan.nextLine()); + println("-change username: u\n-change password: p"); + + input = scan.nextLine(); + + if (!input.equals("u")) { + decision = false; + } + println("Type new:"); + newString = scan.nextLine(); + //editCredential(newID, newString, decision); + break; } } } diff --git a/src/test/java/VaultTest.java b/src/test/java/VaultTest.java index 9dbc3dd..30dbada 100644 --- a/src/test/java/VaultTest.java +++ b/src/test/java/VaultTest.java @@ -1,7 +1,6 @@ import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.mockito.Mockito; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -12,8 +11,6 @@ import static org.junit.jupiter.api.Assertions.*; public class VaultTest { - //Vault vlt = new Vault(); - static Vault vlt; @BeforeAll @@ -74,7 +71,7 @@ public class VaultTest { vlt.credentialMenu(); assertTrue(outputStream.toString().contains("Type")); assertEquals(1,vlt.newID); - assertEquals(true,vlt.decision); + assertTrue(vlt.decision); assertEquals("peter",vlt.newString); } From edc5aa577da3daadc8d65f4d2abb4daeff1db987 Mon Sep 17 00:00:00 2001 From: fdai6352 Date: Fri, 18 Feb 2022 13:21:54 +0100 Subject: [PATCH 2/6] implemented editCredential method --- src/main/java/Vault.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/Vault.java b/src/main/java/Vault.java index 318c603..562e0a3 100644 --- a/src/main/java/Vault.java +++ b/src/main/java/Vault.java @@ -110,6 +110,14 @@ public class Vault implements VaultInterface { } } + public void editCredential(int newID, String newString, boolean decision) { + if(decision == true){ + credentialRepository.updateUsername(newID, newString); + } else { + credentialRepository.updatePassword(newID, newString); + } + } + public void getAsJson(){ @@ -201,7 +209,7 @@ public class Vault implements VaultInterface { } println("Type new:"); newString = scan.nextLine(); - //editCredential(newID, newString, decision); + editCredential(newID, newString, decision); break; } } From 1c25788fa1710d0e4ef7d145adca93cd414f42b1 Mon Sep 17 00:00:00 2001 From: fdai6352 Date: Fri, 18 Feb 2022 14:09:16 +0100 Subject: [PATCH 3/6] refactored addCredential for better compatibility --- src/main/java/Vault.java | 20 +++++++++++--------- src/main/java/VaultInterface.java | 2 +- src/test/java/VaultTest.java | 19 ++++++++----------- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/main/java/Vault.java b/src/main/java/Vault.java index 562e0a3..c51b1f5 100644 --- a/src/main/java/Vault.java +++ b/src/main/java/Vault.java @@ -94,7 +94,13 @@ public class Vault implements VaultInterface { } - public void addCredential(String userName, String password){ + public void addCredential(){ + Scanner scan = new Scanner(inputS); + println("Type in username"); + userName = scan.nextLine(); + + println("Type in password"); + password = scan.nextLine(); credentialRepository.createNewCredential(userName, password); } @@ -182,12 +188,8 @@ public class Vault implements VaultInterface { break; case "a": - println("Type in username"); - userName = scan.nextLine(); - - println("Type in password"); - password = scan.nextLine(); - addCredential(userName, password); + println("Add credential:"); + addCredential(); break; case "c": @@ -204,8 +206,8 @@ public class Vault implements VaultInterface { input = scan.nextLine(); - if (!input.equals("u")) { - decision = false; + if (input.equals("u")) { + decision = true; } println("Type new:"); newString = scan.nextLine(); diff --git a/src/main/java/VaultInterface.java b/src/main/java/VaultInterface.java index cb23755..6f748ee 100644 --- a/src/main/java/VaultInterface.java +++ b/src/main/java/VaultInterface.java @@ -3,7 +3,7 @@ public interface VaultInterface { void configure(); - void addCredential(String userName, String password); + void addCredential(); void showCredential(String str); void getAsJson(); void loadFromJson(); diff --git a/src/test/java/VaultTest.java b/src/test/java/VaultTest.java index 30dbada..50c3820 100644 --- a/src/test/java/VaultTest.java +++ b/src/test/java/VaultTest.java @@ -41,18 +41,15 @@ public class VaultTest { assertFalse(vlt.credentialM); } - @Test + /* @Test void openAddCredentialMenuItem() { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - vlt.inputS = new ByteArrayInputStream("a\npeter\npassword".getBytes(StandardCharsets.UTF_8)); + vlt.inputS = new ByteArrayInputStream("a".getBytes(StandardCharsets.UTF_8)); vlt.outputS = outputStream; vlt.credentialMenu(); - assertTrue(outputStream.toString().contains("username")); - assertEquals("peter", vlt.userName); - assertTrue(outputStream.toString().contains("password")); - assertEquals("password",vlt.password); - } + assertTrue(outputStream.toString().contains("Add")); + }*/ @Test void openShowCredentialMenuItem() { @@ -80,7 +77,7 @@ public class VaultTest { }*/ - /*@Test + @Test void addCredentialTest() { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); vlt.outputS = outputStream; @@ -93,12 +90,12 @@ public class VaultTest { assertEquals("password",vlt.password); } - @Test + /* @Test void showCredentialTest() { vlt.inputS = new ByteArrayInputStream("l\n1".getBytes(StandardCharsets.UTF_8)); - vlt.credentialMenu(); + vlt.showCredential();credential(); - assertTrue(vlt.isInt); + assertTrue(outputStream.toString().contains("username")); vlt.inputS = new ByteArrayInputStream("l\npeter".getBytes(StandardCharsets.UTF_8)); vlt.credentialMenu(); From 779d94e9a7b7120c0b99fe83d989ce2d8ffced98 Mon Sep 17 00:00:00 2001 From: fdai6352 Date: Fri, 18 Feb 2022 14:12:49 +0100 Subject: [PATCH 4/6] refactored showCredential for better compatibility --- src/main/java/Vault.java | 11 ++++++----- src/main/java/VaultInterface.java | 2 +- src/test/java/VaultTest.java | 20 +++++++++++--------- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/main/java/Vault.java b/src/main/java/Vault.java index c51b1f5..b0f6bef 100644 --- a/src/main/java/Vault.java +++ b/src/main/java/Vault.java @@ -104,7 +104,11 @@ public class Vault implements VaultInterface { credentialRepository.createNewCredential(userName, password); } - public void showCredential(String str) { + public void showCredential() { + Scanner scan = new Scanner(inputS); + println("Type in ID or username"); + + String str = scan.nextLine(); if(str.matches("[0-9]+")) { println("Getting credential via ID"); @@ -193,10 +197,7 @@ public class Vault implements VaultInterface { break; case "c": - println("Type in ID or username"); - - String str = scan.nextLine(); - showCredential(str); + showCredential(); break; case "l": diff --git a/src/main/java/VaultInterface.java b/src/main/java/VaultInterface.java index 6f748ee..9f1fc26 100644 --- a/src/main/java/VaultInterface.java +++ b/src/main/java/VaultInterface.java @@ -4,7 +4,7 @@ public interface VaultInterface { void configure(); void addCredential(); - void showCredential(String str); + void showCredential(); void getAsJson(); void loadFromJson(); } diff --git a/src/test/java/VaultTest.java b/src/test/java/VaultTest.java index 50c3820..312ac73 100644 --- a/src/test/java/VaultTest.java +++ b/src/test/java/VaultTest.java @@ -51,14 +51,14 @@ public class VaultTest { assertTrue(outputStream.toString().contains("Add")); }*/ - @Test + /*@Test void openShowCredentialMenuItem() { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); vlt.inputS = new ByteArrayInputStream("c\n1".getBytes(StandardCharsets.UTF_8)); vlt.outputS = outputStream; vlt.credentialMenu(); assertTrue(outputStream.toString().contains("Type")); - } + }*/ @Test void openEditCredentialMenuItem() { @@ -90,18 +90,20 @@ public class VaultTest { assertEquals("password",vlt.password); } - /* @Test + @Test void showCredentialTest() { - vlt.inputS = new ByteArrayInputStream("l\n1".getBytes(StandardCharsets.UTF_8)); - vlt.showCredential();credential(); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + vlt.outputS = outputStream; + vlt.inputS = new ByteArrayInputStream("1".getBytes(StandardCharsets.UTF_8)); + vlt.showCredential(); - assertTrue(outputStream.toString().contains("username")); + assertTrue(outputStream.toString().contains("ID")); - vlt.inputS = new ByteArrayInputStream("l\npeter".getBytes(StandardCharsets.UTF_8)); + vlt.inputS = new ByteArrayInputStream("peter".getBytes(StandardCharsets.UTF_8)); vlt.credentialMenu(); - assertFalse(vlt.isInt); - }*/ + assertTrue(outputStream.toString().contains("name")); + } @Test From c801f9f32c36cc873a291f62aa0c531c06ee3491 Mon Sep 17 00:00:00 2001 From: fdai6352 Date: Fri, 18 Feb 2022 14:25:37 +0100 Subject: [PATCH 5/6] refactored editCredential for better compatibility --- src/main/java/Vault.java | 38 +++++++++++++++++++++++------------- src/test/java/VaultTest.java | 22 +++++++++++++++++---- 2 files changed, 42 insertions(+), 18 deletions(-) diff --git a/src/main/java/Vault.java b/src/main/java/Vault.java index b0f6bef..fd38c8e 100644 --- a/src/main/java/Vault.java +++ b/src/main/java/Vault.java @@ -120,10 +120,31 @@ public class Vault implements VaultInterface { } } - public void editCredential(int newID, String newString, boolean decision) { - if(decision == true){ + public void editCredential() { + Scanner scan = new Scanner(inputS); + + println("Type ID to select credential:"); + newID = Integer.parseInt(scan.nextLine()); + + println("-change username: u\n-change password: p"); + + String input = scan.nextLine(); + + if (input.equals("u")) { + decision = true; + } + + if(decision){ + + println("Type new username:"); + newString = scan.nextLine(); + credentialRepository.updateUsername(newID, newString); } else { + + println("Type new password:"); + newString = scan.nextLine(); + credentialRepository.updatePassword(newID, newString); } } @@ -201,18 +222,7 @@ public class Vault implements VaultInterface { break; case "l": - println("Type ID to select credential:"); - newID = Integer.parseInt(scan.nextLine()); - println("-change username: u\n-change password: p"); - - input = scan.nextLine(); - - if (input.equals("u")) { - decision = true; - } - println("Type new:"); - newString = scan.nextLine(); - editCredential(newID, newString, decision); + editCredential(); break; } } diff --git a/src/test/java/VaultTest.java b/src/test/java/VaultTest.java index 312ac73..b609194 100644 --- a/src/test/java/VaultTest.java +++ b/src/test/java/VaultTest.java @@ -60,7 +60,7 @@ public class VaultTest { assertTrue(outputStream.toString().contains("Type")); }*/ - @Test + /*@Test void openEditCredentialMenuItem() { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); vlt.inputS = new ByteArrayInputStream("l\n1\nu\npeter".getBytes(StandardCharsets.UTF_8)); @@ -70,12 +70,26 @@ public class VaultTest { assertEquals(1,vlt.newID); assertTrue(vlt.decision); assertEquals("peter",vlt.newString); - } + }*/ - /*@Test + @Test void editCredentialTest() { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + vlt.outputS = outputStream; + vlt.inputS = new ByteArrayInputStream("1\np\npassword".getBytes(StandardCharsets.UTF_8)); + vlt.editCredential(); - }*/ + assertEquals(1, vlt.newID); + assertEquals("password", vlt.newString); + + + vlt.inputS = new ByteArrayInputStream("1\nu\npeter".getBytes(StandardCharsets.UTF_8)); + vlt.editCredential(); + + assertEquals(1, vlt.newID); + assertEquals("peter", vlt.newString); + + } @Test void addCredentialTest() { From 97953d5850d2b460929afbcd20b90e2f18d0ab9e Mon Sep 17 00:00:00 2001 From: fdai6352 Date: Fri, 18 Feb 2022 14:31:35 +0100 Subject: [PATCH 6/6] fixed some tests after merge --- src/test/java/VaultTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/VaultTest.java b/src/test/java/VaultTest.java index be51a05..d37ec57 100644 --- a/src/test/java/VaultTest.java +++ b/src/test/java/VaultTest.java @@ -197,7 +197,7 @@ public class VaultTest { vlt.setCapital("no"); assertFalse(vlt.haveCapitals = false); - assertTrue(outputStream.toString().contains("don't")); + assertTrue(outputStream.toString().contains("anymore")); } @Test @@ -221,7 +221,7 @@ public class VaultTest { vlt.setSpecialChar("no"); assertFalse(vlt.hasSpecialChars = false); - assertTrue(outputStream.toString().contains("don't")); + assertTrue(outputStream.toString().contains("anymore")); } @Test @@ -246,7 +246,7 @@ public class VaultTest { vlt.setNumbers("no"); assertFalse(vlt.hasNumbers = false); - assertTrue(outputStream.toString().contains("don't")); + assertTrue(outputStream.toString().contains("anymore")); } private ByteArrayInputStream getEmptyStringInputStream() {