Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adiciona kwargs ao Client() permitindo sobreescrever a variavel de ambiente com named_keys #19

Merged
merged 2 commits into from
Sep 14, 2023

Conversation

FelipeSBarros
Copy link
Owner

Adiciona a possibilidade de passar as credenciais email e password, para autentiação do Client, a partir de named_keys, sobreescrevendo as credenciais definidas por variáveis de ambiente.

Copy link
Collaborator

@cuducos cuducos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aprovei do celular. Agora que vi que os testes estão falhando na CI. Isso acontece pois o Python tenta primeiro resolver o valor padrão no kwargs.gey. Temos que mudar a implementação para evitar isso!

@FelipeSBarros
Copy link
Owner Author

@cuducos #help!
Pelo vistos o meu teste não está passando na CI. No meu PC, passa.
Estou tentando entender o motivo. Entendo que não tenho um .env e não estou usando um mock.
Entendo que a solução seria um novo mock que simule variavel de ambiente e produza Client passando as kwargs...
Faz sentido?

@cuducos
Copy link
Collaborator

cuducos commented Sep 14, 2023

Uma alternativa seria:

email = kwargs.get(‘xpto’)
if email is None:
    email = config(`XPTO`)

@FelipeSBarros
Copy link
Owner Author

Uma alternativa seria:

Vou testar. Estava entendendo que, primeiro ele tenta resolver o config. E por não termos um .env e volta com UndefinedValueError.
Deixa eu ver aqui...

@cuducos
Copy link
Collaborator

cuducos commented Sep 14, 2023

Estou tentando entender o motivo.

Quando vc chama kwargs.get(arg1, arg2) o Pyhton tem que saber o valor (calcular) de arg1 e de arg2. Então, antes de saber se kwargs tem ou não a chave que estamos procurando, o Python executa a chamada do config(…)

@FelipeSBarros
Copy link
Owner Author

Quando vc chama kwargs.get(arg1, arg2) o Pyhton tem que saber o valor (calcular) de arg1 e de arg2. Então, antes de saber se kwargs tem ou não a chave que estamos procurando, o Python executa a chamada do config(…)

Foi o que eu entendi.

primeiro usa kwargs para, caso seja nulo, buscar nas variáveis de ambiente
@FelipeSBarros
Copy link
Owner Author

@cuducos, fiz a alteração sugerida, mantendo o tratamento do UndefinedValueError....

Copy link
Collaborator

@cuducos cuducos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agora sim 🎉

@FelipeSBarros FelipeSBarros merged commit 36e8a43 into master Sep 14, 2023
2 checks passed
@FelipeSBarros FelipeSBarros deleted the overwrite_client_env_vars branch September 14, 2023 01:48
@cuducos cuducos mentioned this pull request Sep 14, 2023
15 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants