aws / aws/aws-toolkit-vscode

Registration

Open
#7,253 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
2k
Forks
807
Avg merge
10h 12m
Merged PRs (30d)
7

Description

public class User {

private String username;
private String password;
private String name;
private String surname;

public User() {
//no arguments constructor
}

public User(String username, String password, String name, String surname) {
this.username = username;
this.password = password;
this.name = name;
this.surname = surname;
}

public String getUsername() {
return username;
}

public String getPassword() {
return password;
}

public String getName() {
return name;
}

public String getSurname() {
return surname;
}
}

import java.util.ArrayList;

public class DataHandler {

private ArrayList UserList;
private static DataHandler instance;

private DataHandler() {
UserList = new ArrayList<>();
}

public static DataHandler getInstance() {
if(instance == null)
instance = new DataHandler();
return instance;
}

public User getUser(String username) {
for (User user : UserList) {
if (user.getUsername().equals(username))
return user;
}
return new User();
}
public void setUser(User user) {
this.UserList.add(user);
}
}

public class Login {

public boolean checkUserName(String username) {

if (username.length() >= 5 && username.contains("_"))
return true;
return false;
}

public boolean checkPasswordComplexity(String password) {

if (!(password.length() >= 8))
return false;
if (!checkSpecialChar(password))
return false;
if (!checkDigit(password))
return false;
if (!checkLowerCase(password))
return false;
if (!checkCaps(password))
return false;
return true;
}

public boolean CheckCellPhoneNumber(String PhoneNumber){
if(PhoneNumber == null || PhoneNumber.isEmpty()){
return false;
}

if(!PhoneNumber.startsWith("+")){
return false;
}
String NumberWithoutCountryCode = PhoneNumber.substring(1);
if(!NumberWithoutCountryCode.matches("\\d{0,11}")){
return false;
}
return true;
}

public String registerUser(String username, String password, String name, String surname) {
if (!checkUserName(username))
return "Username is not correctly formatted, please ensure that your username contains an underscore and is no more than 5 characters in length.";
if (!checkPasswordComplexity(password))
return "Password is not correctly formatted, please ensure that the password contains at least 8 characters, a capital letter, a number and a special character.";
DataHandler.getInstance().setUser(new User(username, password, name, surname));
return "Password successfully captured";
}

public boolean loginUser(String username, String password) {
User user = DataHandler.getInstance().getUser(username);
if (user.getPassword().equals(password))
return true;
return false;
}

public String returnLoginStatus(String username, String password) {
if(loginUser(username, password)) {
User user = DataHandler.getInstance().getUser(username);
return "Welcome " + user.getName() + "," + user.getSurname() + " it is great to see you again.";
}
return "Username or password incorrect, please try again";
}

private boolean checkSpecialChar(String password) {
char[] specialChar = {' ', '!', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',',
'-', '.', '/', ':',';', '<', '=', '>', '?', '@','[', ']', '\\', '^', '_', '`','{', '|', '}', '~'};

for (char c : specialChar) {
if (password.contains(""+c))
return true;
}
return false;
}

private boolean checkCaps(String password) {
for (int i = 0; i < password.length(); i++) {
if (Character.isUpperCase(password.charAt(i)))
return true;
}
return false;
}

private boolean checkLowerCase(String password) {
for (int i = 0; i < password.length(); i++) {
if (Character.isLowerCase(password.charAt(i)))
return true;
}
return false;
}

private boolean checkDigit(String password) {
for (int i = 0; i < password.length(); i++) {
if (Character.isDigit(password.charAt(i)))
return true;
}
return false;
}
}

import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

