# Testes de CRUD * getbyID * se existe e encontra * se não eciste e emite erro * get All * se existe retorna lista com mesmo numero de itens * se não existe retorna lista vazia * delete * se existe, encontra e deleta * se não existe retorna OK * update * se existe, encontra, altera os dados, e chama o salvar * se não existe retornar OK --- * Máximo de 100 namespaces * Máximo de 10 eventhubs por namescpace * Namespace não pode ter mais que 10 event hubs * Procurar novo namespace com menos de 10 eventhubs * E caso não tenha criar novo namespace caso já tenha 10 * # Testes já implementados para API Admin(Azure Adapter) * Inclusão de eventhub num namespace não vazio e não cheio. * Testa se chamou o metodo de criacao de eventhub só uma vez * E não criou nenhum namespace * Retry da criação do eventhub caso falhe * 3 vezes * Criacao de eventhub com um namespace cheio * Testa se chamou o metodo de criacao de eventhub * E se chamou a criacao de um namescapce * Criacao de um namespace já contendo o máximo de namespaces permitidos * teste se um erro é emitido # Testes pendentes para API Admin ## Services ### Data channel * Criação * [x] Falha na conecção com o Redis * [x] Testa se encontrar duplicidade de tópico * Existe tópico e emite erro * [x] Happy Path: Não existe tópico e cria novo * Change status * [x] Se não encontrar dar error * [x] se o status foi alterado e chama o salvar * CRUD: * [x] get by id, * [x] get all, * [x] delete, * [x] update ### Create Data Flow * CRUD: * [x] get by id, * [x] get all, * [x] delete, * [x] update * Event CRUD: * [x] Create event * [x] get events * [x] get flows ### Create Data Producer * CRUD: * [ ] get by id, * [ ] get all, * [x] delete, * [ ] update ### Get Message By Id e All * CRUD: * [ ] get by id, * [ ] get all, ## Adapters ### Elastic Search Não faz sentido testes unitários para o ElasticSearch, pois os métodos são só contrutores de query do próprio Elastic. Aqui é melhor testes de integração, povoando o *banco* e fazendo a consulta. **Preciso de orientação sobre como usar o Elastic** * get topic between data range * data são consistentes, se não forem tem que dar erro * se não encontrar nada: retorna vazia * se as datas limites também dão match * get message de um topic by id * CRUD * [ ] get mensagem de um topic by id. Se não encontrar, deve retornar um erro ### Redis Temos um job recorrente para pegar entidades do banco (uma lista/batch delas) e persistir em cache. DataChannels, DataProducers e DataFlows. * Testar se os DataChannels, DataFlows e DataProducers que estou pegando do banco, de fato, estão sendo salvos no Redis. * O formato da hash do redis é importante. Então, seria legal fazer um assert do resultado de uma query no redis para verificar se o formato do corpo da persistência é o esperado.