(t *testing.T)
| 593 | } |
| 594 | |
| 595 | func 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 | } |
nothing calls this directly
no test coverage detected