:construction: - Challenge - Validation And Security
- Implemente as funcionalidades necessárias para que os testes passem;
- Desenvolvimento TDD de API Rest com Java e Spring Boot;
- Implementação de segurança com Spring Security e OAuth2;
- Controle de acesso por rotas e perfis de usuário;
- Validação de dados com Bean Validation;
:clipboard: - Diagrama:

:gear: - Endpoints:
:house: - City:
:microphone: - Event:
:hourglass: - Testes:
:derelict_house: - City:
- insertShouldReturn401WhenNoUserLogged()
- insertShouldReturn403WhenClientLogged()
- insertShouldInsertResourceWhenAdminLoggedAndCorrectData()
- insertShouldReturn422WhenAdminLoggedAndBlankName()
- findAllShouldReturnAllResourcesSortedByName()
:microphone: - Event:
- insertShouldReturn401WhenNoUserLogged()
- insertShouldInsertResourceWhenClientLoggedAndCorrectData()
- insertShouldInsertResourceWhenAdminLoggedAndCorrectData()
- insertShouldReturn422WhenAdminLoggedAndBlankName()
- insertShouldReturn422WhenAdminLoggedAndPastDate()
- insertShouldReturn422WhenAdminLoggedAndNullCity()
- findAllShouldReturnPagedResources()
:white_check_mark: - Critérios: