Passed
Push — master ( 48952f...b1214c )
by Jaspar
34:32 queued 33:09
created

tests.protocols.gmpv208.system.feed.test_get_feed   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 24
dl 0
loc 67
rs 10
c 0
b 0
f 0
wmc 7

3 Methods

Rating   Name   Duplication   Size   Complexity  
A GmpGetFeedTestMixin.test_get_feed() 0 21 1
A GmpGetFeedTestMixin.test_get_feed_invalid_type() 0 6 2
A GmpGetFeedTestMixin.test_get_feed_missing_type() 0 12 4
1
# -*- coding: utf-8 -*-
2
# Copyright (C) 2018-2021 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
from gvm.errors import RequiredArgument, InvalidArgumentType
20
21
from gvm.protocols.gmpv208 import FeedType
22
23
24
class GmpGetFeedTestMixin:
25
    def test_get_feed(self):
26
        """
27
        Test basic get_feed calls with only resource_type except special
28
        cases for audit, policy, scan_config and task.
29
        """
30
        self.gmp.get_feed(FeedType.NVT)
31
32
        self.connection.send.has_been_called_with('<get_feeds type="NVT"/>')
33
34
        self.gmp.get_feed(FeedType.CERT)
35
36
        self.connection.send.has_been_called_with('<get_feeds type="CERT"/>')
37
38
        self.gmp.get_feed(FeedType.SCAP)
39
40
        self.connection.send.has_been_called_with('<get_feeds type="SCAP"/>')
41
42
        self.gmp.get_feed(FeedType.GVMD_DATA)
43
44
        self.connection.send.has_been_called_with(
45
            '<get_feeds type="GVMD_DATA"/>'
46
        )
47
48
    def test_get_feed_missing_type(self):
49
        """
50
        Test get_feed calls with missing resource_type
51
        """
52
        with self.assertRaises(RequiredArgument):
53
            self.gmp.get_feed(feed_type=None)
54
55
        with self.assertRaises(RequiredArgument):
56
            self.gmp.get_feed(feed_type='')
57
58
        with self.assertRaises(RequiredArgument):
59
            self.gmp.get_feed('')
60
61
    def test_get_feed_invalid_type(self):
62
        """
63
        Test get_feed calls with invalid resource_type
64
        """
65
        with self.assertRaises(InvalidArgumentType):
66
            self.gmp.get_feed('foo')
67