From 7bc39dd2feeea0e019e610aa40606ad1297721ab Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sat, 30 Nov 2019 16:26:28 -0500 Subject: [PATCH 01/16] created the skeleton --- .gitignore | 6 ++++++ .idea/compiler.xml | 1 + .idea/misc.xml | 3 +++ .idea/vcs.xml | 6 ++++++ src/main/java/daos/DAO.java | 5 +++++ src/main/java/daos/DELETEME.txt | 0 src/main/java/daos/UserDAO.java | 4 ++++ src/main/java/models/ConnectionFactory.java | 4 ++++ src/main/java/models/DELETEME.txt | 0 src/main/java/models/User.java | 4 ++++ 10 files changed, 33 insertions(+) create mode 100644 .idea/vcs.xml create mode 100644 src/main/java/daos/DAO.java delete mode 100644 src/main/java/daos/DELETEME.txt create mode 100644 src/main/java/daos/UserDAO.java create mode 100644 src/main/java/models/ConnectionFactory.java delete mode 100644 src/main/java/models/DELETEME.txt create mode 100644 src/main/java/models/User.java diff --git a/.gitignore b/.gitignore index 6bc0bfa..8f9a6c5 100644 --- a/.gitignore +++ b/.gitignore @@ -82,3 +82,9 @@ fabric.properties .idea/sonarlint # End of https://www.gitignore.io/api/intellij + +/target/ +/target/* +/target/** + +*.DS_Store \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml index f006a55..7ad4cb7 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -7,6 +7,7 @@ + diff --git a/.idea/misc.xml b/.idea/misc.xml index 803a716..48b4b95 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,9 @@ + + \ No newline at end of file diff --git a/src/main/java/daos/DAO.java b/src/main/java/daos/DAO.java index cd6ebc5..b8ac314 100644 --- a/src/main/java/daos/DAO.java +++ b/src/main/java/daos/DAO.java @@ -1,5 +1,71 @@ package daos; +import models.User; +import models.ConnectionFactory; + +import java.sql.*; +import java.util.ArrayList; +import java.util.List; + public class DAO implements UserDAO { + private List allUsers; + + public User findById(Integer id) { + + Connection connection = ConnectionFactory.getConnection(); + try { + Statement stmt = connection.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT * FROM user WHERE id=" + id); + if(rs.next()) + { + return extractUserFromResultSet(rs); + } + } catch (SQLException ex) { + ex.printStackTrace(); + } + + return null; + } + + public List findAll() { + allUsers = new ArrayList(); + Connection connection = ConnectionFactory.getConnection(); + try { + Statement stmt = connection.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT * FROM user"); + while(rs.next()) + { + allUsers.add(extractUserFromResultSet(rs)); + } + return allUsers; + + } catch (SQLException ex) { + ex.printStackTrace(); + } + + return null; + } + + public Boolean updateUser(User dto) { + return null; + } + + public Boolean createUser(User dto) { + return null; + } + + public void deleteUser(Integer id) { + + } + + + private User extractUserFromResultSet(ResultSet rs) throws SQLException { + User user = new User(); + user.setId( rs.getInt("id") ); + user.setName( rs.getString("name") ); + user.setPass( rs.getString("password") ); + user.setAge( rs.getInt("age") ); + return user; + } } diff --git a/src/main/java/daos/UserDAO.java b/src/main/java/daos/UserDAO.java index 4e18a0a..d5241de 100644 --- a/src/main/java/daos/UserDAO.java +++ b/src/main/java/daos/UserDAO.java @@ -1,4 +1,13 @@ package daos; +import models.User; + +import java.util.List; + public interface UserDAO { + User findById (Integer id); + List findAll(); + Boolean updateUser (User dto); + Boolean createUser (User dto); + void deleteUser (Integer id); } diff --git a/src/main/java/models/ConnectionFactory.java b/src/main/java/models/ConnectionFactory.java index f452f30..ff808b1 100644 --- a/src/main/java/models/ConnectionFactory.java +++ b/src/main/java/models/ConnectionFactory.java @@ -1,4 +1,21 @@ package models; +import com.mysql.jdbc.Driver; +import java.sql.*; + public class ConnectionFactory { + + public static final String URL = "jdbc:mysql://localhost:3306/testdb"; + public static final String USER = "testuser"; + public static final String PASS = "testpass"; + + + public static Connection getConnection() { + try { + DriverManager.registerDriver(new Driver()); + return DriverManager.getConnection(URL, USER, PASS); + } catch (SQLException ex) { + throw new RuntimeException("Error connecting to the database", ex); + } + } } diff --git a/src/main/java/models/DTO.java b/src/main/java/models/DTO.java new file mode 100644 index 0000000..ff40e32 --- /dev/null +++ b/src/main/java/models/DTO.java @@ -0,0 +1,5 @@ +package models; + +public interface DTO { + Integer getId(); +} diff --git a/src/main/java/models/User.java b/src/main/java/models/User.java index 9928c9a..ce4f691 100644 --- a/src/main/java/models/User.java +++ b/src/main/java/models/User.java @@ -1,4 +1,54 @@ package models; -public class User { +public class User implements DTO { + + private Integer id; + private String name; + private String pwd; + private Integer age; + +// ---- constructors --------------------- + public User() { + } + + public User(String name, String pass, Integer age) { + this.name = name; + this.pwd = pass; + this.age = age; + } + + public User(Integer id, String name, String pass, Integer age) { + this.id = id; + this.name = name; + this.pwd = pass; + this.age = age; + } + +// --------- getters & setters ------------- + public Integer getAge() { + return age; + } + public void setAge(Integer age) { + this.age = age; + } + public Integer getId() { + return id; + } + public void setId(Integer id) { + this.id = id; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getPass() { + return pwd; + } + public void setPass(String pass) { + this.pwd = pass; + } + + } From bd61c8db2ab6600f8bfcc4fbb912ed32b9b2eff2 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sat, 30 Nov 2019 22:46:07 -0500 Subject: [PATCH 03/16] ready for testing --- src/main/java/daos/DAO.java | 89 ++++++++++++++++++++- src/main/java/daos/UserDAO.java | 2 +- src/main/java/models/ConnectionFactory.java | 6 +- src/main/java/models/User.java | 28 ++++--- 4 files changed, 106 insertions(+), 19 deletions(-) diff --git a/src/main/java/daos/DAO.java b/src/main/java/daos/DAO.java index b8ac314..382a8d5 100644 --- a/src/main/java/daos/DAO.java +++ b/src/main/java/daos/DAO.java @@ -48,15 +48,47 @@ public List findAll() { } public Boolean updateUser(User dto) { - return null; + Connection connection = ConnectionFactory.getConnection(); + try { + PreparedStatement ps = createStatement(StatementType.UPDATE,connection,dto); + int i = ps.executeUpdate(); + if(i == 1) { + return true; + } + } catch (SQLException ex) { + ex.printStackTrace(); + } + return false; } public Boolean createUser(User dto) { - return null; + Connection connection = ConnectionFactory.getConnection(); + try { + PreparedStatement ps = createStatement(StatementType.INSERT,connection,dto); + int i = ps.executeUpdate(); + if(i == 1) { + return true; + } + } catch (SQLException ex) { + ex.printStackTrace(); + } + return false; + } - public void deleteUser(Integer id) { + public Boolean deleteUser(Integer id) { + Connection connection = ConnectionFactory.getConnection(); + try { + Statement stmt = connection.createStatement(); + int i = stmt.executeUpdate("DELETE FROM user WHERE id=" + id); + if(i == 1) { + return true; + } + } catch (SQLException ex) { + ex.printStackTrace(); + } + return false; } @@ -65,7 +97,56 @@ private User extractUserFromResultSet(ResultSet rs) throws SQLException { user.setId( rs.getInt("id") ); user.setName( rs.getString("name") ); user.setPass( rs.getString("password") ); - user.setAge( rs.getInt("age") ); + user.setEmail(rs.getString("email") ); + user.setPhoneNumber(rs.getString("phone_number")); return user; } + + private PreparedStatement createStatement (StatementType stmtype, Connection connection, User dto) throws SQLException { + PreparedStatement ps; + + if (stmtype.getStatementType().equals( StatementType.INSERT)){ + ps = connection.prepareStatement("INSERT INTO user VALUES (NULL, ?, ?, ?,?)"); + ps.setString(1, dto.getName()); + ps.setString(2, dto.getPass()); + ps.setString(3,dto.getEmail()); + ps.setString(4,dto.getPhoneNumber()); + + return ps; + } + + if (stmtype.getStatementType().equals( StatementType.UPDATE)){ + ps = connection.prepareStatement("UPDATE user SET name=?, password=?, email=?, phone_number=? WHERE id=?"); + ps.setString(1, dto.getName()); + ps.setString(2, dto.getPass()); + ps.setString(3,dto.getEmail()); + ps.setString(4,dto.getPhoneNumber()); + ps.setInt(5, dto.getId()); + } + return null; + } } + +enum StatementType{ + INSERT (1,"Insert"), UPDATE (2,"Update"); + + private String statementType; + + + private Integer key; + + StatementType(Integer key, String stmtType) { + statementType = stmtType; + this.key = key; + } + + + public String getStatementType() { + return statementType; + } + + public Integer getKey() { + return key; + } + +} \ No newline at end of file diff --git a/src/main/java/daos/UserDAO.java b/src/main/java/daos/UserDAO.java index d5241de..0f8a1cd 100644 --- a/src/main/java/daos/UserDAO.java +++ b/src/main/java/daos/UserDAO.java @@ -9,5 +9,5 @@ public interface UserDAO { List findAll(); Boolean updateUser (User dto); Boolean createUser (User dto); - void deleteUser (Integer id); + Boolean deleteUser (Integer id); } diff --git a/src/main/java/models/ConnectionFactory.java b/src/main/java/models/ConnectionFactory.java index ff808b1..2e4e6ab 100644 --- a/src/main/java/models/ConnectionFactory.java +++ b/src/main/java/models/ConnectionFactory.java @@ -5,9 +5,9 @@ public class ConnectionFactory { - public static final String URL = "jdbc:mysql://localhost:3306/testdb"; - public static final String USER = "testuser"; - public static final String PASS = "testpass"; + public static final String URL = "jdbc:mysql://localhost:3306/myDB"; + public static final String USER = "root"; + public static final String PASS = "tfoseraw"; public static Connection getConnection() { diff --git a/src/main/java/models/User.java b/src/main/java/models/User.java index ce4f691..4407efe 100644 --- a/src/main/java/models/User.java +++ b/src/main/java/models/User.java @@ -5,32 +5,26 @@ public class User implements DTO { private Integer id; private String name; private String pwd; - private Integer age; + private String email; + private String phoneNumber; // ---- constructors --------------------- public User() { } - public User(String name, String pass, Integer age) { + public User(String name, String pass) { this.name = name; this.pwd = pass; - this.age = age; } - public User(Integer id, String name, String pass, Integer age) { + public User(Integer id, String name, String pass) { this.id = id; this.name = name; this.pwd = pass; - this.age = age; } // --------- getters & setters ------------- - public Integer getAge() { - return age; - } - public void setAge(Integer age) { - this.age = age; - } + public Integer getId() { return id; } @@ -50,5 +44,17 @@ public void setPass(String pass) { this.pwd = pass; } + public String getEmail() { + return email; + } + public void setEmail(String email) { + this.email = email; + } + public String getPhoneNumber() { + return phoneNumber; + } + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } } From 403b2f4fc3b420d945cdffadd54adf57b26e23da Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sat, 30 Nov 2019 22:54:25 -0500 Subject: [PATCH 04/16] Add test classes --- src/main/java/daos/DAO.java | 18 ++++++++ src/test/java/daos/DAOTest.java | 34 ++++++++++++++ src/test/java/daos/DELETEME.txt | 0 .../java/models/ConnectionFactoryTest.java | 16 +++++++ src/test/java/models/DELETEME.txt | 0 src/test/java/models/UserTest.java | 45 +++++++++++++++++++ 6 files changed, 113 insertions(+) create mode 100644 src/test/java/daos/DAOTest.java delete mode 100644 src/test/java/daos/DELETEME.txt create mode 100644 src/test/java/models/ConnectionFactoryTest.java delete mode 100644 src/test/java/models/DELETEME.txt create mode 100644 src/test/java/models/UserTest.java diff --git a/src/main/java/daos/DAO.java b/src/main/java/daos/DAO.java index 382a8d5..2ce7742 100644 --- a/src/main/java/daos/DAO.java +++ b/src/main/java/daos/DAO.java @@ -57,6 +57,12 @@ public Boolean updateUser(User dto) { } } catch (SQLException ex) { ex.printStackTrace(); + } finally { + try { + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } } return false; } @@ -71,6 +77,12 @@ public Boolean createUser(User dto) { } } catch (SQLException ex) { ex.printStackTrace(); + } finally { + try { + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } } return false; @@ -87,6 +99,12 @@ public Boolean deleteUser(Integer id) { } } catch (SQLException ex) { ex.printStackTrace(); + } finally { + try { + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } } return false; } diff --git a/src/test/java/daos/DAOTest.java b/src/test/java/daos/DAOTest.java new file mode 100644 index 0000000..db7c8e6 --- /dev/null +++ b/src/test/java/daos/DAOTest.java @@ -0,0 +1,34 @@ +package daos; + +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class DAOTest { + + @Before + public void setUp() throws Exception { + } + + + @Test + public void findById() { + } + + @Test + public void findAll() { + } + + @Test + public void updateUser() { + } + + @Test + public void createUser() { + } + + @Test + public void deleteUser() { + } +} \ No newline at end of file diff --git a/src/test/java/daos/DELETEME.txt b/src/test/java/daos/DELETEME.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/test/java/models/ConnectionFactoryTest.java b/src/test/java/models/ConnectionFactoryTest.java new file mode 100644 index 0000000..3c96039 --- /dev/null +++ b/src/test/java/models/ConnectionFactoryTest.java @@ -0,0 +1,16 @@ +package models; + +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class ConnectionFactoryTest { + @Before + public void setUp() throws Exception { + } + + @Test + public void getConnection() { + } +} \ No newline at end of file diff --git a/src/test/java/models/DELETEME.txt b/src/test/java/models/DELETEME.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/test/java/models/UserTest.java b/src/test/java/models/UserTest.java new file mode 100644 index 0000000..8636288 --- /dev/null +++ b/src/test/java/models/UserTest.java @@ -0,0 +1,45 @@ +package models; + +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class UserTest { + + @Before + public void setUp() throws Exception { + } + + @Test + public void getId() { + } + + @Test + public void setId() { + } + + @Test + public void getName() { + } + + @Test + public void setName() { + } + + @Test + public void getPass() { + } + + @Test + public void setPass() { + } + + @Test + public void getEmail() { + } + + @Test + public void setEmail() { + } +} \ No newline at end of file From fb27450228d2bb6ecd6889c0605345eb0ae745fb Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sun, 1 Dec 2019 00:46:12 -0500 Subject: [PATCH 05/16] Add connection test --- src/main/java/models/ConnectionFactory.java | 2 +- src/test/java/daos/DAOTest.java | 3 +++ .../java/models/ConnectionFactoryTest.java | 19 ++++++++++++++++--- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main/java/models/ConnectionFactory.java b/src/main/java/models/ConnectionFactory.java index 2e4e6ab..9b6aeea 100644 --- a/src/main/java/models/ConnectionFactory.java +++ b/src/main/java/models/ConnectionFactory.java @@ -5,7 +5,7 @@ public class ConnectionFactory { - public static final String URL = "jdbc:mysql://localhost:3306/myDB"; + public static final String URL = "jdbc:mysql://localhost:3306/myDB?autoReconnect=true&useSSL=false"; public static final String USER = "root"; public static final String PASS = "tfoseraw"; diff --git a/src/test/java/daos/DAOTest.java b/src/test/java/daos/DAOTest.java index db7c8e6..09c7519 100644 --- a/src/test/java/daos/DAOTest.java +++ b/src/test/java/daos/DAOTest.java @@ -7,8 +7,11 @@ public class DAOTest { + DAO testDao; + @Before public void setUp() throws Exception { + testDao = new DAO(); } diff --git a/src/test/java/models/ConnectionFactoryTest.java b/src/test/java/models/ConnectionFactoryTest.java index 3c96039..dc94bf6 100644 --- a/src/test/java/models/ConnectionFactoryTest.java +++ b/src/test/java/models/ConnectionFactoryTest.java @@ -1,16 +1,29 @@ package models; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import java.sql.Connection; +import java.sql.SQLException; + import static org.junit.Assert.*; public class ConnectionFactoryTest { - @Before - public void setUp() throws Exception { - } + Connection connection; + @Test public void getConnection() { + connection = ConnectionFactory.getConnection(); + Boolean actual = false; + + try { + actual = connection.isClosed(); + } catch (SQLException e) { + e.printStackTrace(); + } + + Assert.assertFalse(actual); } } \ No newline at end of file From d48584544467f7f068803c4e21b63250cfcd408a Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sun, 1 Dec 2019 00:51:17 -0500 Subject: [PATCH 06/16] Add get id test --- src/main/java/models/User.java | 4 +++- src/test/java/models/UserTest.java | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/models/User.java b/src/main/java/models/User.java index 4407efe..22dc60d 100644 --- a/src/main/java/models/User.java +++ b/src/main/java/models/User.java @@ -17,10 +17,12 @@ public User(String name, String pass) { this.pwd = pass; } - public User(Integer id, String name, String pass) { + public User(Integer id, String name, String pass, String email, String phoneNumber) { this.id = id; this.name = name; this.pwd = pass; + this.email = email; + this.phoneNumber = phoneNumber; } // --------- getters & setters ------------- diff --git a/src/test/java/models/UserTest.java b/src/test/java/models/UserTest.java index 8636288..5330f41 100644 --- a/src/test/java/models/UserTest.java +++ b/src/test/java/models/UserTest.java @@ -1,18 +1,28 @@ package models; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import java.sql.Connection; + import static org.junit.Assert.*; public class UserTest { + User testUser; + @Before public void setUp() throws Exception { + testUser = new User(1,"Joe","testpass","joe@gmail.com","215-222-3333"); } @Test public void getId() { + Integer actual = 1; + Integer expected = testUser.getId(); + + Assert.assertEquals(expected,actual); } @Test @@ -42,4 +52,5 @@ public void getEmail() { @Test public void setEmail() { } + } \ No newline at end of file From 5f536f0b9d946b24bde622731133cd7c4433bfaf Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sun, 1 Dec 2019 00:52:36 -0500 Subject: [PATCH 07/16] Add setid test --- src/test/java/models/UserTest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/test/java/models/UserTest.java b/src/test/java/models/UserTest.java index 5330f41..c549707 100644 --- a/src/test/java/models/UserTest.java +++ b/src/test/java/models/UserTest.java @@ -27,6 +27,11 @@ public void getId() { @Test public void setId() { + Integer actual = 6; + testUser.setId(actual); + Integer expected = testUser.getId(); + + Assert.assertEquals(expected,actual); } @Test From fbb592e3c592c860586412a3d24f9f96f170582e Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sun, 1 Dec 2019 00:54:37 -0500 Subject: [PATCH 08/16] Add set/get name --- src/test/java/models/UserTest.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/test/java/models/UserTest.java b/src/test/java/models/UserTest.java index c549707..757b41c 100644 --- a/src/test/java/models/UserTest.java +++ b/src/test/java/models/UserTest.java @@ -36,10 +36,19 @@ public void setId() { @Test public void getName() { + String expected = "Joe"; + String actual = testUser.getName(); + + Assert.assertEquals(expected,actual); } @Test public void setName() { + String actual = "Jane"; + testUser.setName(actual); + String expected = testUser.getName(); + + Assert.assertEquals(expected,actual); } @Test From 12f5fa3f1f756cc6001dcd41469f191821db2bef Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sun, 1 Dec 2019 00:57:00 -0500 Subject: [PATCH 09/16] Add get/set password --- src/test/java/models/UserTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/test/java/models/UserTest.java b/src/test/java/models/UserTest.java index 757b41c..0aee421 100644 --- a/src/test/java/models/UserTest.java +++ b/src/test/java/models/UserTest.java @@ -53,10 +53,18 @@ public void setName() { @Test public void getPass() { + String expected = "testpass"; + String actual = testUser.getPass(); + + Assert.assertEquals(expected,actual); } @Test public void setPass() { + String expected = "secondpass"; + testUser.setPass(expected); + String actual = testUser.getPass(); + } @Test From 8fd18203167aa0a0b45c01cf6f23425acd0a29a0 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sun, 1 Dec 2019 00:58:59 -0500 Subject: [PATCH 10/16] Add get/set email test --- src/test/java/models/UserTest.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/test/java/models/UserTest.java b/src/test/java/models/UserTest.java index 0aee421..d77bb18 100644 --- a/src/test/java/models/UserTest.java +++ b/src/test/java/models/UserTest.java @@ -69,10 +69,19 @@ public void setPass() { @Test public void getEmail() { + String expected = "joe@gmail.com"; + String actual = testUser.getEmail(); + + Assert.assertEquals(expected,actual); } @Test public void setEmail() { + String expected = "jane@gmail.com"; + testUser.setEmail(expected); + String actual = testUser.getEmail(); + + Assert.assertEquals(expected,actual); } } \ No newline at end of file From 1fc040ad7f135ded85fb93b6f3ef5e88164da05a Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sun, 1 Dec 2019 01:01:15 -0500 Subject: [PATCH 11/16] Add get/set phone test --- src/test/java/models/UserTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/test/java/models/UserTest.java b/src/test/java/models/UserTest.java index d77bb18..6aec834 100644 --- a/src/test/java/models/UserTest.java +++ b/src/test/java/models/UserTest.java @@ -84,4 +84,20 @@ public void setEmail() { Assert.assertEquals(expected,actual); } + @Test + public void getPhoneNumber() { + String expected = "215-222-3333"; + String actual = testUser.getPhoneNumber(); + + Assert.assertEquals(expected,actual); + } + + @Test + public void setPhoneNumber() { + String expected = "215-333-4444"; + testUser.setPhoneNumber(expected); + String actual = testUser.getPhoneNumber(); + + Assert.assertEquals(expected,actual); + } } \ No newline at end of file From 0da7b1a75da1da1c48c985f4007ac7bc74330653 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sun, 1 Dec 2019 07:45:30 -0500 Subject: [PATCH 12/16] Add test find by id --- src/test/java/daos/DAOTest.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/test/java/daos/DAOTest.java b/src/test/java/daos/DAOTest.java index 09c7519..b96576c 100644 --- a/src/test/java/daos/DAOTest.java +++ b/src/test/java/daos/DAOTest.java @@ -1,14 +1,15 @@ package daos; +import models.User; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import static org.junit.Assert.*; - public class DAOTest { DAO testDao; + @Before public void setUp() throws Exception { testDao = new DAO(); @@ -17,6 +18,8 @@ public void setUp() throws Exception { @Test public void findById() { + User expected = testDao.findById(4); + Assert.assertEquals("Nedda",expected.getName()); } @Test From 25298c08ea4198469e2cbec6bb7965f58f1483d7 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sun, 1 Dec 2019 07:47:32 -0500 Subject: [PATCH 13/16] Add test for find all --- src/test/java/daos/DAOTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/test/java/daos/DAOTest.java b/src/test/java/daos/DAOTest.java index b96576c..de5fd60 100644 --- a/src/test/java/daos/DAOTest.java +++ b/src/test/java/daos/DAOTest.java @@ -5,6 +5,8 @@ import org.junit.Before; import org.junit.Test; +import java.util.List; + public class DAOTest { DAO testDao; @@ -24,6 +26,11 @@ public void findById() { @Test public void findAll() { + List allUsers = testDao.findAll(); + Integer expected = 10; + Integer actual = allUsers.size(); + + Assert.assertEquals(expected,actual); } @Test From ae23c6cb8f44c6afa7b6787c84ad6cecd8aff2e0 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sun, 1 Dec 2019 08:08:55 -0500 Subject: [PATCH 14/16] Add update user test --- src/main/java/daos/DAO.java | 6 ++++-- src/test/java/daos/DAOTest.java | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/daos/DAO.java b/src/main/java/daos/DAO.java index 2ce7742..6ac0d3b 100644 --- a/src/main/java/daos/DAO.java +++ b/src/main/java/daos/DAO.java @@ -123,7 +123,7 @@ private User extractUserFromResultSet(ResultSet rs) throws SQLException { private PreparedStatement createStatement (StatementType stmtype, Connection connection, User dto) throws SQLException { PreparedStatement ps; - if (stmtype.getStatementType().equals( StatementType.INSERT)){ + if (stmtype.getStatementType().equals("Insert")){ ps = connection.prepareStatement("INSERT INTO user VALUES (NULL, ?, ?, ?,?)"); ps.setString(1, dto.getName()); ps.setString(2, dto.getPass()); @@ -133,13 +133,15 @@ private PreparedStatement createStatement (StatementType stmtype, Connection con return ps; } - if (stmtype.getStatementType().equals( StatementType.UPDATE)){ + if (stmtype.getStatementType().equals("Update")){ ps = connection.prepareStatement("UPDATE user SET name=?, password=?, email=?, phone_number=? WHERE id=?"); ps.setString(1, dto.getName()); ps.setString(2, dto.getPass()); ps.setString(3,dto.getEmail()); ps.setString(4,dto.getPhoneNumber()); ps.setInt(5, dto.getId()); + + return ps; } return null; } diff --git a/src/test/java/daos/DAOTest.java b/src/test/java/daos/DAOTest.java index de5fd60..5a55c86 100644 --- a/src/test/java/daos/DAOTest.java +++ b/src/test/java/daos/DAOTest.java @@ -35,6 +35,14 @@ public void findAll() { @Test public void updateUser() { + String expected = "newpassword"; + User testUpdate = new User(7,"Matilda",expected,null,null); + testDao.updateUser(testUpdate); + + User updated = testDao.findById(7); + String actual = updated.getPass(); + + Assert.assertEquals(expected,actual); } @Test From 1a8c9cdbae7b4a9ae44f0a8d12be8b89517722c9 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sun, 1 Dec 2019 08:15:55 -0500 Subject: [PATCH 15/16] Add test for delete user --- src/test/java/daos/DAOTest.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/test/java/daos/DAOTest.java b/src/test/java/daos/DAOTest.java index 5a55c86..96c0c54 100644 --- a/src/test/java/daos/DAOTest.java +++ b/src/test/java/daos/DAOTest.java @@ -47,9 +47,20 @@ public void updateUser() { @Test public void createUser() { + User testUpdate = new User(19,"Mark",null,null,null); + testDao.createUser(testUpdate); + Integer expected = 11; + Integer actual = testDao.findAll().size(); + + Assert.assertEquals(expected,actual); } @Test public void deleteUser() { + testDao.deleteUser(7); + Integer expected = 10; + Integer actual = testDao.findAll().size(); + + Assert.assertEquals(expected,actual); } } \ No newline at end of file From 4940967eb3cd199632962bb7adaa20e21575cf0a Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Sun, 1 Dec 2019 12:07:48 -0500 Subject: [PATCH 16/16] finished lab --- src/main/java/models/ConnectionFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/models/ConnectionFactory.java b/src/main/java/models/ConnectionFactory.java index 9b6aeea..66ebecb 100644 --- a/src/main/java/models/ConnectionFactory.java +++ b/src/main/java/models/ConnectionFactory.java @@ -7,7 +7,7 @@ public class ConnectionFactory { public static final String URL = "jdbc:mysql://localhost:3306/myDB?autoReconnect=true&useSSL=false"; public static final String USER = "root"; - public static final String PASS = "tfoseraw"; + public static final String PASS = "easy123"; public static Connection getConnection() {