github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/mock/itau.go (about)

     1  package mock
     2  
     3  import (
     4  	"io/ioutil"
     5  	"strings"
     6  
     7  	"github.com/gin-gonic/gin"
     8  )
     9  
    10  func getTokenItau(c *gin.Context) {
    11  	b, _ := ioutil.ReadAll(c.Request.Body)
    12  	const tok = `{
    13  		"access_token": "5f1cb9512fe587763ea33a3fb31e62cb",
    14  		"expires_in": 14400,
    15  		"token_type": "Bearer"
    16  	}`
    17  	if strings.Contains(string(b), `clientId=&`) {
    18  		c.Data(500, "text/json", []byte(`{"Message":"An error has occurred."}`))
    19  	} else {
    20  		c.Data(200, "text/json", []byte(tok))
    21  	}
    22  
    23  }
    24  
    25  func registerItau(c *gin.Context) {
    26  	b, _ := ioutil.ReadAll(c.Request.Body)
    27  	const resp = `{
    28  		"beneficiario": {
    29  			"codigo_banco_beneficiario": "341",
    30  			"digito_verificador_banco_beneficiario": "7",
    31  			"agencia_beneficiario": "0407",
    32  			"conta_beneficiario": "55292",
    33  			"digito_verificador_conta_beneficiario": "6",
    34  			"cpf_cnpj_beneficiario": "00123456789012",
    35  			"nome_razao_social_beneficiario": "NOME BENEFICIARIO",
    36  			"logradouro_beneficiario": "RUA TESTE",
    37  			"bairro_beneficiario": "TESTE",
    38  			"complemento_beneficiario": "",
    39  			"cidade_beneficiario": "RIO DE JANEIRO",
    40  			"uf_beneficiario": "RJ",
    41  			"cep_beneficiario": "22330000"
    42  		},
    43  		"pagador": {
    44  			"cpf_cnpj_pagador": "00001234567890",
    45  			"nome_razao_social_pagador": "NOME TESTE",
    46  			"logradouro_pagador": "RUA TESTE",
    47  			"complemento_pagador": "",
    48  			"bairro_pagador": "BAIRRO TESTE",
    49  			"cidade_pagador": "RIO DE JANEIRO",
    50  			"uf_pagador": "RJ",
    51  			"cep_pagador": "22555000"
    52  		},
    53  		"sacador_avalista": {
    54  			"cpf_cnpj_sacador_avalista": "00000000000000",
    55  			"nome_razao_social_sacador_avalista": ""
    56  		},
    57  		"moeda": {
    58  			"sigla_moeda": "R$",
    59  			"quantidade_moeda": 0,
    60  			"cotacao_moeda": 0
    61  		},
    62  		"especie_documento": "DM",
    63  		"vencimento_titulo": "2017-12-31",
    64  		"tipo_carteira_titulo": "109",
    65  		"nosso_numero": "079499759",
    66  		"seu_numero": "000001234567890",
    67  		"codigo_barras": "34199739000000010001090794997590407552926000",
    68  		"numero_linha_digitavel": "34191090739499759040475529260004973900000001000",
    69  		"local_pagamento": "ATE O VENCIMENTO PAGUE EM QUALQUER BANCO OU CORRESPONDENTE NAO BANCARIO. APOS O VENCIMENTO, ACESSE ITAU.COM.BR/BOLETOS E PAGUE EM QUALQUER BANCO OU CORRESPONDENTE NAO BANCARIO.",
    70  		"data_processamento": "2017-10-26",
    71  		"data_emissao": "2017-09-22",
    72  		"uso_banco": "",
    73  		"valor_titulo": 10,
    74  		"valor_desconto": 0,
    75  		"valor_outra_deducao": 0,
    76  		"valor_juro_multa": 0,
    77  		"valor_outro_acrescimo": 0,
    78  		"valor_total_cobrado": 0,
    79  		"lista_texto_informacao_cliente_beneficiario": [
    80  			{
    81  				"texto_informacao_cliente_beneficiario": ""
    82  			},
    83  			{
    84  				"texto_informacao_cliente_beneficiario": ""
    85  			},
    86  			{
    87  				"texto_informacao_cliente_beneficiario": ""
    88  			},
    89  			{
    90  				"texto_informacao_cliente_beneficiario": ""
    91  			},
    92  			{
    93  				"texto_informacao_cliente_beneficiario": ""
    94  			},
    95  			{
    96  				"texto_informacao_cliente_beneficiario": ""
    97  			},
    98  			{
    99  				"texto_informacao_cliente_beneficiario": ""
   100  			},
   101  			{
   102  				"texto_informacao_cliente_beneficiario": ""
   103  			},
   104  			{
   105  				"texto_informacao_cliente_beneficiario": ""
   106  			}
   107  		]
   108  	}`
   109  	if strings.Contains(string(b), `"valor_cobrado": "0000000000000200"`) {
   110  		c.Data(200, "text/json", []byte(resp))
   111  	} else if strings.Contains(string(b), `"valor_cobrado": "0000000000000500"`) {
   112  		c.Data(200, "text/json", []byte("500"))
   113  	} else {
   114  		c.Data(400, "text/json", []byte(`
   115  			{
   116  				"codigo":"error_code_mock",
   117  				"mensagem":"error mock message"	
   118  			}
   119  		`))
   120  	}
   121  
   122  }