Ejemplo n.º 1
0
 def test_senha_incorreta(self):
     self.chaveiro0.gravar()
     chaveiro_lido = Chaveiro(senha='', nome_arq='chaveiro0.dat')
     self.assertRaises(SenhaIncorreta, chaveiro_lido.ler)
     self.chaveiro9.gravar()
     chaveiro_lido = Chaveiro(senha='ERRADA', nome_arq='chaveiro9.dat')
     self.assertRaises(SenhaIncorreta, chaveiro_lido.ler)
Ejemplo n.º 2
0
class TestesCarregar(unittest.TestCase):
    def setUp(self):
        self.chaveiro0 = Chaveiro('000')
        self.chaves = [
            ('Wikipedia', 'http://pt.wikipedia.org', 'ramalho', 'senha-nao'),
            ('Incubadora Virtual', 'http://incubadora.fapesp.br', 'luciano',
             'senha-nem'),
            ('PythonBrasil', 'http://www.pythonbrasil.com.br', 'luciano',
             'senha-outra'),
        ]
        self.itens9 = [str(i) for i in range(1, 10)]
        self.chaveiro9 = Chaveiro('999')
        [self.chaveiro9.incluir(i) for i in self.itens9]

    def test_carregar_adicionando(self):
        self.chaveiro9.carregar(self.chaves, sobrescrever=False)
        self.assertEqual(9 + len(self.chaves), len(self.chaveiro9))
        for original, copia in zip(self.itens9 + self.chaves, self.chaveiro9):
            self.assertEqual(original, copia)

    def test_carregar_sobrescrevendo(self):
        self.chaveiro9.carregar(self.chaves, sobrescrever=True)
        self.assertEqual(len(self.chaves), len(self.chaveiro9))
        for original, copia in zip(self.chaves, self.chaveiro9):
            self.assertEqual(original, copia)
Ejemplo n.º 3
0
 def test_ler(self):
     self.chaveiro0.gravar()
     self.chaveiro_lido = Chaveiro('000', nome_arq='chaveiro0.dat')
     self.chaveiro_lido.ler()
     self.assertEqual([], [x for x in self.chaveiro_lido])
     self.chaveiro9.gravar()
     self.chaveiro_lido = Chaveiro('999', nome_arq='chaveiro9.dat')
     self.chaveiro_lido.ler()
     self.assertEqual(self.itens9, [x for x in self.chaveiro_lido])
Ejemplo n.º 4
0
 def test_ler(self):
     self.chaveiro0.gravar()
     self.chaveiro_lido = Chaveiro('000', nome_arq='chaveiro0.dat')
     self.chaveiro_lido.ler()
     self.assertEqual([], [x for x in self.chaveiro_lido])
     self.chaveiro9.gravar()
     self.chaveiro_lido = Chaveiro('999', nome_arq='chaveiro9.dat')
     self.chaveiro_lido.ler()
     self.assertEqual(self.itens9, [x for x in self.chaveiro_lido])
Ejemplo n.º 5
0
 def setUp(self):
     self.chaveiro0 = Chaveiro('000')
     self.chaves = [
         ('Wikipedia', 'http://pt.wikipedia.org', 'ramalho', 'senha-nao'),
         ('Incubadora Virtual', 'http://incubadora.fapesp.br', 'luciano', 'senha-nem'),
         ('PythonBrasil', 'http://www.pythonbrasil.com.br', 'luciano', 'senha-outra'),
     ]
     self.itens9 = [str(i) for i in range(1,10)]
     self.chaveiro9 = Chaveiro('999')
     [self.chaveiro9.incluir(i) for i in self.itens9]
Ejemplo n.º 6
0
 def test_detectar_arquivo_corrompido(self):
     self.chaveiro0.gravar()
     arq = open('chaveiro0.dat', 'ab')
     arq.write(b'x')
     arq.close()
     chaveiro_lido = Chaveiro('000', nome_arq='chaveiro0.dat')
     self.assertRaises(ArquivoCorrompido, chaveiro_lido.ler)
