Passed
Pull Request — master (#62)
by Juan José
01:49
created

GmpTriggerAlertTestCase.setUp()   A

Complexity

Conditions 1

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
# -*- coding: utf-8 -*-
2
# Copyright (C) 2018 Greenbone Networks GmbH
3
#
4
# SPDX-License-Identifier: GPL-3.0-or-later
5
#
6
# This program is free software: you can redistribute it and/or modify
7
# it under the terms of the GNU General Public License as published by
8
# the Free Software Foundation, either version 3 of the License, or
9
# (at your option) any later version.
10
#
11
# This program is distributed in the hope that it will be useful,
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
# GNU General Public License for more details.
15
#
16
# You should have received a copy of the GNU General Public License
17
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
19
import unittest
20
21
from gvm.errors import RequiredArgument
22
from gvm.protocols.gmpv7 import Gmp
23
24
from .. import MockConnection
25
26
class GmpTriggerAlertTestCase(unittest.TestCase):
27
28
    def setUp(self):
29
        self.connection = MockConnection()
30
        self.gmp = Gmp(self.connection)
31
32
    def test_trigger_alert_without_alert_id(self):
33
        with self.assertRaises(RequiredArgument):
34
            self.gmp.trigger_alert(alert_id=None, report_id='r1')
35
36
        with self.assertRaises(RequiredArgument):
37
            self.gmp.trigger_alert(alert_id='', report_id='r1')
38
39
    def test_trigger_alert(self):
40
        self.gmp.trigger_alert(alert_id='a1', report_id='r1')
41
42
        self.connection.send.has_been_called_with(
43
            '<get_reports report_id="r1" alert_id="a1"/>')
44
45
    def test_trigger_alert_with_filter(self):
46
        self.gmp.trigger_alert(alert_id='a1', report_id='r1', filter='name=foo')
47
48
        self.connection.send.has_been_called_with(
49
            '<get_reports report_id="r1" alert_id="a1" filter="name=foo"/>')
50
51
    def test_trigger_alert_with_filter_id(self):
52
        self.gmp.trigger_alert(alert_id="a1", report_id='r1', filter_id='f1')
53
54
        self.connection.send.has_been_called_with(
55
            '<get_reports report_id="r1" alert_id="a1" filt_id="f1"/>')
56
57
    def test_trigger_alert_with_report_format_id(self):
58
        self.gmp.trigger_alert(alert_id="a1", report_id='r1',
59
                               report_format_id='bar')
60
61
        self.connection.send.has_been_called_with(
62
            '<get_reports report_id="r1" alert_id="a1" format_id="bar"/>')
63
64
    def test_trigger_alert_with_delta_report_id(self):
65
        self.gmp.trigger_alert(
66
            alert_id='a1', report_id='r1', delta_report_id='r2')
67
68
        self.connection.send.has_been_called_with(
69
            '<get_reports report_id="r1" alert_id="a1" delta_report_id="r2"/>')
70
71
72
if __name__ == '__main__':
73
    unittest.main()
74