mockTestIC 3.0.12
Este projeto é uma biblioteca Python chamada mockTestIC que utiliza a biblioteca Faker para gerar dados fictícios com base em um mapeamento pré-definido.
License: MIT License
Keywords: mockTest, dados falsos, insert de dados falsos, dados ficticios, SQL, gerador de dados, false data, fictitious data, data, dados, data generator

# mockTestIC
Este script Python utiliza a biblioteca Faker para gerar dados fictÃ­cios de acordo com as chaves especificadas em um dicionÃ¡rio de entrada. As principais funÃ§Ãµes sÃ£o `fake_json`, `fake_json_for` e `fake_sql`, cada uma atendendo a diferentes necessidades de geraÃ§Ã£o de dados.

## Como usar

### Passo 1: InstalaÃ§Ã£o
Para utilizar a biblioteca `mockTestIC`, primeiro Ã© necessÃ¡rio instalÃ¡-la. VocÃª pode fazer isso executando o seguinte comando no terminal:

```sh
pip install mockTestIC
```

### Passo 2: Importando e Utilizando as FunÃ§Ãµes
ApÃ³s a instalaÃ§Ã£o, importe a biblioteca ou a funÃ§Ã£o que deseja utilizar em seu cÃ³digo da seguinte maneira:

```python
from mockTestIC import fake_json, fake_json_for, fake_sql
```

Abaixo, veja exemplos de uso de cada funÃ§Ã£o.

## FunÃ§Ãµes DisponÃ­veis

### 1. fake_json
A funÃ§Ã£o `fake_json()` gera dados fictÃ­cios para um dicionÃ¡rio de entrada onde os valores especificam o tipo de dado desejado.

**Exemplo de uso:**

```python
from mockTestIC import fake_json

dados_json = {
    "Nome": "primeiro nome",
    "Sobrenome": "sobrenome",
    "Email": "email"
}

dados_gerados = fake_json(dados_json)
print(dados_gerados)
```

**Resultado esperado:**
```python
{
    "Nome": "John",
    "Sobrenome": "Doe",
    "Email": "john.doe@example.com"
}
```

### 2. fake_json_for
A funÃ§Ã£o `fake_json_for()` funciona de forma semelhante ao `fake_json`, mas permite a implementaÃ§Ã£o em um loop `for`, facilitando a geraÃ§Ã£o de mÃºltiplas entradas.

**Exemplo de uso:**

```python
from mockTestIC import fake_json_for

dados_json = {
    "primeiro nome": "primeiroNome",
    "sobrenome": "sobreNome",
    "nome completo": "nomeCompleto",
    "nome usuario": "nomeUser",
    "prefixo": "prefixo",
    "suffix": "suffix"
}

dados_gerados = fake_json_for(dados_json)
print(dados_gerados)
```

**Resultado esperado:**
```python
{
    "primeiro nome": "Daniel",
    "sobrenome": "Hays",
    "nome completo": "Lindsey Wilson",
    "nome usuario": "marissahill",
    "prefixo": "Sr.",
    "suffix": "MD"
}
```

### 3. fake_sql
A funÃ§Ã£o `fake_sql()` permite gerar dados fictÃ­cios para consultas SQL, substituindo palavras-chave especÃ­ficas por valores gerados com Faker.

**Exemplo de uso:**

```python
from mockTestIC import fake_sql

sql_string = "INSERT INTO usuarios (id, nome, idade, cidade);"

dados_gerados = fake_sql(sql_string)

print("Dados gerados:", dados_gerados)

sql_com_dados = sql_string.format(**dados_gerados)
print(sql_com_dados)
```

**Resultado esperado:**
```python
Dados gerados: {
    "id": 9170,
    "nome": "Patrick",
    "idade": 34,
    "cidade": "North Katie"
}

INSERT INTO usuarios (9170, 'Patrick', 34, 'North Katie');
```

### Tipos de Dados Suportados