Ejemplo n.º 7
0
 def setUp(self):
     self.chaveiro0 = Chaveiro('000')
     self.chaves = [
         ('Wikipedia', 'http://pt.wikipedia.org', 'ramalho', 'senha-nao'),
         ('Incubadora Virtual', 'http://incubadora.fapesp.br', 'luciano', 'senha-nem'),
         ('PythonBrasil', 'http://www.pythonbrasil.com.br', 'luciano', 'senha-outra'),
     ]
     self.itens9 = [str(i) for i in range(1,10)]
     self.chaveiro9 = Chaveiro('999')
     [self.chaveiro9.incluir(i) for i in self.itens9]
Ejemplo n.º 8
0
class TestesCarregar(unittest.TestCase):
    def setUp(self):
        self.chaveiro0 = Chaveiro('000')
        self.chaves = [
            ('Wikipedia', 'http://pt.wikipedia.org', 'ramalho', 'senha-nao'),
            ('Incubadora Virtual', 'http://incubadora.fapesp.br', 'luciano', 'senha-nem'),
            ('PythonBrasil', 'http://www.pythonbrasil.com.br', 'luciano', 'senha-outra'),
        ]
        self.itens9 = [str(i) for i in range(1,10)]
        self.chaveiro9 = Chaveiro('999')
        [self.chaveiro9.incluir(i) for i in self.itens9]

    def test_carregar_adicionando(self):
        self.chaveiro9.carregar(self.chaves, sobrescrever=False)
        self.assertEqual(9+len(self.chaves), len(self.chaveiro9))
        for original, copia in zip(self.itens9+self.chaves, self.chaveiro9):
            self.assertEqual(original, copia)

    def test_carregar_sobrescrevendo(self):
        self.chaveiro9.carregar(self.chaves, sobrescrever=True)
        self.assertEqual(len(self.chaves), len(self.chaveiro9))
        for original, copia in zip(self.chaves, self.chaveiro9):
            self.assertEqual(original, copia)
Ejemplo n.º 9
0
class TabelaChaveiro(Table):

    def __init__(self, *args, **kwargs):
        self.senha = kwargs['senha']
        del kwargs['senha']
        super(TabelaChaveiro, self).__init__(*args, **kwargs)
        self.chaveiro = Chaveiro(self.senha)
                        
    def mudou(self):
        dados = []
        for linha in self:
            itens = []
            for valor in linha:
                itens.append(valor)
            dados.append(itens)
        if dados:
            self.chaveiro.carregar(dados)
            self.chaveiro.gravar()

    def senha_digitada(self, controle, nova_senha):
        if self.chaveiro and self.chaveiro.senha != nova_senha:
            if yesno('Alterar a senha-mestre?'):
                self.chaveiro.senha = nova_senha
                self.mudou()
            else:
                controle.set_value(self.chaveiro.senha)
        else:
            self.chaveiro.senha = nova_senha
            
        if len(nova_senha):
            janela['acao'].enable()
        else:
            janela['acao'].disable()
        
    def carregar(self):
        try:
            self.chaveiro.ler()
        except (SenhaIncorreta, ArquivoCorrompido), erro:
            error(erro.__doc__)
        else:
Ejemplo n.º 10
0
class TabelaChaveiro(Table):
    def __init__(self, *args, **kwargs):
        self.senha = kwargs['senha']
        del kwargs['senha']
        super(TabelaChaveiro, self).__init__(*args, **kwargs)
        self.chaveiro = Chaveiro(self.senha)

    def mudou(self):
        dados = []
        for linha in self:
            itens = []
            for valor in linha:
                itens.append(valor)
            dados.append(itens)
        if dados:
            self.chaveiro.carregar(dados)
            self.chaveiro.gravar()

    def senha_digitada(self, controle, nova_senha):
        if self.chaveiro and self.chaveiro.senha != nova_senha:
            if yesno('Alterar a senha-mestre?'):
                self.chaveiro.senha = nova_senha
                self.mudou()
            else:
                controle.set_value(self.chaveiro.senha)
        else:
            self.chaveiro.senha = nova_senha

        if len(nova_senha):
            janela['acao'].enable()
        else:
            janela['acao'].disable()

    def carregar(self):
        try:
            self.chaveiro.ler()
        except (SenhaIncorreta, ArquivoCorrompido), erro:
            error(erro.__doc__)
        else:
