コード例 #1
0
        /// <summary>
        /// Decifra o texto do arquivo JSON e atualiza o mesmo com o texto decifrado
        /// </summary>
        private static void DecifrarTextoJson()
        {
            var requisicaoJson = JsonConvert.DeserializeObject <RequisicaoJson>(File.ReadAllText(pathJson));

            AlfabetoService        alfabetoService        = new AlfabetoService();
            JulioCesarCriptografia jcCriptografia         = new JulioCesarCriptografia(alfabetoService, requisicaoJson.numero_casas);
            CriptografiaController criptografiaController = new CriptografiaController(jcCriptografia);
            ObjetoCriptografia     obj = new ObjetoCriptografia
            {
                Fator    = requisicaoJson.numero_casas,
                Texto    = requisicaoJson.cifrado,
                Operacao = EOperacao.DESCRIPTOGRAFAR
            };

            var criptoResultado = criptografiaController.Descriptografar(obj);

            requisicaoJson.decifrado            = criptoResultado.Resultado;
            requisicaoJson.resumo_criptografico = criptoResultado.Hash;
            requisicaoJson.token = _token;

            AtualizarArquivoJson(JsonConvert.SerializeObject(requisicaoJson, Formatting.Indented));

            Console.WriteLine("***** RESULTADO *****");
            Console.WriteLine($"Texto cifrado: {requisicaoJson.cifrado}");
            Console.WriteLine($"Texto decifrado: {requisicaoJson.decifrado}");
            Console.WriteLine($"Fator de substituição: {requisicaoJson.numero_casas}");

            Console.WriteLine("\n\nPressione qualquer tecla para continuar");
            Console.ReadLine();
        }
        public void Descriptografar_DeveTratarRequisicaoComTextoVazio()
        {
            //Arranje
            controller = new CriptografiaController(criptografiaMock.Object);
            var obj = new ObjetoCriptografia()
            {
                Operacao = EOperacao.DESCRIPTOGRAFAR
            };

            //Act
            var result = controller.Descriptografar(obj);

            //Assert
            Assert.Equal(EStatusOperacao.ERRO, result.statusOperacao);
        }
        public void Descriptografar_DeveTratarRequisicaoComErroAoProcessar()
        {
            //Arranje
            criptografiaMock.Setup(c => c.Criptografar(textoCriptografia)).Returns("");
            controller = new CriptografiaController(criptografiaMock.Object);
            var obj = new ObjetoCriptografia()
            {
                Operacao = EOperacao.DESCRIPTOGRAFAR, Texto = textoCriptografia
            };

            //Act
            var result = controller.Descriptografar(obj);

            //Assert
            Assert.Equal(EStatusOperacao.ERRO, result.statusOperacao);
        }