Completed
Pull Request — master (#2393)
by Zatreanu
02:53 queued 59s
created

test_NotInstalledRequirement()   A

Complexity

Conditions 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
dl 0
loc 3
rs 10
1
import unittest
2
import subprocess
3
from coalib.bears.requirements.PipRequirement import PipRequirement
4
from coalib.bears.requirements.NpmRequirement import NpmRequirement
5
from coalib.bears.requirements.GemRequirement import GemRequirement
6
7
8
def pip_check():
9
    """
10
    Checks whether npm is installed.
11
12
    :return: True if it is installed, false otherwise.
13
    """
14
    return subprocess.call(['pip'], stdout=subprocess.DEVNULL)
15
16
17
def npm_check():
18
    """
19
    Checks whether npm is installed.
20
21
    :return: True if it is installed, false otherwise.
22
    """
23
    return not subprocess.call(['npm'], stdout=subprocess.DEVNULL)
24
25
26
def gem_check():
27
    """
28
    Checks whether npm is installed.
29
30
    :return: True if it is installed, false otherwise.
31
    """
32
    return not subprocess.call(['gem'], stdout=subprocess.DEVNULL)
33
34
35
class PipRequirementTestCase(unittest.TestCase):
36
37
    def setUp(self):
38
        self.PipRequirement = PipRequirement('pip')
39
        self.PipRequirementBad = PipRequirement('some_bad_package')
40
41
    @unittest.skipIf(pip_check(), "Pip is not installed.")
42
    def test_InstalledRequirement(self):
43
        self.assertEqual(self.PipRequirement.is_installed(), True)
44
45
    @unittest.skipIf(pip_check(), "Pip is not installed.")
46
    def test_NotInstalledRequirement(self):
47
        self.assertEqual(self.PipRequirementBad.is_installed(), False)
48
49
50
class NpmRequirementTestCase(unittest.TestCase):
51
52
    def setUp(self):
53
        self.NpmRequirement = NpmRequirement('npm')
54
        self.NpmRequirementBad = PipRequirement('some_bad_package')
55
56
    @unittest.skipIf(npm_check(), "Npm is not installed.")
57
    def test_InstalledRequirement(self):
58
        self.assertEqual(self.NpmRequirement.is_installed(), True)
59
60
    @unittest.skipIf(npm_check(), "Npm is not installed.")
61
    def test_NotInstalledRequirement(self):
62
        self.assertEqual(self.NpmRequirementBad.is_installed(), False)
63
64
65
class GemRequirementTestCase(unittest.TestCase):
66
67
    def setUp(self):
68
        self.GemRequirement = GemRequirement('ruby')
69
        self.GemRequirementBad = PipRequirement('some_bad_package')
70
71
    unittest.skipIf(gem_check(), "Ruby is not installed.")
72
73
    def test_InstalledRequirement(self):
74
        self.assertEqual(self.GemRequirement.is_installed(), True)
75
76
    unittest.skipIf(gem_check(), "Ruby is not installed.")
77
78
    def test_NotInstalledRequirement(self):
79
        self.assertEqual(self.GemRequirementBad.is_installed(), False)
80