Ejemplo n.º 11
0
class TestesChaveiroGravarLer(unittest.TestCase):

    def setUp(self):
        self.chaveiro0 = Chaveiro('000', nome_arq='chaveiro0.dat')
        self.itens9 = [str(i) for i in range(1,10)]
        self.chaveiro9 = Chaveiro('999', nome_arq='chaveiro9.dat')
        [self.chaveiro9.incluir(i) for i in self.itens9]

    def test_gravar(self):
        self.chaveiro0.gravar()
        self.assertTrue(os.path.exists(self.chaveiro0.nome_arq))
        self.chaveiro9.gravar()
        self.assertTrue(os.path.exists(self.chaveiro9.nome_arq))

    def test_ler(self):
        self.chaveiro0.gravar()
        self.chaveiro_lido = Chaveiro('000', nome_arq='chaveiro0.dat')
        self.chaveiro_lido.ler()
        self.assertEqual([], [x for x in self.chaveiro_lido])
        self.chaveiro9.gravar()
        self.chaveiro_lido = Chaveiro('999', nome_arq='chaveiro9.dat')
        self.chaveiro_lido.ler()
        self.assertEqual(self.itens9, [x for x in self.chaveiro_lido])

    def test_senha_incorreta(self):
        self.chaveiro0.gravar()
        chaveiro_lido = Chaveiro(senha='', nome_arq='chaveiro0.dat')
        self.assertRaises(SenhaIncorreta, chaveiro_lido.ler)
        self.chaveiro9.gravar()
        chaveiro_lido = Chaveiro(senha='ERRADA', nome_arq='chaveiro9.dat')
        self.assertRaises(SenhaIncorreta, chaveiro_lido.ler)

    def test_detectar_arquivo_corrompido(self):
        self.chaveiro0.gravar()
        arq = open('chaveiro0.dat', 'ab')
        arq.write(b'x')
        arq.close()
        chaveiro_lido = Chaveiro('000', nome_arq='chaveiro0.dat')
        self.assertRaises(ArquivoCorrompido,chaveiro_lido.ler)

    def tearDown(self):
        for nome_arq in 'chaveiro0.dat chaveiro9.dat'.split():
            if os.path.exists(nome_arq):
                os.remove(nome_arq)
Ejemplo n.º 12
0
 def setUp(self):
     self.chaveiro0 = Chaveiro('000')
     self.itens9 = [str(i) for i in range(1, 10)]
     self.chaveiro9 = Chaveiro('999')
     [self.chaveiro9.incluir(i) for i in self.itens9]
Ejemplo n.º 13
0
class TestesChaveiroIteravel(unittest.TestCase):
    def setUp(self):
        self.chaveiro0 = Chaveiro('000')
        self.itens9 = [str(i) for i in range(1, 10)]
        self.chaveiro9 = Chaveiro('999')
        [self.chaveiro9.incluir(i) for i in self.itens9]

    def test_iter(self):
        self.assertEqual([], [x for x in self.chaveiro0])
        self.assertEqual(self.itens9, [x for x in self.chaveiro9])

    def test_incluir_excluir(self):
        self.chaveiro0.incluir('zzz')
        self.assertEqual(1, len([x for x in self.chaveiro0]))
        self.chaveiro0.excluir(0)
        self.assertEqual(0, len([x for x in self.chaveiro0]))

    def test_incluir_excluir_posicao(self):
        self.chaveiro9.incluir('1234', 3)
        itens = [i for i in self.chaveiro9]
        self.assertEqual('1234', itens[3])
        self.chaveiro9.excluir(3)
        self.assertEqual(self.itens9, [i for i in self.chaveiro9])
        self.chaveiro9.excluir(0)
        itens = [i for i in self.chaveiro9]
        self.assertEqual('2', itens[0])
Ejemplo n.º 14
0
 def __init__(self, *args, **kwargs):
     self.senha = kwargs['senha']
     del kwargs['senha']
     super(TabelaChaveiro, self).__init__(*args, **kwargs)
     self.chaveiro = Chaveiro(self.senha)
