예제 #1
0
 def test_LineInfo_not_allowed(self):
     res = authparse.LineInfo(test_lines['not_allowed'])
     self.assertEqual((
         res.line_type,
         res.key_,
         res.value,
     ), ('not_allowed', 'user', "root"))
예제 #2
0
 def test_master_dict(self):
     master = authparse.IpDict()
     for key in test_lines:
         ip = authparse.get_ip(test_lines[key])
         master.add_data(ip, authparse.LineInfo(test_lines[key]))
     keys = set([key for key in master.data])
     self.assertEqual(keys, ip_set)
예제 #3
0
 def test_LineInfo_pub_key(self):
     res = authparse.LineInfo(test_lines['pub_key'])
     self.assertEqual((
         res.line_type,
         res.key_,
         res.value,
     ), ('pub_key', 'user', "alex"))
예제 #4
0
 def test_LineInfo_invalid_user(self):
     res = authparse.LineInfo(test_lines['invalid_user'])
     self.assertEqual((
         res.line_type,
         res.key_,
         res.value,
     ), ('invalid_user', 'user', "postgres"))
예제 #5
0
 def test_add2ip_dict(self):
     ip_set = set()
     ip = "10.0.0.10"
     ip_set.add(ip)
     master = authparse.IpDict()
     master.add_data(ip, authparse.LineInfo(test_lines['invalid_user']))
     self.assertEqual(master.data[ip].data['invalid_user'], ['postgres'])
     master.add_data(ip, authparse.LineInfo(test_line1))
     self.assertEqual(master.data[ip].data['invalid_user'], [
         'postgres',
         'apache',
     ])
     master.add_data(ip, authparse.LineInfo(test_lines['no_id']))
     self.assertEqual(master.data[ip].data['no_id'], 1)
     ip = "10.1.0.10"
     ip_set.add(ip)
     master.add_data(ip, authparse.LineInfo(test_lines['no_id']))
     self.assertEqual(master.data[ip].data['no_id'], 1)
     self.assertEqual(set([key for key in master.data]), ip_set)
예제 #6
0
 def test_add2ip_info1(self):
     ip_info = authparse.IpInfo()
     line_info0 = authparse.LineInfo(test_lines['invalid_user'])
     line_info1 = authparse.LineInfo(test_line1)
     line_info2 = authparse.LineInfo(test_line2)
     line_info3 = authparse.LineInfo(test_line3)
     line_info4 = authparse.LineInfo(test_line4)
     ip_info.add_entry(line_info0)
     ip_info.add_entry(line_info1)
     ip_info.add_entry(line_info2)
     ip_info.add_entry(line_info3)
     ip_info.add_entry(line_info4)
     self.assertEqual(ip_info.data['invalid_user'], [
         "postgres",
         "apache",
         "india",
         "romanian",
         "brazil",
     ])
예제 #7
0
 def setUp(self):
     self.args = {
         '--report': 1,
         '--demographics': False,
         '--frequency': False,
     }
     self.master = authparse.IpDict()
     for ip in w_ips:
         for k in test_lines.keys():
             line_info = authparse.LineInfo(test_lines['pub_key'])
             self.master.add_data(ip, line_info)
예제 #8
0
 def test_LineInfo_disconnect(self):
     res = authparse.LineInfo(test_lines['disconnect'])
     self.assertEqual((
         res.line_type,
         res.key_,
         res.value,
     ), (
         'disconnect',
         None,
         None,
     ))
예제 #9
0
 def test_LineInfo_closed(self):
     res = authparse.LineInfo(test_lines['closed'])
     self.assertEqual((
         res.line_type,
         res.key_,
         res.value,
     ), (
         'closed',
         None,
         None,
     ))
예제 #10
0
 def test_LineInfo_break_in(self):
     res = authparse.LineInfo(test_lines['break_in'])
     self.assertEqual((
         res.line_type,
         res.key_,
         res.value,
     ), (
         'break_in',
         None,
         None,
     ))
예제 #11
0
 def test_0(self):
     master = authparse.IpDict()
     ip = '10.0.0.1'
     line_info = authparse.LineInfo(test_lines['pub_key'])
     master.add_data(ip, line_info)
     show = master.show(self.args)
     #       print('\n###\n{}\n###\n'.format(show))
     #       print('\n###\n{}\n###\n'
     #           .format(master.data[ip].show(self.args, ip)))
     self.assertEqual(
         show,
         'Remaining IP addresses (which are suspect:)\n10.0.0.1\n  Appearances: 1.'
     )
예제 #12
0
 def test_0(self):
     shown = (
         '10.0.0.1',
         '10.0.0.1\n  Appearances: 1.',
         "10.0.0.1\n  Appearances: 1.\n    pub_key: 1. =>['alex']",
     )
     for n in range(3):
         args = {
             '--report': n,
             '--demographics': False,
             '--frequency': True,
         }
         line_info = authparse.LineInfo(test_lines['pub_key'])
         info = authparse.IpInfo()
         info.add_entry(line_info)
         s = info.show(args, '10.0.0.1')
         self.assertEqual(s, shown[n])