GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — master ( fb7819...8bfa1a )
by thatsIch
01:13
created

test_existence_resource_folder()   A

Complexity

Conditions 1

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
1
"""This module is for testing installing skins via given folders"""
2
3
4
import os.path
5
import shutil
6
import sys
7
import tempfile
8
9
from unittest import TestCase
10
11
FOLDER_INSTALLER = sys.modules["Rainmeter.install.from_folder"]
12
SKIN_PATH_PROVIDER = sys.modules["Rainmeter.path.skin_path_provider"]
13
14
15
class TestFolderInstaller(TestCase):
16
    """Test for the levenshtein module using unittest."""
17
18
    def test_find_inis_correct_count(self):
19
        tests_folder = os.path.dirname(os.path.abspath(__file__))
20
        folder_path = os.path.join(tests_folder, "skin_folder")
21
22
        inis = FOLDER_INSTALLER.find_inis_in_folder(folder_path)
23
24
        self.assertEqual(len(inis), 8)
25
26
    def test_find_inis_exists(self):
27
        tests_folder = os.path.dirname(os.path.abspath(__file__))
28
        folder_path = os.path.join(tests_folder, "skin_folder")
29
30
        inis = FOLDER_INSTALLER.find_inis_in_folder(folder_path)
31
32
        for ini in inis:
33
            self.assertTrue(os.path.exists(ini))
34
35
    def test_find_skin_name_in_inis(self):
36
        tests_folder = os.path.dirname(os.path.abspath(__file__))
37
        folder_path = os.path.join(tests_folder, "skin_folder")
38
39
        inis = FOLDER_INSTALLER.find_inis_in_folder(folder_path)
40
        skin_name = FOLDER_INSTALLER.find_skin_name_in_inis(inis)
41
42
        self.assertEqual(skin_name, "BeatTime")
43
44
    def test_find_resources_folder(self):
45
        """Should find a resources folder."""
46
        tests_folder = os.path.dirname(os.path.abspath(__file__))
47
        folder_path = os.path.join(tests_folder, "skin_folder")
48
49
        maybe_resources_folder = FOLDER_INSTALLER.find_resources_folder_in_folder(folder_path)
50
51
        self.assertNotEqual(maybe_resources_folder, None)
52
53
    def test_existence_resource_folder(self):
54
        """Found folder should exist."""
55
        tests_folder = os.path.dirname(os.path.abspath(__file__))
56
        folder_path = os.path.join(tests_folder, "skin_folder")
57
58
        maybe_resources_folder = FOLDER_INSTALLER.find_resources_folder_in_folder(folder_path)
59
60
        self.assertTrue(os.path.exists(maybe_resources_folder))
61
62
    def test_common_path_exists(self):
63
        """Common path between inis exists."""
64
        tests_folder = os.path.dirname(os.path.abspath(__file__))
65
        folder_path = os.path.join(tests_folder, "skin_folder")
66
67
        inis = FOLDER_INSTALLER.find_inis_in_folder(folder_path)
68
        common_path = FOLDER_INSTALLER.common_path(inis)
69
        print(common_path)
70
71
        self.assertTrue(os.path.exists(common_path))
72
73
    def test_common_path_of_skin_exists(self):
74
        tests_folder = os.path.dirname(os.path.abspath(__file__))
75
        folder_path = os.path.join(tests_folder, "skin_folder")
76
77
        inis = FOLDER_INSTALLER.find_inis_in_folder(folder_path)
78
        resources = FOLDER_INSTALLER.find_resources_folders(folder_path)
79
80
        paths = list(inis)
81
        paths.extend(resources)
82
83
        common_path = FOLDER_INSTALLER.common_path(paths)
84
85
        self.assertTrue(os.path.exists(common_path))
86
87
    def test_install_into_skins_folder(self):
88
        tests_folder = os.path.dirname(os.path.abspath(__file__))
89
        folder_path = os.path.join(tests_folder, "skin_folder")
90
91
        # we need to make a temp copy first since we do not want to delete our original test data
