File: tests_workdir.py

package info (click to toggle)
paperwork 2.2.5-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 166,660 kB
  • sloc: python: 44,775; makefile: 992; sh: 625; xml: 135
file content (167 lines) | stat: -rw-r--r-- 5,387 bytes parent folder | download | duplicates (2)
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
import datetime
import unittest

import openpaperwork_core


class TestWorkdir(unittest.TestCase):
    def setUp(self):
        self.core = openpaperwork_core.Core(auto_load_dependencies=True)
        self.core.load("openpaperwork_core.config.fake")
        self.core.load("openpaperwork_core.fs.fake")
        self.core.load("paperwork_backend.model.img")
        self.core.load("paperwork_backend.model.workdir")
        self.core.init()

        self.config = self.core.get_by_name("openpaperwork_core.config.fake")
        self.config.settings = {
            "workdir": "file:///some_work_dir"
        }
        self.fs = self.core.get_by_name("openpaperwork_core.fs.fake")

    def test_storage_get_all_docs(self):
        self.fs.fs = {
            "some_work_dir": {
                "some_doc_a": {
                    "paper.1.jpg": "put_an_image_here",
                    "paper.2.jpg": "put_an_image_here",
                },
                "some_doc_b": {
                    "paper.1.jpg": "put_an_image_here",
                    "paper.2.jpg": "put_an_image_here",
                },
            },
        }

        all_docs = []
        self.core.call_success("storage_get_all_docs", all_docs)
        all_docs.sort()
        self.assertEqual(
            all_docs,
            [
                ("some_doc_a", "file:///some_work_dir/some_doc_a"),
                ("some_doc_b", "file:///some_work_dir/some_doc_b"),
            ]
        )

    def test_storage_get_new_doc(self):
        def now():
            return datetime.datetime(
                year=2019, month=9, day=4, hour=13, minute=27, second=10
            )

        self.fs.fs = {
            "some_work_dir": {
                "20191010_1327_10": {
                    "paper.1.jpg": "put_an_image_here",
                    "paper.2.jpg": "put_an_image_here",
                },
                "20191010_1327_10_1": {
                    "doc.pdf": "put_a_pdf_here",
                },
            },
        }

        (doc_id, doc_url) = self.core.call_success(
            "storage_get_new_doc", now_func=now
        )
        self.assertEqual(doc_id, "20190904_1327_10")
        self.assertEqual(doc_url, "file:///some_work_dir/20190904_1327_10")

    def test_storage_get_new_doc_2(self):
        def now():
            return datetime.datetime(
                year=2019, month=9, day=4, hour=13, minute=27, second=10
            )

        self.fs.fs = {
            "some_work_dir": {
                "20190904_1327_10": {
                    "paper.1.jpg": "put_an_image_here",
                    "paper.2.jpg": "put_an_image_here",
                },
                "20190904_1327_10_1": {
                    "doc.pdf": "put_a_pdf_here",
                },
            },
        }

        (doc_id, doc_url) = self.core.call_success(
            "storage_get_new_doc", now_func=now
        )
        self.assertEqual(doc_id, "20190904_1327_10_2")
        self.assertEqual(doc_url, "file:///some_work_dir/20190904_1327_10_2")

    def test_rename(self):
        self.fs.fs = {
            "some_work_dir": {
                "20190904_1327_10": {
                    "paper.1.jpg": "put_an_image_here",
                    "paper.2.jpg": "put_an_image_here",
                },
                "20190910_1328_10_1": {
                    "doc.pdf": "put_a_pdf_here",
                },
            },
        }

        self.core.call_all(
            "doc_rename_by_url",
            "file:///some_work_dir/20190910_1328_10_1",
            "file:///some_work_dir/20200508_2002_25"
        )

        self.assertEqual(
            self.fs.fs, {
                "some_work_dir": {
                    "20190904_1327_10": {
                        "paper.1.jpg": "put_an_image_here",
                        "paper.2.jpg": "put_an_image_here",
                    },
                    "20200508_2002_25": {
                        "doc.pdf": "put_a_pdf_here",
                    },
                }
            }
        )

    def test_rename2(self):
        self.fs.fs = {
            "some_work_dir": {
                "20190904_1327_10": {
                    "paper.1.jpg": "put_an_image_here",
                    "paper.2.jpg": "put_an_image_here",
                },
                "20190904_1327_10_1": {
                    "paper.1.jpg": "put_an_image_here",
                    "paper.2.jpg": "put_an_image_here",
                },
                "20190910_1328_10_1": {
                    "doc.pdf": "put_a_pdf_here",
                },
            },
        }

        self.core.call_all(
            "doc_rename_by_url",
            "file:///some_work_dir/20190910_1328_10_1",
            "file:///some_work_dir/20190904_1327_10"
        )

        self.assertEqual(
            self.fs.fs, {
                "some_work_dir": {
                    "20190904_1327_10": {
                        "paper.1.jpg": "put_an_image_here",
                        "paper.2.jpg": "put_an_image_here",
                    },
                    "20190904_1327_10_1": {
                        "paper.1.jpg": "put_an_image_here",
                        "paper.2.jpg": "put_an_image_here",
                    },
                    "20190904_1327_10_2": {
                        "doc.pdf": "put_a_pdf_here",
                    },
                }
            }
        )