class LoginTest {

@BeforeAll
public static void init() {
DataHandler.getInstance().setUser(new User("kyl_1", "P@ssword1", "Test_name", "Test_surname"));
}

@Test
public void checkUsernameTest() {
Login login = new Login();
String message = login.returnLoginStatus("kyl_1", "P@ssword1");
assertEquals(message, "Welcome Test_name,Test_surname it is great to see you again.");
}

@Test
public void checkBadUsernameTest() {
Login login = new Login();
String message = login.registerUser("kyle!!!!!!!", "P@ssword1", "Test_name", "Test_surname");
assertEquals(message, "Username is not correctly formatted, please ensure that your username contains an underscore and is no more than 5 characters in length.");
}

@Test
public void checkCorrectlyFormattedPasswordTest() {
Login login = new Login();
String message = login.registerUser("ky_le", "Ch&&sec@ke99!", "Test_name", "Test_surname");
assertEquals(message, "Password successfully captured");
}

@Test
public void checkIncorrectlyFormattedPasswordTest() {
Login login = new Login();
String message = login.registerUser("k_yle", "password", "Test_name", "Test_surname");
assertEquals(message, "Password is not correctly formatted, please ensure that the password contains at least 8 characters, a capital letter, a number and a special character.");
}

@Test
public void loginSuccessfulTest() {
Login login = new Login();
assertTrue(login.loginUser("kyl_1","P@ssword1"));
}

@Test
public void loginFailTest() {
Login login = new Login();
assertFalse(login.loginUser("kyl_1","P@ssword2"));
}

@Test
public void usernameCorrectlyFormattedTest() {
Login login = new Login();
assertTrue(login.checkUserName("kyl_1"));
}

@Test
public void usernameInCorrectlyFormattedTest() {
Login login = new Login();
assertFalse(login.checkUserName("kyl!!!!!"));
}

@Test
public void passwordCorrectlyFormattedTest() {
Login login = new Login();
assertTrue(login.checkPasswordComplexity("Ch&&sec@ke99!"));
}

@Test
public void passwordInCorrectlyFormattedTest() {
Login login = new Login();
assertFalse(login.checkPasswordComplexity("password"));
}

@Test
public void cellPhoneNumberCorrectlyFormattedTest(){
Login login = new Login();
assertTrue(login.CheckCellPhoneNumber("+27838968976"));
}

@Test
public void cellPhoneNumberInCorrectlyFormattedTest(){
Login login = new Login();
assertFalse(login.CheckCellPhoneNumber("08966553"));
}
}public class User {
private String username;
private String password;
private String name;
private String surname;

public User() {
//no arguments constructor
}

public User(String username, String password, String name, String surname) {
this.username = username;
this.password = password;
this.name = name;
this.surname = surname;
}

public String getUsername() {
return username;
}

public String getPassword() {
return password;
}

public String getName() {
return name;
}

public String getSurname() {
return surname;
}
}

import java.util.ArrayList;

public class DataHandler {

private ArrayList UserList;
private static DataHandler instance;

private DataHandler() {
UserList = new ArrayList<>();
}

public static DataHandler getInstance() {
if(instance == null)
instance = new DataHandler();
return instance;
}

public User getUser(String username) {
for (User user : UserList) {
if (user.getUsername().equals(username))
return user;
}
return new User();
}
public void setUser(User user) {
this.UserList.add(user);
}
}

public class Login {

public boolean checkUserName(String username) {

if (username.length() >= 5 && username.contains("_"))
return true;
return false;
}

public boolean checkPasswordComplexity(String password) {

if (!(password.length() >= 8))
return false;
if (!checkSpecialChar(password))
return false;
if (!checkDigit(password))
return false;
if (!checkLowerCase(password))
return false;
if (!checkCaps(password))
return false;
return true;
}

public boolean CheckCellPhoneNumber(String PhoneNumber){
if(PhoneNumber == null || PhoneNumber.isEmpty()){
return false;
}

if(!PhoneNumber.startsWith("+")){
return false;
}
String NumberWithoutCountryCode = PhoneNumber.substring(1);
if(!NumberWithoutCountryCode.matches("\\d{0,11}")){
return false;
}
return true;
}

public String registerUser(String username, String password, String name, String surname) {
if (!checkUserName(username))
return "Username is not correctly formatted, please ensure that your username contains an underscore and is no more than 5 characters in length.";
if (!checkPasswordComplexity(password))
return "Password is not correctly formatted, please ensure that the password contains at least 8 characters, a capital letter, a number and a special character.";
DataHandler.getInstance().setUser(new User(username, password, name, surname));
return "Password successfully captured";
}

public boolean loginUser(String username, String password) {
User user = DataHandler.getInstance().getUser(username);
if (user.getPassword().equals(password))
return true;
return false;
}

public String returnLoginStatus(String username, String password) {
if(loginUser(username, password)) {
User user = DataHandler.getInstance().getUser(username);
return "Welcome " + user.getName() + "," + user.getSurname() + " it is great to see you again.";
}
return "Username or password incorrect, please try again";
}

private boolean checkSpecialChar(String password) {
char[] specialChar = {' ', '!', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',',
'-', '.', '/', ':',';', '<', '=', '>', '?', '@','[', ']', '\\', '^', '_', '`','{', '|', '}', '~'};

for (char c : specialChar) {
if (password.contains(""+c))
return true;
}
return false;
}

private boolean checkCaps(String password) {
for (int i = 0; i < password.length(); i++) {
if (Character.isUpperCase(password.charAt(i)))
return true;
}
return false;
}

private boolean checkLowerCase(String password) {
for (int i = 0; i < password.length(); i++) {
if (Character.isLowerCase(password.charAt(i)))
return true;
}
return false;
}

private boolean checkDigit(String password) {
for (int i = 0; i < password.length(); i++) {
if (Character.isDigit(password.charAt(i)))
return true;
}
return false;
}
}

