Completed
Push — master ( 8fd7ee...7b0c38 )
by -
01:39
created

FlaskrTestCase.test_generate()   A

Complexity

Conditions 1

Size

Total Lines 23

Duplication

Lines 0
Ratio 0 %
Metric Value
cc 1
dl 0
loc 23
rs 9.0856
1
import unittest
2
3
from spike import create_app
4
from spike.model import db
5
6
try:
7
    from urlparse import urlparse
0 ignored issues
show
Unused Code introduced by
Unused urlparse imported from urlparse
Loading history...
8
except ImportError:  # python3
9
    from urllib.parse import urlparse
10
11
12
class FlaskrTestCase(unittest.TestCase):
13
    def setUp(self):
14
        app = create_app()
15
        db.init_app(app)
16
        app.config['TESTING'] = True
17
        self.app = app.test_client()
18
        self.created_rules = list()
19
20
    def tearDown(self):
21
        pass
22
23
    def test_index(self):
24
        rv = self.app.get('/whitelists/')
0 ignored issues
show
Unused Code introduced by
The variable rv seems to be unused.
Loading history...
25
26
    def test_new(self):
27
        rv = self.app.get('/whitelists/new')
28
        self.assertEqual(rv.status_code, 200)
29
30
    def test_generate(self):
31
        rv = self.app.get('/whitelists/generate')
32
        self.assertEqual(rv.status_code, 200)
33
34
        rv = self.app.post('/whitelists/generate')
35
        self.assertEqual(rv.status_code, 200)
36
        self.assertIn('Please input nxlogs', str(rv.data))
37
38
        rv = self.app.post('/whitelists/generate', data={'nxlogs': 'pouet,lol'})
39
        self.assertEqual(rv.status_code, 200)
40
        self.assertIn('string "ip=" not found.', str(rv.data))
41
42
        rv = self.app.post('/whitelists/generate', data={'nxlogs': 'ip=1234'})
43
        self.assertEqual(rv.status_code, 200)
44
        self.assertIn('string "," not found.', str(rv.data))
45
46
        logs = "2013/11/10 07:36:19 [error] 8278#0: *5932 NAXSI_FMT: ip=X.X.X.X&server=Y.Y.Y.Y&"\
47
                "uri=/phpMyAdmin-2.8.2/scripts/setup.php&learning=0&vers=0.52&total_processed=472&total_blocked=204&"\
48
                "block=0&cscore0=$UWA&score0=8&zone0=HEADERS&id0=42000227&var_name0=user-agent, client: X.X.X.X,"\
49
                'server: blog.memze.ro, request: "GET /phpMyAdmin-2.8.2/scripts/setup.php HTTP/1.1", host: "X.X.X.X"'
50
        rv = self.app.post('/whitelists/generate', data={'nxlogs': logs})
51
        self.assertEqual(rv.status_code, 200)
52
        self.assertIn('BasicRule wl:42000227 "mz:user-agent:HEADERS"', str(rv.data))
53