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

Problemas na geração do SDK Python #8

Open
diraol opened this issue May 6, 2024 · 8 comments
Open

Problemas na geração do SDK Python #8

diraol opened this issue May 6, 2024 · 8 comments
Labels
bug Something isn't working

Comments

@diraol
Copy link

diraol commented May 6, 2024

Oi gente, tudo certo?

Fui fazer umas melhorias no workflow que publica o SDK python (baseado na Spec OpenAPI de vocês), e tanto na hora de gerar a documentação do pacote quanto na hora de rodar testes o pacote gerado indica problemas.

Parece ser algum problema com a spec mesmo, de relações e tipos inválidos.

Inclusive, fui tentar gerar o pacote python usando essa lib (mais específica e mais criteriosa) e nem consegui gerar o SDK por conta dos erros (rodei local mesmo):

https://marcomuellner.github.io/openapi-python-generator/tutorial/

Não sei bem como poderia ajudar nisso...

@Gabrielpanga Gabrielpanga added the bug Something isn't working label May 6, 2024
@Gabrielpanga
Copy link
Member

Bom dia, obrigado por reportar!

Pelo que vemos na OAS.json, a especificação está correta, foi adicionado um novo componente que é PaymentIntentParameter e está vinculado à intenção de pagamento.

Devo assumir que o problema é que a nova versão do SDK não está sendo publicada e aí os testes quebram, correto?

@diraol
Copy link
Author

diraol commented May 6, 2024

Olá @Gabrielpanga, bom dia!

Então, não analisei a fundo os problemas.

Não tenho muita experiência com OpenAPI Spec, mas com relação aos erros de testes, o que identifiquei foram:

  • no arquivo geral create_payment_intent.py não tem o import da classe PaymentIntentParameter que está no payment_intent_parameter.py. Por isso que o teste quebrou nesse ponto.

Além disso, em loan_installments.py tem o uso de null, que não é um type válido no python (seria None). Não sei o quanto isso está vindo da própria spec.

E em payment_data_participant.py tem uma referência à classe Document também dando erro provavelmente por falta de "import".

Como são pouco erros, me parece ser algo vindo da Spec mesmo - senão teria dado o mesmo erro em muitos outros lugares.

Faz sentido?

Ah, e esse erro é rodando o linter após gerar o SDK a partir da spec OpenAPI mais atual. Eu sequer conseguir chegar a rodar os testes nesse fluxo de CI (porque quebrou já no linter)

@NicolasMontone
Copy link
Member

Oi @diraol tudo bom? Vou analisar bem isso para que a geração do SDK fique boa! Muito obrigado!

@NicolasMontone
Copy link
Member

Ou @diraol tudo bem? Fiz algumas alterações no oas3 e consegui gerar o SDK manualmente, você poderia verificar agora? Fico atento a qualquer coisa.

@diraol
Copy link
Author

diraol commented May 9, 2024

Oi @NicolasMontone, obrigado pela rápida resposta!
De fato melhorou o processo e agora o CI de linter/testes está passando - apesar de alguns warnings.

Mas a parte de geração de Documentação do pacote ainda não está funcionando.

@NicolasMontone
Copy link
Member

@diraol Obrigado a você!
Vou verificar o que está acontecendo e ver se conseguimos colocar o CI em funcionamento!

btw, você não se importaria se adicionássemos o SDK à nossa documentação como "SDK da comunidade"?

@diraol
Copy link
Author

diraol commented May 9, 2024

Opa, com certeza pode adicionar lá :)

@NicolasMontone
Copy link
Member

@diraol, como vai? Não estou conseguindo priorizar as mudanças na OpenAPI JSON porque percebo que há problemas nas associações, certo? Você consegue pensar em como resolver isso? Se eu enviar o OAS para este repositório, você me ajudaria a corrigir o JSON da OpenAPI?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants