Alguns tokens têm um expires_at
como um float (exemplo: 1612807300.1613762
) que faz com que esta linha lance um ValueError: invalid literal for int() with base 10
. Isso pode ser resolvido usando int(float(response.get('expires_at')))
(ou arredondando para não truncar).
Logo acima desse self._expires_at
é feito um float:
self._expires_at = time.time() + int(self.expires_in)
O uso de expires_at
não está definido no RFC, então parece que há confusão no código também. Podemos assumir que é um int semelhante a expires_in
.
Qualquer RP para corrigir seu uso e adicionar teste de unidade para cobrir esse caso crítico é bem-vindo.
ei, posso ter esse problema? Estou apenas começando com o código aberto, então este será um bom começo ig.
ei, posso ter esse problema? Estou apenas começando com o código aberto, então este será um bom começo ig.
@ default-303 vá em frente!
@ggiill obrigado, fiz as seguintes alterações
- self._expires_at = int(response.get('expires_at'))
+ self._expires_at = round(float(response.get('expires_at')))
e passa em todos os testes é quando eu executo pytest
Mas que tipo de teste você quer que eu adicione? como um simples teste typecheck
algo assim -
`` `
import unittest
import fix ## um script de amostra que criei para esta demonstração
tempo de importação
classe TestFix (unittest.TestCase):
def test_float(self) :
string_time = str(time.time())
self.assertIsInstance(fix.get_time("123345.1222"), int)
def test_int(self) :
string_time = str(round(time.time()))
self.assertIsInstance(fix.get_time("12333"), int)
`` `
ou um total de mock test
?
@ggiill ei, posso fazer uma resenha?
lmao já faz um mês que até eu esqueci.
@ggiill ei, posso fazer uma resenha?
lmao já faz um mês que até eu esqueci.
@ default-303 Não sou um mantenedor - executando ping em @JonathanHuot. Provavelmente, você também deseja fazer um RP para revisão.
Comentários muito úteis
O uso de
expires_at
não está definido no RFC, então parece que há confusão no código também. Podemos assumir que é um int semelhante aexpires_in
.Qualquer RP para corrigir seu uso e adicionar teste de unidade para cobrir esse caso crítico é bem-vindo.