Failed Conditions
Pull Request — master (#1487)
by Abdeali
01:42
created

coalib.tests.output.TaggingTest.setUp()   A

Complexity

Conditions 1

Size

Total Lines 2

Duplication

Lines 0
Ratio 0 %
Metric Value
cc 1
dl 0
loc 2
rs 10
1
import os
2
from pyprint.NullPrinter import NullPrinter
3
import unittest
4
5
from coalib.output.printers.LogPrinter import LogPrinter
6
from coalib.output.Tagging import (get_tag_path,
7
                                   tag_results,
8
                                   load_tagged_results,
9
                                   delete_tagged_results)
10
11
12
def raise_permission_error(*args, **kwargs):
13
    raise PermissionError
14
15
16
class TaggingTest(unittest.TestCase):
17
18
    def setUp(self):
19
        self.log_printer = LogPrinter(NullPrinter())
20
21
    def test_get_tag_path(self):
22
        self.assertEqual(get_tag_path("a", "b", self.log_printer),
23
                         get_tag_path("a", "b", self.log_printer))
24
        self.assertNotEqual(get_tag_path("a", "b", self.log_printer),
25
                            get_tag_path("a", "c", self.log_printer))
26
        self.assertNotEqual(get_tag_path("a", "b", self.log_printer),
27
                            get_tag_path("c", "b", self.log_printer))
28
29
    def test_tag_results(self):
30
        try:
31
            tag_results("test_tag", "test_path", {}, self.log_printer)
32
            results = load_tagged_results("test_tag",
33
                                          "test_path",
34
                                          self.log_printer)
35
            self.assertEqual(results, {})
36
        finally:
37
            delete_tagged_results("test_tag", "test_path", self.log_printer)
38
39
    def test_delete_tagged_results_no_file(self):
40
        delete_tagged_results("test_tag", "test_path", self.log_printer)
41
        self.assertFalse(os.path.exists(get_tag_path("test_tag",
42
                                                     "test_path",
43
                                                     self.log_printer)))
44
45
    def test_permission_error(self):
46
        old_makedirs = os.makedirs
47
        os.makedirs = raise_permission_error
48
49
        self.assertEqual(get_tag_path("a", "b", self.log_printer), None)
50
        tag_results("test_tag", "test_path", {}, self.log_printer)
51
        results = load_tagged_results("test_tag",
52
                                      "test_path",
53
                                      self.log_printer)
54
        self.assertEqual(results, None)
55
56
        os.makedirs = old_makedirs
57