#### DicionÃ¡rio para `fake_json_for`
Abaixo estÃ£o os tipos de dados suportados pela funÃ§Ã£o `fake_json_for`, que podem ser usados como valores no dicionÃ¡rio `dados_json`:

```python
{
    "primeiro nome": "primeiroNome",
    "sobrenome": "sobreNome",
    "nome completo": "nomeCompleto",
    "nome usuario": "nomeUser",
    "prefixo": "prefixo",
    "suffix": "suffix",
    "endereco": "endereco",
    "cidade": "cidade",
    "estado": "estado",
    "pais": "pais",
    "codigo postal": "codigoPostal",
    "endereco rua": "enderecoRua",
    "latitude": "latitude",
    "longitude": "longitude",
    "numero telefone": "numeroTelefone",
    "email": "email",
    "email seguro": "emailSeguro",
    "data nascimento": "dataNasc",
    "data seculo": "dataSec",
    "data decada": "dataDec",
    "horario": "horario",
    "data hora": "dataHora",
    "hora ISO": "horaISO",
    "frase": "frase",
    "paragrafo": "paragrafo",
    "texto": "texto",
    "empresa": "empresa",
    "cargo": "cargo",
    "seguranca social": "segurancaSocial",
    "numero inteiro": "numeroInteiro",
    "elemento": "elemento",
    "amostra": "amostra",
    "numero flutuante": "numeroFlutuante",
    "url": "url",
    "ipv4": "ipv4",
    "ipv6": "ipv6",
    "numero cartao": "numeroCartao",
    "cartao vencimento": "cartaoVencimento"
}
```

#### DicionÃ¡rio de Palavras-chave para `fake_sql`

A funÃ§Ã£o `fake_sql` suporta as seguintes palavras-chave, que serÃ£o substituÃ­das por valores fictÃ­cios gerados pela biblioteca Faker:

```python
{
    "id": fake.random_int(min=1, max=9999),
    "nome": fake.first_name(),
    "idade": fake.random_int(min=0, max=120),
    "cidade": fake.city(),
    "profissao": fake.job(),
    "sobrenome": fake.last_name(),
    "completo": fake.name(),
    "usuario": fake.user_name(),
    "prefixo": fake.prefix(),
    "sufixo": fake.suffix(),
    "endereco": fake.address(),
    "estado": fake.state(),
    "pais": fake.country(),
    "cep": fake.zipcode(),
    "rua": fake.street_address(),
    "latitude": fake.latitude(),
    "longitude": fake.longitude(),
    "celular": fake.phone_number(),
    "telefone": fake.phone_number(),
    "email": fake.email(),
    "nascimento": fake.date_of_birth().strftime('%Y-%m-%d'),
    "cadastro": fake.date_time().strftime('%Y-%m-%d'),
    "horario": fake.time(),
    "descricao": fake.text(),
    "empresa": fake.company(),
    "cargo": fake.job(),
    "site": fake.url(),
    "linkedin": fake.url(),
    "ipv4": fake.ipv4(),
    "ipv6": fake.ipv6(),
    "cartao": fake.credit_card_number(),
    "credito": fake.credit_card_number(),
    "cpf": str(fake.random_int(min=11111111111, max=99999999999)),
    "rg": str(fake.random_int(min=111111111, max=999999999)),
    "estoque": fake.random_int(min=0, max=99999),
    "texto": fake.text(),
    "salario": fake.random_int(min=100, max=99999),
    "ativo": fake.boolean()
}
```

## Contato
Caso tenha dÃºvidas ou precise de mais informaÃ§Ãµes, vocÃª pode entrar em contato:

- **Email**: victoraugustodocarmo32@gmail.com
- **LinkedIn**: [Victor Augusto](https://www.linkedin.com/in/victor-augusto-2b01a71a6/)
- **GitHub**: [@Augustoo22](https://github.com/Augustoo22)