File: plugin_config_test.py

package info (click to toggle)
kiwi-boxed-plugin 0.2.31-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,016 kB
  • sloc: python: 1,996; makefile: 235; sh: 182
file content (105 lines) | stat: -rw-r--r-- 4,171 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import yaml
from mock import patch
from pytest import raises

from kiwi_boxed_plugin.plugin_config import PluginConfig
from kiwi_boxed_plugin.exceptions import KiwiBoxPluginConfigError


class TestPluginConfig:
    @patch('kiwi_boxed_plugin.defaults.Defaults.get_plugin_config_file')
    def setup(self, mock_get_plugin_config_file):
        mock_get_plugin_config_file.return_value = \
            '../data/kiwi_boxed_plugin.yml'
        self.plugin_config = PluginConfig()

    @patch('kiwi_boxed_plugin.defaults.Defaults.get_plugin_config_file')
    def setup_method(self, cls, mock_get_plugin_config_file):
        self.setup()

    @patch('kiwi_boxed_plugin.defaults.Defaults.get_plugin_config_file')
    def test_invalid_config(self, mock_get_plugin_config_file):
        mock_get_plugin_config_file.return_value = \
            '../data/kiwi_boxed_plugin_invalid.yml'
        with raises(KiwiBoxPluginConfigError):
            PluginConfig()

    def test_get_config(self):
        print(self.plugin_config.get_config())
        assert self.plugin_config.get_config() == [
            {
                'name': 'suse',
                'mem_mb': 8096,
                'processors': 4,
                'console': 'hvc0',
                'arch': [
                    {
                        'name': 'x86_64',
                        'cmdline': ['root=/dev/vda1', 'rd.plymouth=0'],
                        'source':
                            'obs://Virtualization:Appliances:SelfContained:'
                            'suse/images',
                        'packages_file':
                            'SUSE-Box.x86_64-1.42.1-System-BuildBox.report',
                        'boxfiles': [
                            'SUSE-Box.x86_64-1.42.1-Kernel-BuildBox.tar.xz',
                            'SUSE-Box.x86_64-1.42.1-System-BuildBox.qcow2'
                        ],
                        'use_initrd': True
                    }
                ]
            },
            {
                'name': 'universal',
                'mem_mb': 8096,
                'processors': 4,
                'console': 'hvc0',
                'arch': [
                    {
                        'name': 'x86_64',
                        'cmdline': [
                            'root=/dev/vda3', 'rd.plymouth=0', 'selinux=0'
                        ],
                        'source':
                            'obs://Virtualization:Appliances:SelfContained:'
                            'universal/images',
                        'packages_file':
                            'Universal-Box.x86_64-1.1.2-System-BuildBox.report',
                        'boxfiles': [
                            'Universal-Box.x86_64-1.1.2-Kernel-BuildBox.tar.xz',
                            'Universal-Box.x86_64-1.1.2-System-BuildBox.qcow2'
                        ],
                        'use_initrd': True
                    },
                    {
                        'name': 'aarch64',
                        'cmdline': [
                            'root=/dev/vda2', 'rd.plymouth=0', 'selinux=0'
                        ],
                        'source':
                            'obs://Virtualization:Appliances:SelfContained:'
                            'universal/images',
                        'packages_file': 'Universal-Box.'
                            'aarch64-1.1.2-System-BuildBox.report',
                        'boxfiles': [
                            'Universal-Box.aarch64-1.1.2-'
                            'Kernel-BuildBox.tar.xz',
                            'Universal-Box.aarch64-1.1.2-'
                            'System-BuildBox.qcow2'
                        ],
                        'use_initrd': True
                    }
                ]
            }
        ]

    def test_dump_config(self):
        assert self.plugin_config.dump_config() == yaml.dump(
            self.plugin_config.get_config()
        )

    @patch('yaml.safe_load')
    def test_setup_raises(self, mock_yaml_safe_load):
        mock_yaml_safe_load.side_effect = Exception
        with raises(KiwiBoxPluginConfigError):
            PluginConfig()