test_discover.py
2.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'eduardo'
import unittest
import os
import os.path
import shutil
from ..session import Host, SnmpSession, NmapSession
from .. import Cocar
from ..model import network
from .. import utils
class TestDiscover(unittest.TestCase):
"""
Testa descoberta de ativos de rede utilizando snmp
"""
def setUp(self):
"""
Parâmetros iniciais
"""
self.activeip = '127.0.0.1'
self.inactiveip = '127.1.1.1'
self.localhost = '127.0.0.1'
cocar = Cocar()
self.data_dir = cocar.cocar_data_dir
local_network = utils.get_local_network()
self.network = network.Network(
network_ip=str(local_network.cidr),
name='Rede de teste'
)
def test_active(self):
"""
Teste que verifica se o ativo de rede está ativo
"""
session = SnmpSession(DestHost=self.activeip)
result = session.query()
print(result.query[0])
self.assertIsNotNone(result.query[0])
def test_inactive(self):
"""
Teste que identifica que um ativo de rede está inativo
"""
session = SnmpSession(DestHost=self.inactiveip)
result = session.query()
print(result.query[0])
self.assertIsNone(result.query[0])
def test_scan(self):
"""
Teste que realiza o scan em todas as informações do ativo
"""
session = NmapSession(self.localhost)
result = session.scan()
assert result
# Tenta achar o arquivo
outfile = self.data_dir + "/" + self.localhost + ".xml"
assert (os.path.isfile(outfile))
def test_scan_rede_full(self):
"""
Realiza busca em todos os IP's da rede e grava resultados num arquivo específico
"""
session = NmapSession(self.network.network_ip.cidr)
session.scan()
# List all IP's from directory
self.assertTrue(os.path.isfile(session.outfile))
# Apaga arquivo
#os.unlink(session.outfile)
def test_scan_rede(self):
"""
Realiza busca rápida em todos os IP's da rede e grava resultados num arquivo específico
"""
session = NmapSession(self.network.network_ip.cidr, full=False)
session.scan()
# List all IP's from directory
self.assertTrue(os.path.isfile(session.outfile))
# Apaga arquivo
#os.unlink(session.outfile)
def tearDown(self):
"""
Apaga dados inicias
"""
#shutil.rmtree(self.data_dir)