92
        with tempfile.TemporaryDirectory() as temp_path:
93
            dst_path = os.path.join(temp_path, "skin_folder")
94
            shutil.copytree(folder_path, dst_path)
95
96
            actual_skin_path = FOLDER_INSTALLER.install_into_skins_folder(dst_path)
97
            self.assertTrue(os.path.isdir(actual_skin_path))
98
99
            skins_path = SKIN_PATH_PROVIDER.get_cached_skin_path()
100
            skin_path = os.path.join(skins_path, "BeatTime")
101
            skin_path_exists = os.path.exists(skin_path)
102
103
            self.assertEquals(actual_skin_path, skin_path)
104
105
            resources_path = os.path.join(skin_path, "@Resources")
106
            resources_path_exists = os.path.exists(resources_path)
107
108
            # cleanup
109
            shutil.rmtree(skin_path)
110
111
            self.assertTrue(skin_path_exists)
112
            self.assertTrue(resources_path_exists)
113
114 View Code Duplication
    def test_install_multi_skin_folder_into_skins_folder(self):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
115
        tests_folder = os.path.dirname(os.path.abspath(__file__))
116
        folder_path = os.path.join(tests_folder, "multi_skin_folder")
117
118
        # we need to make a temp copy first since we do not want to delete our original test data
119
        with tempfile.TemporaryDirectory() as temp_path:
120
            dst_path = os.path.join(temp_path, "multi_skin_folder")
121
            shutil.copytree(folder_path, dst_path)
122
123
            actual_skin_path = FOLDER_INSTALLER.install_into_skins_folder(dst_path)
124
            self.assertTrue(os.path.isdir(actual_skin_path))
125
126
            skins_path = SKIN_PATH_PROVIDER.get_cached_skin_path()
127
            skin_path = os.path.join(skins_path, "Miniml")
128
            skin_path_exists = os.path.exists(skin_path)
129
130
            self.assertEquals(actual_skin_path, skin_path)
131
132
            # cleanup
133
            shutil.rmtree(skin_path)
134
135
            self.assertTrue(skin_path_exists)
136
137 View Code Duplication
    def test_folder_already_exists_existing(self):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
138
        """
139
        Given
140
            installing a skin with name BeatTime from a folder
141
142
        Then
143
            checking after the installation if that skin already exists
144
145
        Should
146
            detect an already existing skin
147
        """
148
        tests_folder = os.path.dirname(os.path.abspath(__file__))
149
        folder_path = os.path.join(tests_folder, "skin_folder")
150
151
        # we need to make a temp copy first since we do not want to delete our original test data
152
        with tempfile.TemporaryDirectory() as temp_path:
153
            dst_path = os.path.join(temp_path, "skin_folder")
154
            shutil.copytree(folder_path, dst_path)
155
156
            actual_skin_path = FOLDER_INSTALLER.install_into_skins_folder(dst_path)
157
            self.assertTrue(len(actual_skin_path) > 0)
158
            self.assertTrue(os.path.isdir(actual_skin_path))
159
160
            skins_path = SKIN_PATH_PROVIDER.get_cached_skin_path()
161
            skin_path = os.path.join(skins_path, "BeatTime")
162
            skin_path_exists = FOLDER_INSTALLER.folder_already_exists(dst_path)
163
            self.assertEquals(actual_skin_path, skin_path)
164
165
            # cleanup the installed skin to make it reproduceable
166
            shutil.rmtree(skin_path)
167
168
            self.assertTrue(skin_path_exists)
169
170
    def test_folder_already_exists_not_existing(self):
171
        tests_folder = os.path.dirname(os.path.abspath(__file__))
172
        folder_path = os.path.join(tests_folder, "skin_folder")
173
174
        # we need to make a temp copy first since we do not want to delete our original test data
175
        with tempfile.TemporaryDirectory() as temp_path:
176
            dst_path = os.path.join(temp_path, "skin_folder")
177
            shutil.copytree(folder_path, dst_path)
178
179
            self.assertFalse(FOLDER_INSTALLER.folder_already_exists(dst_path))
180