DistributionRequirementTestCase   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 15
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A test_install_command_mock_fedora() 0 6 1
A test_install_command_mock_incompatible_os() 0 6 2
1
import platform
2
import unittest
3
from unittest.mock import patch
4
5
from coalib.bears.requirements.DistributionRequirement import (
6
    DistributionRequirement)
7
8
9
class DistributionRequirementTestCase(unittest.TestCase):
10
11
    @patch('platform.linux_distribution', return_value=('Fedora',))
12
    def test_install_command_mock_fedora(self, call_mock):
13
        self.assertEqual(platform.linux_distribution()[0], 'Fedora')
14
        self.assertEqual(DistributionRequirement(
15
            dnf='libclang', apt_get='libclangs').install_command(),
16
            ['dnf', 'install', 'libclang'])
17
18
    @patch('platform.linux_distribution', return_value=('bad_os',))
19
    def test_install_command_mock_incompatible_os(self, call_mock):
20
        self.assertEqual(platform.linux_distribution()[0], 'bad_os')
21
        with self.assertRaises(OSError):
22
            DistributionRequirement(
23
                dnf='libclang', apt_get='libclangs').install_command()
24