...
Table 2: Tests in TabDAOTest
Login tests
LoginServiceTest
Name | Expected result | Parameters | Actual result | Success | Comments | |
---|---|---|---|---|---|---|
1 | checkCorrectUsernameResponse() | Gives the same username back as the user has given to the system. | LoginRequestDTO{ username = 'Erik' } | The class returns 'Erik', and thus gives the same username back. | Yes | The response from the database is set manually, because a connection to the real database is not safe in tests. |
2 | checkCorrectTokenResponse() | Gives a new token dedicated to a specific name. | LoginRequestDTO{ username = 'Erik' } | The class returns the same token as expected for the user given. | Yes | The response from the database is set manually, because a connection to the real database is not safe in tests. |
3 | checkThrownExceptionWrongPassword() | Throws a LoginCredentialsIncorrectException after wrong input of the password. | LoginRequestDTO{ username = 'Erik' } | A LoginCredentialsIncorrectException is thrown. | Yes | The 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. |
4 | checkThrownExceptionWrongUser() | Throws a LoginCredentialsIncorrectException after wrong input of the name. | LoginRequestDTO{ username = 'WrongUser' } | A LoginCredentialsIncorrectException is thrown. | Yes | The 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. |
5 | checkThrownExceptionNoUserAndPassword() | Throws a LoginCredentialsIncorrectException after no input. | LoginRequestDTO{ username = '' } | A LoginCredentialsIncorrectException is thrown. | Yes | The 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. |
6 | testCreationToken() | 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 | Success | Comments | |
---|---|---|---|---|---|---|
1 | getUserHTMLcodeWithCorrectInformation() | Returns a 200 status code back to the user. | LoginRequestDTO{ username = 'Erik' } | 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 | 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. | |
3 | checkExceptionThrown() | Throws a LoginCredentialsIncorrectException after wrong input of the password in resource. | LoginRequestDTO{ username = 'Erik' } | A LoginCredentialsIncorrectException is thrown. | Yes |
UserDAOTest
Name | Expected result | Parameters | Actual result | Success | Comments | |
---|---|---|---|---|---|---|
1 | getUserCorrectly() | Expect a result that is not null. | username = 'Erik' | Returns something that is not null. | Yes | We 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 thrown | Yes |