package carpool.test.dao;
import static org.junit.Assert.fail;
import java.util.ArrayList;
import java.util.Calendar;
import org.junit.Test;
import carpool.carpoolDAO.CarpoolDaoBasic;
import carpool.carpoolDAO.CarpoolDaoDriver;
import carpool.carpoolDAO.CarpoolDaoPassenger;
import carpool.carpoolDAO.CarpoolDaoUser;
import carpool.configurations.EnumConfig;
import carpool.configurations.EnumConfig.Gender;
import carpool.configurations.EnumConfig.LicenseType;
import carpool.configurations.EnumConfig.PassengerVerificationOrigin;
import carpool.exception.validation.ValidationException;
import carpool.model.Location;
import carpool.model.User;
import carpool.model.identityVerification.DriverVerification;
import carpool.model.identityVerification.PassengerVerification;
public class CarpoolDPVerificationTest {
@Test
public void testCreate(){
CarpoolDaoBasic.clearBothDatabase();
long departure_Id = 1;
long arrival_Id = 2;
String province = "Ontario";
String city1 = "Toronto";
String city2 = "Waterloo";
String region1 = "Downtown";
String region2 = "Downtown UW";
Double lat1 = 32.123212;
Double lat2 = 23.132123;
Double lng1 = 34.341232;
Double lng2 = 34.123112;
Location departureLocation= new Location(province,city1,region1,"Test1","Test11",lat1,lng1,arrival_Id);
Location arrivalLocation = new Location(province,city2,region2,"Test2","Test22",lat2,lng2,departure_Id);
User user = new User("xch93318yeah", "c2xiong@uwaterloo.ca", arrivalLocation, Gender.both);
User user2 = new User("xch933h", "c2xioloo.ca", departureLocation, Gender.both);
try {
user = CarpoolDaoUser.addUserToDatabase(user);
user2 = CarpoolDaoUser.addUserToDatabase(user2);
} catch (ValidationException e) {
e.printStackTrace();
fail();
}
if(user.getDriverVerification()==null&&user.getPassengerVerification()==null){
//Passed;
}else fail();
String LicenseNum = "32344fgfdgtert";
LicenseType lt = EnumConfig.LicenseType.driverLisence_a;
Calendar licenseIssueDate = Calendar.getInstance();
String licenseImgLink = "23rhj0eirhf_-=sdfewrf234rewffdsf&8r343gf3rfgerafg4th5yyt45tgerfgtwrvy56";
PassengerVerificationOrigin origin = EnumConfig.PassengerVerificationOrigin.driver;
DriverVerification driver = new DriverVerification(user.getUserId(), user.getName(),LicenseNum , lt, licenseIssueDate,licenseImgLink);
PassengerVerification passenger = new PassengerVerification(user2.getUserId(), user.getName(), LicenseNum, licenseImgLink, licenseImgLink, origin);
try{
driver = CarpoolDaoDriver.addDriverToDatabases(driver);
passenger = CarpoolDaoPassenger.addPassengerToDatabases(passenger);
}catch(Exception ex){
ex.printStackTrace();
fail();
}
}
@Test
public void testRead(){
CarpoolDaoBasic.clearBothDatabase();
long departure_Id = 1;
long arrival_Id = 2;
String province = "Ontario";
String city1 = "Toronto";
String city2 = "Waterloo";
String region1 = "Downtown";
String region2 = "Downtown UW";
Double lat1 = 32.123212;
Double lat2 = 23.132123;
Double lng1 = 34.341232;
Double lng2 = 34.123112;
Location departureLocation= new Location(province,city1,region1,"Test1","Test11",lat1,lng1,arrival_Id);
Location arrivalLocation = new Location(province,city2,region2,"Test2","Test22",lat2,lng2,departure_Id);
User user = new User("xch93318yeah", "c2xiong@uwaterloo.ca", arrivalLocation, Gender.both);
User user2 = new User("xch933h", "c2xioloo.ca", departureLocation, Gender.both);
try {
user = CarpoolDaoUser.addUserToDatabase(user);
user2 = CarpoolDaoUser.addUserToDatabase(user2);
} catch (ValidationException e) {
e.printStackTrace();
fail();
}
if(user.getDriverVerification()==null&&user.getPassengerVerification()==null){
//Passed;
}else fail();
String LicenseNum = "32344fgfdgtert";
LicenseType lt = EnumConfig.LicenseType.driverLisence_a;
Calendar licenseIssueDate = Calendar.getInstance();
String licenseImgLink = "23rhj0eirhf_-=sdfewrf234rewffdsf&8r343gf3rfgerafg4th5yyt45tgerfgtwrvy56";
PassengerVerificationOrigin origin = EnumConfig.PassengerVerificationOrigin.driver;
DriverVerification driver = new DriverVerification(user.getUserId(), user.getName(),LicenseNum , lt, licenseIssueDate,licenseImgLink);
PassengerVerification passenger = new PassengerVerification(user2.getUserId(), user.getName(), LicenseNum, licenseImgLink, licenseImgLink, origin);
DriverVerification driverTest = null;
PassengerVerification passengerTest = null;
try{
driverTest = CarpoolDaoDriver.addDriverToDatabases(driver);
passengerTest = CarpoolDaoPassenger.addPassengerToDatabases(passenger);
if(passengerTest==null || driverTest==null || !driverTest.equals(driver) || !passengerTest.equals(passenger)){
fail();
}else{
//Passed;
}
}catch(Exception ex){
ex.printStackTrace();
fail();
}
}
@Test
public void testUpdate(){
CarpoolDaoBasic.clearBothDatabase();
long departure_Id = 1;
long arrival_Id = 2;
String province = "Ontario";
String city1 = "Toronto";
String city2 = "Waterloo";
String region1 = "Downtown";
String region2 = "Downtown UW";
Double lat1 = 32.123212;
Double lat2 = 23.132123;
Double lng1 = 34.341232;
Double lng2 = 34.123112;
Location departureLocation= new Location(province,city1,region1,"Test1","Test11",lat1,lng1,arrival_Id);
Location arrivalLocation = new Location(province,city2,region2,"Test2","Test22",lat2,lng2,departure_Id);
User user = new User("xch93318yeah", "c2xiong@uwaterloo.ca", arrivalLocation, Gender.both);
User user2 = new User("xch933h", "c2xioloo.ca", departureLocation, Gender.both);
try {
user = CarpoolDaoUser.addUserToDatabase(user);
user2 = CarpoolDaoUser.addUserToDatabase(user2);
} catch (ValidationException e) {
e.printStackTrace();
fail();
}
if(user.getDriverVerification()==null&&user.getPassengerVerification()==null){
//Passed;
}else fail();
String LicenseNum = "32344fgfdgtert";
LicenseType lt = EnumConfig.LicenseType.driverLisence_a;
Calendar licenseIssueDate = Calendar.getInstance();
String licenseImgLink = "23rhj0eirhf_-=sdfewrf234rewffdsf&8r343gf3rfgerafg4th5yyt45tgerfgtwrvy56";
PassengerVerificationOrigin origin = EnumConfig.PassengerVerificationOrigin.driver;
DriverVerification driver = new DriverVerification(user.getUserId(), user.getName(),LicenseNum , lt, licenseIssueDate,licenseImgLink);
PassengerVerification passenger = new PassengerVerification(user2.getUserId(), user.getName(), LicenseNum, licenseImgLink, licenseImgLink, origin);
DriverVerification driverTest = null;
PassengerVerification passengerTest = null;
try{
driver = CarpoolDaoDriver.addDriverToDatabases(driver);
String newLicenseImgLink = "dssssewrewrt2345r5sdfdsfdf3er";
driver.setLicenseImgLink(newLicenseImgLink);
driver.setUserId(user2.getUserId());
driver.setRealName(user2.getName());
CarpoolDaoDriver.updateDriverVerificationInDatabases(driver);
passenger = CarpoolDaoPassenger.addPassengerToDatabases(passenger);
passenger.setBackImgLink(newLicenseImgLink);
passenger.setRecommenderId(100);
passenger.setReviewerId(900);
CarpoolDaoPassenger.updatePassengerVerificationInDatabases(passenger);
driverTest = CarpoolDaoDriver.addDriverToDatabases(driver);
passengerTest = CarpoolDaoPassenger.addPassengerToDatabases(passenger);
if(passengerTest==null || driverTest==null || !driverTest.equals(driver) || !passengerTest.equals(passenger)){
fail();
}else{
//Passed;
}
}catch(Exception ex){
ex.printStackTrace();
fail();
}
}
@Test
public void testGetAllDPVerifications(){
CarpoolDaoBasic.clearBothDatabase();
long departure_Id = 1;
long arrival_Id = 2;
String province = "Ontario";
String city1 = "Toronto";
String city2 = "Waterloo";
String region1 = "Downtown";
String region2 = "Downtown UW";
Double lat1 = 32.123212;
Double lat2 = 23.132123;
Double lng1 = 34.341232;
Double lng2 = 34.123112;
Location departureLocation= new Location(province,city1,region1,"Test1","Test11",lat1,lng1,arrival_Id);
Location arrivalLocation = new Location(province,city2,region2,"Test2","Test22",lat2,lng2,departure_Id);
User user = new User("xch93318yeah", "c2xiong@uwaterloo.ca", arrivalLocation, Gender.both);
User user2 = new User("xch933h", "c2xioloo.ca", departureLocation, Gender.both);
try {
user = CarpoolDaoUser.addUserToDatabase(user);
user2 = CarpoolDaoUser.addUserToDatabase(user2);
} catch (ValidationException e) {
e.printStackTrace();
fail();
}
if(user.getDriverVerification()==null&&user.getPassengerVerification()==null){
//Passed;
}else fail();
String LicenseNum = "32344fgfdgtert";
LicenseType lt = EnumConfig.LicenseType.driverLisence_a;
Calendar licenseIssueDate = Calendar.getInstance();
String licenseImgLink = "23rhj0eirhf_-=sdfewrf234rewffdsf&8r343gf3rfgerafg4th5yyt45tgerfgtwrvy56";
PassengerVerificationOrigin origin = EnumConfig.PassengerVerificationOrigin.driver;
DriverVerification driver = new DriverVerification(user.getUserId(), user.getName(),LicenseNum , lt, licenseIssueDate,licenseImgLink);
PassengerVerification passenger = new PassengerVerification(user2.getUserId(), user.getName(), LicenseNum, licenseImgLink, licenseImgLink, origin);
DriverVerification driverTest = null;
PassengerVerification passengerTest = null;
try{
driver = CarpoolDaoDriver.addDriverToDatabases(driver);
driverTest = CarpoolDaoDriver.getDriverVerificationById(driver.getVerificationId());
String newLicenseImgLink = "dssssewrewrt2345r5sdfdsfdf3er";
driverTest.setLicenseImgLink(newLicenseImgLink);
driverTest.setUserId(user2.getUserId());
driverTest.setRealName(user2.getName());
driverTest = CarpoolDaoDriver.addDriverToDatabases(driverTest);
passenger = CarpoolDaoPassenger.addPassengerToDatabases(passenger);
passengerTest = CarpoolDaoPassenger.getPassengerVerificationById(passenger.getVerificationId());
passengerTest.setBackImgLink(newLicenseImgLink);
passengerTest.setRecommenderId(100);
passengerTest.setReviewerId(900);
passengerTest = CarpoolDaoPassenger.addPassengerToDatabases(passengerTest);
ArrayList<DriverVerification> dlist = new ArrayList<DriverVerification>();
ArrayList<PassengerVerification> plist = new ArrayList<PassengerVerification>();
dlist = CarpoolDaoDriver.getAllDriverVerifications();
plist = CarpoolDaoPassenger.getAllPassengerVerifications();
if(dlist.size()==2&&dlist.get(0).equals(driver)&&dlist.get(1).equals(driverTest)){
//Passed;
}else{
fail();
}
if(plist.size()==2&&plist.get(0).equals(passenger)&&plist.get(1).equals(passengerTest)){
//Passed;
}else{
fail();
}
}catch(Exception ex){
ex.printStackTrace();
fail();
}
}
@Test
public void testDelete(){
CarpoolDaoBasic.clearBothDatabase();
long departure_Id = 1;
long arrival_Id = 2;
String province = "Ontario";
String city1 = "Toronto";
String city2 = "Waterloo";
String region1 = "Downtown";
String region2 = "Downtown UW";
Double lat1 = 32.123212;
Double lat2 = 23.132123;
Double lng1 = 34.341232;
Double lng2 = 34.123112;
Location departureLocation= new Location(province,city1,region1,"Test1","Test11",lat1,lng1,arrival_Id);
Location arrivalLocation = new Location(province,city2,region2,"Test2","Test22",lat2,lng2,departure_Id);
User user = new User("xch93318yeah", "c2xiong@uwaterloo.ca", arrivalLocation, Gender.both);
User user2 = new User("xch933h", "c2xioloo.ca", departureLocation, Gender.both);
try {
user = CarpoolDaoUser.addUserToDatabase(user);
user2 = CarpoolDaoUser.addUserToDatabase(user2);
} catch (ValidationException e) {
e.printStackTrace();
fail();
}
if(user.getDriverVerification()==null&&user.getPassengerVerification()==null){
//Passed;
}else fail();
String LicenseNum = "32344fgfdgtert";
LicenseType lt = EnumConfig.LicenseType.driverLisence_a;
Calendar licenseIssueDate = Calendar.getInstance();
String licenseImgLink = "23rhj0eirhf_-=sdfewrf234rewffdsf&8r343gf3rfgerafg4th5yyt45tgerfgtwrvy56";
PassengerVerificationOrigin origin = EnumConfig.PassengerVerificationOrigin.driver;
DriverVerification driver = new DriverVerification(user.getUserId(), user.getName(),LicenseNum , lt, licenseIssueDate,licenseImgLink);
PassengerVerification passenger = new PassengerVerification(user2.getUserId(), user.getName(), LicenseNum, licenseImgLink, licenseImgLink, origin);
DriverVerification driverTest = null;
PassengerVerification passengerTest = null;
try{
driver = CarpoolDaoDriver.addDriverToDatabases(driver);
driverTest = CarpoolDaoDriver.getDriverVerificationById(driver.getVerificationId());
String newLicenseImgLink = "dssssewrewrt2345r5sdfdsfdf3er";
driverTest.setLicenseImgLink(newLicenseImgLink);
driverTest.setUserId(user2.getUserId());
driverTest.setRealName(user2.getName());
driverTest = CarpoolDaoDriver.addDriverToDatabases(driverTest);
passenger = CarpoolDaoPassenger.addPassengerToDatabases(passenger);
passengerTest = CarpoolDaoPassenger.getPassengerVerificationById(passenger.getVerificationId());
passengerTest.setBackImgLink(newLicenseImgLink);
passengerTest.setRecommenderId(100);
passengerTest.setReviewerId(900);
passengerTest = CarpoolDaoPassenger.addPassengerToDatabases(passengerTest);
CarpoolDaoDriver.deleteDriverVerificationInDatabase(driver.getVerificationId());
CarpoolDaoPassenger.deletePassengerVerificationInDatabase(passenger.getVerificationId());
ArrayList<DriverVerification> dlist = new ArrayList<DriverVerification>();
ArrayList<PassengerVerification> plist = new ArrayList<PassengerVerification>();
dlist = CarpoolDaoDriver.getAllDriverVerifications();
plist = CarpoolDaoPassenger.getAllPassengerVerifications();
if(dlist.size()==1&&dlist.get(0).equals(driverTest)){
//Passed;
}else{
fail();
}
if(plist.size()==1&&plist.get(0).equals(passengerTest)){
//Passed;
}else{
fail();
}
CarpoolDaoDriver.deleteDriverVerificationInDatabase(driverTest.getVerificationId());
CarpoolDaoPassenger.deletePassengerVerificationInDatabase(passengerTest.getVerificationId());
dlist = CarpoolDaoDriver.getAllDriverVerifications();
plist = CarpoolDaoPassenger.getAllPassengerVerifications();
if(dlist.size()==0){
//Passed;
}else{
fail();
}
if(plist.size()==0){
//Passed;
}else{
fail();
}
}catch(Exception ex){
ex.printStackTrace();
fail();
}
}
@Test
public void testDPVerificationByUserId(){
CarpoolDaoBasic.clearBothDatabase();
long departure_Id = 1;
long arrival_Id = 2;
String province = "Ontario";
String city1 = "Toronto";
String city2 = "Waterloo";
String region1 = "Downtown";
String region2 = "Downtown UW";
Double lat1 = 32.123212;
Double lat2 = 23.132123;
Double lng1 = 34.341232;
Double lng2 = 34.123112;
Location departureLocation= new Location(province,city1,region1,"Test1","Test11",lat1,lng1,arrival_Id);
Location arrivalLocation = new Location(province,city2,region2,"Test2","Test22",lat2,lng2,departure_Id);
User user = new User("xch93318yeah", "c2xiong@uwaterloo.ca", arrivalLocation, Gender.both);
User user2 = new User("xch933h", "c2xioloo.ca", departureLocation, Gender.both);
try {
user = CarpoolDaoUser.addUserToDatabase(user);
user2 = CarpoolDaoUser.addUserToDatabase(user2);
} catch (ValidationException e) {
e.printStackTrace();
fail();
}
if(user.getDriverVerification()==null&&user.getPassengerVerification()==null){
//Passed;
}else fail();
String LicenseNum = "32344fgfdgtert";
LicenseType lt = EnumConfig.LicenseType.driverLisence_a;
Calendar licenseIssueDate = Calendar.getInstance();
String licenseImgLink = "23rhj0eirhf_-=sdfewrf234rewffdsf&8r343gf3rfgerafg4th5yyt45tgerfgtwrvy56";
PassengerVerificationOrigin origin = EnumConfig.PassengerVerificationOrigin.driver;
DriverVerification driver = new DriverVerification(user.getUserId(), user.getName(),LicenseNum , lt, licenseIssueDate,licenseImgLink);
PassengerVerification passenger = new PassengerVerification(user2.getUserId(), user.getName(), LicenseNum, licenseImgLink, licenseImgLink, origin);
DriverVerification driverTest = null;
PassengerVerification passengerTest = null;
try{
driver = CarpoolDaoDriver.addDriverToDatabases(driver);
driverTest = CarpoolDaoDriver.getDriverVerificationById(driver.getVerificationId());
String newLicenseImgLink = "dssssewrewrt2345r5sdfdsfdf3er";
driverTest.setLicenseImgLink(newLicenseImgLink);
driverTest.setUserId(user2.getUserId());
driverTest.setRealName(user2.getName());
driverTest = CarpoolDaoDriver.addDriverToDatabases(driverTest);
passenger = CarpoolDaoPassenger.addPassengerToDatabases(passenger);
passengerTest = CarpoolDaoPassenger.getPassengerVerificationById(passenger.getVerificationId());
passengerTest.setBackImgLink(newLicenseImgLink);
passengerTest.setRecommenderId(100);
passengerTest.setReviewerId(900);
passengerTest = CarpoolDaoPassenger.addPassengerToDatabases(passengerTest);
ArrayList<DriverVerification> dList = new ArrayList<DriverVerification>();
ArrayList<DriverVerification> d2List = new ArrayList<DriverVerification>();
ArrayList<PassengerVerification> pList = new ArrayList<PassengerVerification>();
ArrayList<PassengerVerification> p2List = new ArrayList<PassengerVerification>();
dList = CarpoolDaoDriver.getDriverVerificationsByUserId(user.getUserId());
d2List = CarpoolDaoDriver.getDriverVerificationsByUserId(user2.getUserId());
pList = CarpoolDaoPassenger.getPassengerVerificationsByUserId(user.getUserId());
p2List = CarpoolDaoPassenger.getPassengerVerificationsByUserId(user2.getUserId());
if(dList.size()==1&&dList.get(0).equals(driver)&&d2List.size()==1&&d2List.get(0).equals(driverTest)){
//Passed;
}else fail();
if(pList.size()==0&&p2List.size()==2&&p2List.get(0).equals(passenger)&&p2List.get(1).equals(passengerTest)){
//Passed;
}else fail();
}catch(Exception ex){
ex.printStackTrace();
fail();
}
}
}