MCPcopy Create free account
hub / github.com/brasilcep/api / TestImportCPC

Function TestImportCPC

zipcodes/zipcodes_test.go:595–645  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

593}
594
595func TestImportCPC(t *testing.T) {
596 importer, cleanup := setupImporter(t)
597 defer cleanup()
598
599 tmpDir, err := os.MkdirTemp("", "cpc-test-*")
600 require.NoError(t, err)
601 defer os.RemoveAll(tmpDir)
602
603 t.Run("import CPC successfully", func(t *testing.T) {
604 localities = make(map[string]*Localidade)
605 seenCEPs = make(map[string]bool)
606
607 localities["001"] = &Localidade{
608 Codigo: "001",
609 UF: "MG",
610 Nome: "Belo Horizonte",
611 CodigoIBGE: "3106200",
612 }
613
614 cpcFile := filepath.Join(tmpDir, "LOG_CPC.TXT")
615 content := "001@MG@001@CPC Savassi@Rua Pernambuco 1000@30130-150\n"
616
617 err := os.WriteFile(cpcFile, []byte(content), 0644)
618 require.NoError(t, err)
619
620 count, err := importer.importCPC(cpcFile)
621 assert.NoError(t, err)
622 assert.Equal(t, 1, count)
623
624 err = importer.db.View(func(txn *badger.Txn) error {
625 item, err := txn.Get([]byte("cep:30130150"))
626 if err != nil {
627 return err
628 }
629
630 return item.Value(func(val []byte) error {
631 var cep CEPCompleto
632 err := json.Unmarshal(val, &cep)
633 assert.NoError(t, err)
634 assert.Equal(t, "30130150", cep.CEP)
635 assert.Equal(t, "Rua Pernambuco 1000", cep.Logradouro)
636 assert.Equal(t, "Belo Horizonte", cep.Cidade)
637 assert.Equal(t, "cpc", cep.TipoOrigem)
638 assert.Equal(t, "CPC Savassi", cep.NomeOrigem)
639 assert.Empty(t, cep.Bairro)
640 return nil
641 })
642 })
643 assert.NoError(t, err)
644 })
645}

Callers

nothing calls this directly

Calls 2

setupImporterFunction · 0.85
importCPCMethod · 0.80

Tested by

no test coverage detected