Exemplo n.º 1
0
class TestIPValidator(unittest.TestCase):

    def setUp(self):
        self.validator = IPValidator()
    
    def iterar_sobre_lista(self,ips):

        for ip in ips:
            validade = self.validator.validate(ip)

            if validade:
                self.assertTrue(validade)
            else:
                self.assertFalse(validade)
    
    def test_deve_retornar_se_octeto_esta_inconsistente_ou_nao(self):
        octeto_correto = self.validator.consistencia_octeto("0")
        octeto_correto2 = self.validator.consistencia_octeto("123")
        octeto_errado = self.validator.consistencia_octeto("01")

        self.assertTrue(octeto_correto)
        self.assertTrue(octeto_correto2)
        self.assertFalse(octeto_errado)

    def test_caracteres_precisam_ser_numeros(self):
        
        valido = self.validator.validate("1.1.1.1")
        valido = self.validator.validate("255.13.34.1")
        invalido = self.validator.validate("e.r.t.y")

        self.assertTrue(valido)
        self.assertTrue(valido)
        self.assertFalse(invalido)

    def test_numeros_devem_estar_no_intervalo_permitido_de_IP(self):

        valido = self.validator.validate("123.123.123.123")
        invalido = self.validator.validate("132.312.903.3")

        self.assertTrue(valido)
        self.assertFalse(invalido)

    def test_ip_passado_deve_ter_quatro_octetos(self):
        
        valido = self.validator.validate("123.123.123.123")
        invalido = self.validator.validate("123.123.123.123.123")

        self.assertTrue(valido)
        self.assertFalse(invalido)
    
    def test_caracteres_estranhos_devem_invalidar_o_ip(self):
        
        invalido = self.validator.validate("123.123.123.12..!")

        self.assertFalse(invalido)

    def test_arquivo_aberto_precisa_retornar_lista_de_strings(self):
        
        arquivo = open("../lista_ips.txt","r")
        
        self.assertEqual(list,type(arquivo.readlines()))
        arquivo.close()

    def test_lista_de_ips_vindas_de_arquivos_devem_ser_validadas(self):

        lista_ips = [ip.strip() for ip in open("../lista_ips.txt","r").readlines()]

        self.iterar_sobre_lista(lista_ips)
Exemplo n.º 2
0
 def setUp(self):
     self.validator = IPValidator()
Exemplo n.º 3
0
# -*- coding:utf8 -*-

from modelo import IPValidator , WriterFile

arquivo_leitura = open("../lista_ips.txt","r")
ips_valids     = open("ips_validos.txt","w")
ips_invalids   = open("ips_invalidos.txt","w")

validator = IPValidator()

writer_valids = WriterFile(ips_valids)
writer_invalids = WriterFile(ips_invalids)

lista_ips = [ip.strip() for ip in arquivo_leitura.readlines()]

for ip in lista_ips:
	if validator.validate(ip):
		writer_valids.write(ip)
	else:
		writer_invalids.write(ip)

writer_valids.close()
writer_invalids.close()

print("Gravado com sucesso")