Ejemplo n.º 15
0
class TestesChaveiroGravarLer(unittest.TestCase):
    def setUp(self):
        self.chaveiro0 = Chaveiro('000', nome_arq='chaveiro0.dat')
        self.itens9 = [str(i) for i in range(1, 10)]
        self.chaveiro9 = Chaveiro('999', nome_arq='chaveiro9.dat')
        [self.chaveiro9.incluir(i) for i in self.itens9]

    def test_gravar(self):
        self.chaveiro0.gravar()
        self.assertTrue(os.path.exists(self.chaveiro0.nome_arq))
        self.chaveiro9.gravar()
        self.assertTrue(os.path.exists(self.chaveiro9.nome_arq))

    def test_ler(self):
        self.chaveiro0.gravar()
        self.chaveiro_lido = Chaveiro('000', nome_arq='chaveiro0.dat')
        self.chaveiro_lido.ler()
        self.assertEqual([], [x for x in self.chaveiro_lido])
        self.chaveiro9.gravar()
        self.chaveiro_lido = Chaveiro('999', nome_arq='chaveiro9.dat')
        self.chaveiro_lido.ler()
        self.assertEqual(self.itens9, [x for x in self.chaveiro_lido])

    def test_senha_incorreta(self):
        self.chaveiro0.gravar()
        chaveiro_lido = Chaveiro(senha='', nome_arq='chaveiro0.dat')
        self.assertRaises(SenhaIncorreta, chaveiro_lido.ler)
        self.chaveiro9.gravar()
        chaveiro_lido = Chaveiro(senha='ERRADA', nome_arq='chaveiro9.dat')
        self.assertRaises(SenhaIncorreta, chaveiro_lido.ler)

    def test_detectar_arquivo_corrompido(self):
        self.chaveiro0.gravar()
        arq = open('chaveiro0.dat', 'ab')
        arq.write(b'x')
        arq.close()
        chaveiro_lido = Chaveiro('000', nome_arq='chaveiro0.dat')
        self.assertRaises(ArquivoCorrompido, chaveiro_lido.ler)

    def tearDown(self):
        for nome_arq in 'chaveiro0.dat chaveiro9.dat'.split():
            if os.path.exists(nome_arq):
                os.remove(nome_arq)
Ejemplo n.º 16
0
 def setUp(self):
     self.chaveiro0 = Chaveiro('000', nome_arq='chaveiro0.dat')
     self.itens9 = [str(i) for i in range(1,10)]
     self.chaveiro9 = Chaveiro('999', nome_arq='chaveiro9.dat')
     [self.chaveiro9.incluir(i) for i in self.itens9]
Ejemplo n.º 17
0
class TestesChaveiroIteravel(unittest.TestCase):

    def setUp(self):
        self.chaveiro0 = Chaveiro('000')
        self.itens9 = [str(i) for i in range(1,10)]
        self.chaveiro9 = Chaveiro('999')
        [self.chaveiro9.incluir(i) for i in self.itens9]

    def test_iter(self):
        self.assertEqual([], [x for x in self.chaveiro0])
        self.assertEqual(self.itens9, [x for x in self.chaveiro9])

    def test_incluir_excluir(self):
        self.chaveiro0.incluir('zzz')
        self.assertEqual(1, len([x for x in self.chaveiro0]))
        self.chaveiro0.excluir(0)
        self.assertEqual(0, len([x for x in self.chaveiro0]))

    def test_incluir_excluir_posicao(self):
        self.chaveiro9.incluir('1234',3)
        itens = [i for i in self.chaveiro9]
        self.assertEqual('1234', itens[3])
        self.chaveiro9.excluir(3)
        self.assertEqual(self.itens9, [i for i in self.chaveiro9])
        self.chaveiro9.excluir(0)
        itens = [i for i in self.chaveiro9]
        self.assertEqual('2', itens[0])
Ejemplo n.º 18
0
 def __init__(self, *args, **kwargs):
     self.senha = kwargs['senha']
     del kwargs['senha']
     super(TabelaChaveiro, self).__init__(*args, **kwargs)
     self.chaveiro = Chaveiro(self.senha)