Beispiel #1
0
        public async Task <string> ObterTokenAsync(Tra tra)
        {
            if (HealthCheck())
            {
                if (!VerificarTokenExiste(tra))
                {
                    return(_accessToken.access_token);
                }
                try
                {
                    await ObterTokenParceiro(tra);

                    GravarToken(_accessToken.access_token, _accessToken.expires_in, tra);
                }
                catch (Exception err)
                {
                    throw new Exception($"Não foi possível obter o Token! + {err.Message}");
                }
                return(_accessToken.access_token);
            }
            else
            {
                await ObterTokenParceiro(tra);

                return(_accessToken.access_token);
            }
        }
Beispiel #2
0
        private async Task RetornarToken(Tra tra)
        {
            string hostIdentityServer = tra.Url;
            string usuario            = tra.Username;
            string senha = tra.Password;

            _accessToken = ObterTokenPorUsuario(hostIdentityServer, usuario, senha);
        }
Beispiel #3
0
        public async Task Transaction_GetOne_ReturnsOkObjectResultOnExistingIndex_Test()
        {
            var actual = await Tra.GetOne(2);

            await Db.Connection.CloseAsync();

            Assert.IsInstanceOf <OkObjectResult>(actual);
        }
Beispiel #4
0
        public async Task Transaction_DeleteAll_ReturnsValue_Test()
        {
            var expected = await Tra.DeleteAll();

            await Db.Connection.CloseAsync();

            Assert.IsNotNull(expected);
        }
Beispiel #5
0
        public async Task Transaction_GetOne_ReturnsNotFoundResultOnNullIndex_Test()
        {
            var actual = await Tra.GetOne(999);

            await Db.Connection.CloseAsync();

            Assert.IsInstanceOf <NotFoundResult>(actual);
        }
Beispiel #6
0
        public async Task Transaction_GetOne_ReturnsValue_Test()
        {
            var expected = await Tra.GetOne(1);

            await Db.Connection.CloseAsync();

            Assert.IsNotNull(expected);
        }
Beispiel #7
0
 private void GravarToken(string token, string expireTime, Tra tra)
 {
     using (ConnectionMultiplexer connectionRedis = ConnectionMultiplexer.Connect("localhost:6379"))
     {
         IDatabase clientRedis = connectionRedis.GetDatabase();
         clientRedis.StringSet(tra.CodDte, token);
         clientRedis.KeyExpire(tra.CodDte, TimeSpan.FromSeconds(ConverterTempo(expireTime)));
         connectionRedis.Close();
     }
 }
Beispiel #8
0
 private bool VerificarTokenExiste(Tra tra)
 {
     using (ConnectionMultiplexer connectionRedis = ConnectionMultiplexer.Connect("localhost:6379"))
     {
         IDatabase clientRedis = connectionRedis.GetDatabase();
         _accessToken.access_token = clientRedis.StringGet(tra.CodDte);
         var tempoToken = clientRedis.KeyTimeToLive(tra.CodDte);
         return(string.IsNullOrEmpty(_accessToken.access_token));
     }
 }
Beispiel #9
0
        public async Task Transaction_Put_ReturnsOkObjectResultOnExistingIndex_Test()
        {
            TransactionData body = new TransactionData();

            body.Time_Stamp = DateTime.Now;
            var actual = await Tra.PutOne(2, body);

            await Db.Connection.CloseAsync();

            Assert.IsInstanceOf <OkObjectResult>(actual);
        }
Beispiel #10
0
        public async Task Transaction_Put_ReturnsNotFoundResultOnNullIndex_Test()
        {
            TransactionData body = new TransactionData();

            body.Time_Stamp = DateTime.Now;
            var actual = await Tra.PutOne(999, body);

            await Db.Connection.CloseAsync();

            Assert.IsInstanceOf <NotFoundResult>(actual);
        }
Beispiel #11
0
        public async Task Transaction_Put_ReturnsValue_Test()
        {
            TransactionData body = new TransactionData();

            body.Time_Stamp = DateTime.Now;
            var expected = await Tra.PutOne(1, body);

            await Db.Connection.CloseAsync();

            Assert.IsNotNull(expected);
        }
Beispiel #12
0
        private async Task ObterTokenParceiro(Tra tra)
        {
            var policy = Policy.Handle <Exception>(e =>
            {
                Console.WriteLine("Tentando obter Token");
                return(true);
            }).WaitAndRetryAsync(3, i => TimeSpan.FromTicks(5));

            await policy.ExecuteAsync(async() =>
            {
                await RetornarToken(tra);
            });
        }