Skip to main content

Complementizer makes it easy to create and fill out automated forms for interactions with APIs.

Project description

Complementizer 🛠️

Autor: Ismael Guedes

O Complementizer facilita a criação e preenchimento de formulários automatizados para interações com APIs. Vamos analisar os diferentes componentes e seu funcionamento.

Instalação

pip install complementizer

1. Complementizer Class 🔑

  • Complementizer é uma classe que se conecta a uma API e autentica o usuário. Se a API requer um token de autenticação, ela faz uma requisição para obter o token e o armazena.

    • Atributos principais:

      • url_base: URL base da API. 🌐
      • username e password: Credenciais de autenticação. 🔐
      • has_token e path_auth: Determina se a autenticação requer um token e o caminho da autenticação. 📜
    • Método populate:

      • Este método envia uma requisição POST para um endpoint específico, utilizando os dados gerados a partir de um formulário (Form). Ele imprime os dados gerados e a resposta da API. 📨

2. Form Class 📝

  • Form é uma classe que representa um formulário vinculado a uma tabela específica. Ela utiliza a biblioteca Faker para gerar dados fictícios (como nomes, endereços, etc.) conforme o tipo do campo (TypeField).

    • Método createField:

      • Cria um campo no formulário com base no tipo (TypeField) e outros parâmetros opcionais (info). O método retorna o campo criado. ✏️
    • Método createDefault:

      • Cria um campo com valor padrão que não depende de geração de dados fictícios. 🏷️
    • Método createDependency:

      • Cria uma dependência que busca dados a partir de uma API e armazena os valores possíveis. 🔄
    • Método generate:

      • Gera um dicionário com os dados de todos os campos, padrões e dependências do formulário. 📊

3. Field Class 📋

  • Field representa um campo no formulário, como nome_completo, cpf, data_nascimento, etc. A classe utiliza a biblioteca Faker para gerar valores para esses campos dependendo do tipo (TypeField).

    • Construtor:
      • O campo é inicializado com um nome, tipo e um valor gerado automaticamente pelo Faker, dependendo do tipo do campo (ex.: nome, endereço, CPF, etc.). ⚙️

4. TypeField Enum 🔢

  • TypeField é um enumerador que define os diferentes tipos de campos que podem ser gerados no formulário, como NAME_FULL, ADDRESS, DATE_OF_BIRTH, CPF, etc. 📋

5. Uso do Complementizer 🚀

No código principal:

  • Instância de Complementizer:

    • Cria uma instância de Complementizer que conecta a uma API. 🌐
  • Laço for:

    • Para cada iteração, cria um novo formulário (Form) para a tabela participante. 📝
    • Adiciona diversos campos ao formulário, como nome_completo, cpf, data_nascimento, etc. 📋
    • Usa a função populate para enviar os dados gerados para a API. 📤

Resumo 📑

Este código é projetado para automatizar o preenchimento e envio de formulários para uma API. Ele facilita a criação de dados fictícios para testes, gerenciamento de dependências entre campos, e autenticação da API, tornando-o útil para cenários onde é necessário simular múltiplas submissões de formulários com dados variados. ✅

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

complementizer-1.2.2.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

complementizer-1.2.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file complementizer-1.2.2.tar.gz.

File metadata

  • Download URL: complementizer-1.2.2.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for complementizer-1.2.2.tar.gz
Algorithm Hash digest
SHA256 23ab10fdd9fe6b54029cdd770a630e290814fb0a3f86da7e03e997c622fe87de
MD5 45df5218114010bca0874844a32236c1
BLAKE2b-256 0424e4c7bca6863fb0efc9633c7cdec4c48e77e4f5bfb3f0c8015e5a2e3d7f73

See more details on using hashes here.

File details

Details for the file complementizer-1.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for complementizer-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ed73ebe69aa18f39a87aa74ece8cf0e7695d5cb200b69fb0cf81199c69648e66
MD5 d42076db714c579db835e2a2e3c97a48
BLAKE2b-256 4e0f7179a856af6c6c16dcb3c80af029378322c4e20a35a84f86e6724ca7bd04

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page