Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


Name

Expected result

Parameters

Actual result

SuccessComments
1checkCorrectUsernameResponse()Gives the same username back as the user has given to the system.

LoginRequestDTO{

username = 'Erik'
password = 'Welkom123'

}

The class returns 'Erik', and thus gives the same username back.YesThe response from the database is set manually, because a connection to the real database is not safe in tests.
2checkCorrectTokenResponse()Gives a new token dedicated to a specific name.

LoginRequestDTO{

username = 'Erik'
password = 'Welkom123'

}

The class returns the same token as expected for the user given.YesThe response from the database is set manually, because a connection to the real database is not safe in tests.
3checkThrownExceptionWrongPassword()Throws a LoginCredentialsIncorrectException after wrong input of the password.

LoginRequestDTO{

username = 'Erik'
password = 'WrongPassword'

}

A LoginCredentialsIncorrectException is thrown.YesThe response from the database is set manually, because a connection to the real database is not safe in tests. In this case it's set to 0, to simulate the database returning nothing.
4checkThrownExceptionWrongUser()Throws a LoginCredentialsIncorrectException after wrong input of the name.

LoginRequestDTO{

username = 'WrongUser'
password = 'Welkom123'

}

A LoginCredentialsIncorrectException is thrown.YesThe response from the database is set manually, because a connection to the real database is not safe in tests. In this case it's set to 0, to simulate the database returning nothing.
5checkThrownExceptionNoUserAndPassword()Throws a LoginCredentialsIncorrectException after no input.

LoginRequestDTO{

username = ''
password = ''

}

A LoginCredentialsIncorrectException is thrown.YesThe response from the database is set manually, because a connection to the real database is not safe in tests. In this case it's set to 0, to simulate the database returning nothing.
6testCreationToken()Creates a token based on the name that it has received.username = 'Erik'Creates the token from username 'Erik'.Yes

LoginResourceTest


Name

Expected result

Parameters

Actual result

SuccessComments
1getUserHTMLcodeWithCorrectInformation()Returns a 200 status code back to the user.

LoginRequestDTO{

username = 'Erik'
password = 'Welkom123'

}

Returns a 200 response code, which means that the response is OK.Yes
2
getUserHTMLcodeWithIncorrectInformation()
Returns a 403 status code back to the user.A 403 status is returned
Returns a 403 response code, which means it was a FORBIDDEN request.Yes
(see comments)
This method does work, but doesn't test if it works with a wrong input given. This is because the thrown exception gets mapped by the mapper with the Provider annotation. This test strictly tests if the mapper does return the 403 code given by the user.
3checkExceptionThrown()Throws a LoginCredentialsIncorrectException after wrong input of the password in resource.

LoginRequestDTO{

username = 'Erik'
password = 'Welkm123'

}

A LoginCredentialsIncorrectException is thrown.Yes

UserDAOTest


Name

Expected result

Parameters

Actual result

SuccessComments
1getUserCorrectly()Expect a result that is not null.

username = 'Erik'

Returns something that is not null.YesWe manually added some return values of this function, to test if it would work. This test cannot connect to the database, since a unit test may not do this.
2
getUserSqlException()
Throws a SQLException that in return throws a DatabaseException.username = 'Erik'A DatabaseException is thrownYes

Race tests

The token usernameErik is defined as "eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.ewogICAgIm5hbWUiOiAiRXJpayIKfQ==.2d2c39f777b16f75c701e851e9ec20d45f4134a281155e0c6f909876228d7d80"

RaceServiceTest


Name

Expected result

Parameters

Actual result

SuccessComments
1getAllRaces()

Returns a RaceDTo with the following information.

RaceDTO{

raceID = 1

raceName = "BMW Race"

date = "2022-05-22"

}


Returns the expected RaceDTO.YesThe response from the database is set manually, because a connection to the real database is not safe in tests. The response is the same RaceDTO, to see if the getter works en returns the list from RaceDAO.

RaceResourceTest


Name

Expected result

Parameters

Actual result

SuccessComments
1getRacesWithGoodJWT()

A 200 response code.

token = usernameErik

Returns a 200 response code, which means that the response is OK.Yes
2returnsAllRaces()

Returns a list of DTO's. In this case we only put the following DTO inside the list.

RaceDTO{

raceID = 1

raceName = "BMW Race"

date = "2022-05-22"

}

token = usernameErikReturns a the expected list of DTO's. It does return it in a object, but since it does return the same information as provided with the DTO, it still gives out a succes.YesThe response from the service is set manually. This is done to prevent the test from executing code beyond the resource. If this is not set manually, it would test the DAO, service class and the database, which is not necessary for this class. These tests are done in their own classes seperate from this class.
3getRacesWithBadJWT()A 403 response code.token = "WrongToken"Returns a 403 response code, which means it was a FORBIDDEN request.Yes

RaceDAOTest


Name

Expected result

Parameters

Actual result

SuccessComments
1getAllRaces()

A 200 response code.

token = usernameErik

Returns a 200 response code, which means that the response is OK.Yes
2returnsAllRaces()

Returns a list of DTO's. In this case we only put the following DTO inside the list.

RaceDTO{

raceID = 1

raceName = "BMW Race"

date = "2022-05-22"

}

token = usernameErikReturns a the expected list of DTO's. It does return it in a object, but since it does return the same information as provided with the DTO, it still gives out a succes.YesThe response from the service is set manually. This is done to prevent the test from executing code beyond the resource. If this is not set manually, it would test the DAO, service class and the database, which is not necessary for this class. These tests are done in their own classes seperate from this class.
3getRacesWithBadJWT()A 403 response code.token = "WrongToken"Returns a 403 response code, which means it was a FORBIDDEN request.Yes