Browse Source
Merge commit '8fe5cec4110e84885910952cae72fcd55d883650' into HEAD
feature-refactor-password-validator-tests
Merge commit '8fe5cec4110e84885910952cae72fcd55d883650' into HEAD
feature-refactor-password-validator-tests
jenkins
3 years ago
6 changed files with 241 additions and 49 deletions
-
31src/main/java/Credential.java
-
11src/main/java/CredentialInterface.java
-
116src/main/java/CredentialRepository.java
-
10src/main/java/CredentialRepositoryInterface.java
-
38src/main/java/Credentials.java
-
84src/test/java/CredentialRepositoryTest.java
@ -0,0 +1,31 @@ |
|||||
|
public class Credential { |
||||
|
|
||||
|
private String name, password; |
||||
|
private int id; |
||||
|
|
||||
|
|
||||
|
public Credential(String name, String password, int id) throws Exception { |
||||
|
if(name == null || password == null) |
||||
|
throw new Exception("kein leeres Objekt erstellen"); |
||||
|
|
||||
|
this.name = name; |
||||
|
this.password = password; |
||||
|
} |
||||
|
|
||||
|
public String getName() |
||||
|
{ |
||||
|
return this.name; |
||||
|
} |
||||
|
public String getPassword() { return this.password; } |
||||
|
public int getId() { return this.id; } |
||||
|
|
||||
|
public void upDatePassword(String newPassword) |
||||
|
{ |
||||
|
this.password = newPassword; |
||||
|
} |
||||
|
|
||||
|
public void updateUsername(String newUsername) |
||||
|
{ |
||||
|
this.name = newUsername; |
||||
|
} |
||||
|
} |
@ -1,11 +0,0 @@ |
|||||
public interface CredentialInterface { |
|
||||
|
|
||||
public void show(); |
|
||||
public void edit(); |
|
||||
public void delete(); |
|
||||
public void getCredentials(); |
|
||||
public void setCredentials(); |
|
||||
public void getAsJSON(); |
|
||||
public void loadCredentialsFromJSON(); |
|
||||
|
|
||||
} |
|
@ -0,0 +1,116 @@ |
|||||
|
import java.util.ArrayList; |
||||
|
|
||||
|
public class CredentialRepository implements CredentialRepositoryInterface{ |
||||
|
|
||||
|
private int idCounter = 0; |
||||
|
private ArrayList<Credential> credentials; |
||||
|
|
||||
|
public CredentialRepository() |
||||
|
{ |
||||
|
this.credentials = new ArrayList<Credential>(); |
||||
|
} |
||||
|
|
||||
|
public int createNewCredential(String name, String password) |
||||
|
{ |
||||
|
try { |
||||
|
this.credentials.add(new Credential(name, password, this.idCounter++)); |
||||
|
} |
||||
|
catch(Exception fail) |
||||
|
{ |
||||
|
System.err.println(fail.getMessage()); |
||||
|
} |
||||
|
|
||||
|
return this.getListSize(); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Credential getCredentialsViaName(String needle) { |
||||
|
|
||||
|
for(int c = 0; c < this.getListSize(); c++) |
||||
|
{ |
||||
|
Credential credential = this.credentials.get(c); |
||||
|
|
||||
|
if(credential.getName().equals(needle)) |
||||
|
return credential; |
||||
|
} |
||||
|
|
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
public Credential getCredentialsViaId(int id) { |
||||
|
|
||||
|
try{ |
||||
|
return this.credentials.get(id); |
||||
|
} |
||||
|
catch (IndexOutOfBoundsException outOfBoundsException) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
The next 3 functions assume you already have successfully |
||||
|
pulled a credential from the repository and now want to edit it. |
||||
|
Thus, these functions require you to pass the desired credential's index |
||||
|
*/ |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
public void updatePassword(int index, String newPassword) { |
||||
|
|
||||
|
try{ |
||||
|
this.credentials.get(index).upDatePassword(newPassword); |
||||
|
} |
||||
|
catch (IndexOutOfBoundsException outOfBoundsException) |
||||
|
{ |
||||
|
System.err.println("No Credential with Index" + index + " found"); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void updateUsername(int index, String newUsername){ |
||||
|
|
||||
|
try{ |
||||
|
this.credentials.get(index).updateUsername(newUsername); |
||||
|
} |
||||
|
catch (IndexOutOfBoundsException outOfBoundsException) |
||||
|
{ |
||||
|
System.err.println("No Credential with Index" + index + " found"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void delete(int index) { |
||||
|
|
||||
|
this.credentials.remove(index); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
this function will be required in the future for catching the left-shift in the arrayList |
||||
|
after one entry was deleted. welp, maybe it won't. can't tell and i've no time atm to |
||||
|
finish this |
||||
|
|
||||
|
|
||||
|
private int mapIndexToListCounter(int needle) { |
||||
|
for(int c = 0; c<this.credentials.size(); c++) |
||||
|
{ |
||||
|
if(this.credentials.get(c).getId() == needle) |
||||
|
{ |
||||
|
return c; |
||||
|
} |
||||
|
} |
||||
|
return -1; |
||||
|
} |
||||
|
*/ |
||||
|
private int getListSize() |
||||
|
{ |
||||
|
return this.credentials.size(); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
@ -0,0 +1,10 @@ |
|||||
|
public interface CredentialRepositoryInterface { |
||||
|
|
||||
|
int createNewCredential(String name, String password); |
||||
|
Credential getCredentialsViaName(String needle); |
||||
|
Credential getCredentialsViaId(int id); |
||||
|
void updatePassword(int index, String newPassword); |
||||
|
void updateUsername(int indexl, String newUsername); |
||||
|
void delete(int index); |
||||
|
|
||||
|
} |
@ -1,38 +0,0 @@ |
|||||
public class Credentials implements CredentialInterface{ |
|
||||
@Override |
|
||||
public void show() { |
|
||||
|
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public void edit() { |
|
||||
|
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public void delete() { |
|
||||
|
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public void getCredentials() { |
|
||||
|
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public void setCredentials() { |
|
||||
|
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public void getAsJSON() { |
|
||||
|
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public void loadCredentialsFromJSON() { |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
|
|
||||
|
|
@ -0,0 +1,84 @@ |
|||||
|
import org.junit.jupiter.api.BeforeEach; |
||||
|
import org.junit.jupiter.api.Test; |
||||
|
import org.junit.jupiter.api.Assertions; |
||||
|
|
||||
|
class CredentialRepositoryTest { |
||||
|
|
||||
|
|
||||
|
private CredentialRepository credentialRepository; |
||||
|
|
||||
|
@BeforeEach |
||||
|
public void setUp() |
||||
|
{ |
||||
|
credentialRepository = new CredentialRepository(); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
void createNewCredentialAndAddToList() { |
||||
|
|
||||
|
Assertions.assertEquals(1, this.credentialRepository.createNewCredential("mock", "mock")); |
||||
|
Assertions.assertEquals(2, this.credentialRepository.createNewCredential("kek", "mate")); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
void searchForUserInRepository() { |
||||
|
|
||||
|
this.credentialRepository.createNewCredential("mock", "mock"); |
||||
|
this.credentialRepository.createNewCredential("kek", "mate"); |
||||
|
|
||||
|
Credential c = this.credentialRepository.getCredentialsViaName("kek"); |
||||
|
Assertions.assertEquals("mate", c.getPassword()); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
void searchForIdInRepository() { |
||||
|
|
||||
|
this.credentialRepository.createNewCredential("mock", "mock"); |
||||
|
this.credentialRepository.createNewCredential("kek", "mate"); |
||||
|
|
||||
|
Credential c = this.credentialRepository.getCredentialsViaId(1); |
||||
|
Assertions.assertEquals("mate", c.getPassword()); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
void testSearchWithInvalidIndex() { |
||||
|
|
||||
|
this.credentialRepository.createNewCredential("mock", "mock"); |
||||
|
|
||||
|
Assertions.assertEquals(null, this.credentialRepository.getCredentialsViaId(2)); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
void testUpdatePassword(){ |
||||
|
|
||||
|
this.credentialRepository.createNewCredential("mock", "mock"); |
||||
|
this.credentialRepository.updatePassword(0, "newPassword"); |
||||
|
|
||||
|
Credential c = this.credentialRepository.getCredentialsViaId(0); |
||||
|
|
||||
|
Assertions.assertEquals("newPassword", c.getPassword()); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
void testUpdateUsername(){ |
||||
|
|
||||
|
this.credentialRepository.createNewCredential("mock", "mock"); |
||||
|
this.credentialRepository.updateUsername(0, "newUsername"); |
||||
|
|
||||
|
Credential c = this.credentialRepository.getCredentialsViaId(0); |
||||
|
|
||||
|
Assertions.assertEquals("newUsername", c.getName()); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
void testDeleteEntry(){ |
||||
|
|
||||
|
this.credentialRepository.createNewCredential("mock", "mock"); |
||||
|
this.credentialRepository.delete(0); |
||||
|
|
||||
|
Assertions.assertEquals(null, this.credentialRepository.getCredentialsViaId(0)); |
||||
|
} |
||||
|
|
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue