Completed
Push — master ( f3cde9...b114e7 )
by
unknown
13s queued 11s
created

tests.protocols.gmpv7.test_modify_auth   A

Complexity

Total Complexity 11

Size/Duplication

Total Lines 84
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 38
dl 0
loc 84
rs 10
c 0
b 0
f 0
wmc 11

4 Methods

Rating   Name   Duplication   Size   Complexity  
A GmpModifyAuthTestCase.test_modify_auth_auth_conf_settings() 0 14 5
A GmpModifyAuthTestCase.setUp() 0 3 1
A GmpModifyAuthTestCase.test_modify_auth() 0 8 1
A GmpModifyAuthTestCase.test_modify_auth_missing_group_name() 0 12 4
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 GmpModifyAuthTestCase(unittest.TestCase):
27
28
    def setUp(self):
29
        self.connection = MockConnection()
30
        self.gmp = Gmp(self.connection)
31
32
    def test_modify_auth(self):
33
        self.gmp.modify_auth('foo', {
34
            'foo': 'bar',
35
            'lorem': 'ipsum',
36
        })
37
38
        self.connection.send.has_been_called_with(
39
            '<modify_auth>'
40
            '<group name="foo">'
41
            '<auth_conf_setting>'
42
            '<key>foo</key>'
43
            '<value>bar</value>'
44
            '</auth_conf_setting>'
45
            '<auth_conf_setting>'
46
            '<key>lorem</key>'
47
            '<value>ipsum</value>'
48
            '</auth_conf_setting>'
49
            '</group>'
50
            '</modify_auth>'
51
        )
52
53
    def test_modify_auth_missing_group_name(self):
54
        with self.assertRaises(RequiredArgument):
55
            self.gmp.modify_auth(
56
                group_name=None, auth_conf_settings={'foo': 'bar'})
57
58
        with self.assertRaises(RequiredArgument):
59
            self.gmp.modify_auth(
60
                group_name='', auth_conf_settings={'foo': 'bar'})
61
62
        with self.assertRaises(RequiredArgument):
63
            self.gmp.modify_auth(
64
                '', auth_conf_settings={'foo': 'bar'})
65
66
    def test_modify_auth_auth_conf_settings(self):
67
        with self.assertRaises(RequiredArgument):
68
            self.gmp.modify_auth(
69
                group_name='foo', auth_conf_settings=None)
70
71
        with self.assertRaises(RequiredArgument):
72
            self.gmp.modify_auth(
73
                group_name='foo', auth_conf_settings='')
74
75
        with self.assertRaises(RequiredArgument):
76
            self.gmp.modify_auth('foo', '')
77
78
        with self.assertRaises(RequiredArgument):
79
            self.gmp.modify_auth('foo', {})
80
81
82
if __name__ == '__main__':
83
    unittest.main()
84