import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

class LoginTest {

@BeforeAll
public static void init() {
DataHandler.getInstance().setUser(new User("kyl_1", "P@ssword1", "Test_name", "Test_surname"));
}

@Test
public void checkUsernameTest() {
Login login = new Login();
String message = login.returnLoginStatus("kyl_1", "P@ssword1");
assertEquals(message, "Welcome Test_name,Test_surname it is great to see you again.");
}

@Test
public void checkBadUsernameTest() {
Login login = new Login();
String message = login.registerUser("kyle!!!!!!!", "P@ssword1", "Test_name", "Test_surname");
assertEquals(message, "Username is not correctly formatted, please ensure that your username contains an underscore and is no more than 5 characters in length.");
}

@Test
public void checkCorrectlyFormattedPasswordTest() {
Login login = new Login();
String message = login.registerUser("ky_le", "Ch&&sec@ke99!", "Test_name", "Test_surname");
assertEquals(message, "Password successfully captured");
}

@Test
public void checkIncorrectlyFormattedPasswordTest() {
Login login = new Login();
String message = login.registerUser("k_yle", "password", "Test_name", "Test_surname");
assertEquals(message, "Password is not correctly formatted, please ensure that the password contains at least 8 characters, a capital letter, a number and a special character.");
}

@Test
public void loginSuccessfulTest() {
Login login = new Login();
assertTrue(login.loginUser("kyl_1","P@ssword1"));
}

@Test
public void loginFailTest() {
Login login = new Login();
assertFalse(login.loginUser("kyl_1","P@ssword2"));
}

@Test
public void usernameCorrectlyFormattedTest() {
Login login = new Login();
assertTrue(login.checkUserName("kyl_1"));
}

@Test
public void usernameInCorrectlyFormattedTest() {
Login login = new Login();
assertFalse(login.checkUserName("kyl!!!!!"));
}

@Test
public void passwordCorrectlyFormattedTest() {
Login login = new Login();
assertTrue(login.checkPasswordComplexity("Ch&&sec@ke99!"));
}

@Test
public void passwordInCorrectlyFormattedTest() {
Login login = new Login();
assertFalse(login.checkPasswordComplexity("password"));
}

@Test
public void cellPhoneNumberCorrectlyFormattedTest(){
Login login = new Login();
assertTrue(login.CheckCellPhoneNumber("+27838968976"));
}

@Test
public void cellPhoneNumberInCorrectlyFormattedTest(){
Login login = new Login();
assertFalse(login.CheckCellPhoneNumber("08966553"));
}
}public class User {
private String username;
private String password;
private String name;
private String surname;

public User() {
//no arguments constructor
}

public User(String username, String password, String name, String surname) {
this.username = username;
this.password = password;
this.name = name;
this.surname = surname;
}

public String getUsername() {
return username;
}

public String getPassword() {
return password;
}

public String getName() {
return name;
}

public String getSurname() {
return surname;
}
}

import java.util.ArrayList;

public class DataHandler {

private ArrayList UserList;
private static DataHandler instance;

private DataHandler() {
UserList = new ArrayList<>();
}

public static DataHandler getInstance() {
if(instance == null)
instance = new DataHandler();
return instance;
}

public User getUser(String username) {
for (User user : UserList) {
if (user.getUsername().equals(username))
return user;
}
return new User();
}
public void setUser(User user) {
this.UserList.add(user);
}
}

