Instalação/Configuração do Ambiente de Desenvolvimento
É obrigatório configurar o ambiente de desenvolvimento usando um dev container? Resposta: Não! A opção dev container é sugerida para facilitar o processo de instalação, uma vez que na maior parte dos casos, o setup do dev container é trivial. No entanto, observámos casos onde surgiram problemas (e.g., em computadores com poucos recursos ou em certas instalações WSL). Nesses casos, se a solução não for óbvia, pode ser mais fácil/rápido fazer a instalação manual.
Na criação do dev container, o comando Create and Mount está a dar permission denied. Como resolver? Resposta: Este problema pode ser resolvido dando permissões ao utilizador actual para correr o docker. Em Ubuntu: sudo usermod -a -G docker USERNAME, em que USERNAME pode ser obtido com o comando whoami
No ambiente do dev container, tentei aceder à base de dados, mas o utilizador root não tem permissões. Como resolver? Resposta: Pode-se aceder à base de dados com o utilizador postgres. Para isso, podemos executar su - postgres . Depois disso, pode-se aceder à base de dados com o comando psql
No ambiente do dev container, o comando npm install resulta num erro EACCES relacionado com permissões de acesso a /root/.cache/Cypress. Como resolver? Resposta: Como o dev container é um ambiente isolado do resto do sistema, uma solução fácil é dar permissões de escrita em /root a todos os utilizadores. Isto pode ser feito com chmod -R 777 /root. Atenção: esta solução não é recomendada para ambientes que não sejam o dev container.
Os meus testes de serviço com valores que violam invariantes falham na verificação do estado da base de dados: apesar de ter sido lançada uma excepção, há um elemento persistido na base de dados. Como resolver? Resposta: É possível que este problema ocorra devido ao uso do atributo Cascade nas anotações adicionadas às entidades já existentes. Pode resolver removendo o atributo cascade. De qualquer forma, no enunciado só se pede para verificar o estado da base de dados nos testes de web service. Para mais detalhes ver mensagem no canal #general (7/3/2024, 06:59).