public class Login {

public boolean checkUserName(String username) {

if (username.length() >= 5 && username.contains("_"))
return true;
return false;
}

public boolean checkPasswordComplexity(String password) {

if (!(password.length() >= 8))
return false;
if (!checkSpecialChar(password))
return false;
if (!checkDigit(password))
return false;
if (!checkLowerCase(password))
return false;
if (!checkCaps(password))
return false;
return true;
}

public boolean CheckCellPhoneNumber(String PhoneNumber){
if(PhoneNumber == null || PhoneNumber.isEmpty()){
return false;
}

if(!PhoneNumber.startsWith("+")){
return false;
}
String NumberWithoutCountryCode = PhoneNumber.substring(1);
if(!NumberWithoutCountryCode.matches("\\d{0,11}")){
return false;
}
return true;
}

public String registerUser(String username, String password, String name, String surname) {
if (!checkUserName(username))
return "Username is not correctly formatted, please ensure that your username contains an underscore and is no more than 5 characters in length.";
if (!checkPasswordComplexity(password))
return "Password is not correctly formatted, please ensure that the password contains at least 8 characters, a capital letter, a number and a special character.";
DataHandler.getInstance().setUser(new User(username, password, name, surname));
return "Password successfully captured";
}

public boolean loginUser(String username, String password) {
User user = DataHandler.getInstance().getUser(username);
if (user.getPassword().equals(password))
return true;
return false;
}

public String returnLoginStatus(String username, String password) {
if(loginUser(username, password)) {
User user = DataHandler.getInstance().getUser(username);
return "Welcome " + user.getName() + "," + user.getSurname() + " it is great to see you again.";
}
return "Username or password incorrect, please try again";
}

private boolean checkSpecialChar(String password) {
char[] specialChar = {' ', '!', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',',
'-', '.', '/', ':',';', '<', '=', '>', '?', '@','[', ']', '\\', '^', '_', '`','{', '|', '}', '~'};

for (char c : specialChar) {
if (password.contains(""+c))
return true;
}
return false;
}

private boolean checkCaps(String password) {
for (int i = 0; i < password.length(); i++) {
if (Character.isUpperCase(password.charAt(i)))
return true;
}
return false;
}

private boolean checkLowerCase(String password) {
for (int i = 0; i < password.length(); i++) {
if (Character.isLowerCase(password.charAt(i)))
return true;
}
return false;
}

private boolean checkDigit(String password) {
for (int i = 0; i < password.length(); i++) {
if (Character.isDigit(password.charAt(i)))
return true;
}
return false;
}
}

import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

class LoginTest {

@BeforeAll
public static void init() {
DataHandler.getInstance().setUser(new User("kyl_1", "P@ssword1", "Test_name", "Test_surname"));
}

@Test
public void checkUsernameTest() {
Login login = new Login();
String message = login.returnLoginStatus("kyl_1", "P@ssword1");
assertEquals(message, "Welcome Test_name,Test_surname it is great to see you again.");
}

@Test
public void checkBadUsernameTest() {
Login login = new Login();
String message = login.registerUser("kyle!!!!!!!", "P@ssword1", "Test_name", "Test_surname");
assertEquals(message, "Username is not correctly formatted, please ensure that your username contains an underscore and is no more than 5 characters in length.");
}

@Test
public void checkCorrectlyFormattedPasswordTest() {
Login login = new Login();
String message = login.registerUser("ky_le", "Ch&&sec@ke99!", "Test_name", "Test_surname");
assertEquals(message, "Password successfully captured");
}

@Test
public void checkIncorrectlyFormattedPasswordTest() {
Login login = new Login();
String message = login.registerUser("k_yle", "password", "Test_name", "Test_surname");
assertEquals(message, "Password is not correctly formatted, please ensure that the password contains at least 8 characters, a capital letter, a number and a special character.");
}

@Test
public void loginSuccessfulTest() {
Login login = new Login();
assertTrue(login.loginUser("kyl_1","P@ssword1"));
}

@Test
public void loginFailTest() {
Login login = new Login();
assertFalse(login.loginUser("kyl_1","P@ssword2"));
}

@Test
public void usernameCorrectlyFormattedTest() {
Login login = new Login();
assertTrue(login.checkUserName("kyl_1"));
}

@Test
public void usernameInCorrectlyFormattedTest() {
Login login = new Login();
assertFalse(login.checkUserName("kyl!!!!!"));
}

@Test
public void passwordCorrectlyFormattedTest() {
Login login = new Login();
assertTrue(login.checkPasswordComplexity("Ch&&sec@ke99!"));
}

@Test
public void passwordInCorrectlyFormattedTest() {
Login login = new Login();
assertFalse(login.checkPasswordComplexity("password"));
}

@Test
public void cellPhoneNumberCorrectlyFormattedTest(){
Login login = new Login();
assertTrue(login.CheckCellPhoneNumber("+27838968976"));
}

@Test
public void cellPhoneNumberInCorrectlyFormattedTest(){
Login login = new Login();
assertFalse(login.CheckCellPhoneNumber("08966553"));
}
}

Contributor guide

Open the contributing guide

Research direction

The issue contains duplicated and truncated Java classes and tests but names no repository files, entry points, or requested change. Start by locating whether this registration code exists in the repository; the issue does not define expected behavior or a verifiable done condition.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
authentication
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
10/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.