|
@@ -1,13 +1,22 @@
|
1
|
1
|
# -*- coding: utf-8 -*-
|
2
|
2
|
import time
|
3
|
|
-from nose.tools import raises, ok_
|
|
3
|
+
|
|
4
|
+from nose.tools import ok_
|
|
5
|
+from nose.tools import raises
|
4
|
6
|
from sqlalchemy.sql.elements import and_
|
5
|
7
|
from sqlalchemy.testing import eq_
|
|
8
|
+from depot.fields.upload import UploadedFile
|
6
|
9
|
|
7
|
10
|
from tracim.lib.content import ContentApi
|
8
|
11
|
from tracim.lib.exception import ContentRevisionUpdateError
|
9
|
|
-from tracim.model import DBSession, User, Content, new_revision
|
10
|
|
-from tracim.model.data import ContentRevisionRO, Workspace, ActionDescription, ContentType
|
|
12
|
+from tracim.model import Content
|
|
13
|
+from tracim.model import DBSession
|
|
14
|
+from tracim.model import new_revision
|
|
15
|
+from tracim.model import User
|
|
16
|
+from tracim.model.data import ActionDescription
|
|
17
|
+from tracim.model.data import ContentRevisionRO
|
|
18
|
+from tracim.model.data import ContentType
|
|
19
|
+from tracim.model.data import Workspace
|
11
|
20
|
from tracim.tests import TestStandard
|
12
|
21
|
|
13
|
22
|
|
|
@@ -111,7 +120,7 @@ class TestContent(TestStandard):
|
111
|
120
|
revision_type=ActionDescription.CREATION,
|
112
|
121
|
is_deleted=False, # TODO: pk ?
|
113
|
122
|
is_archived=False, # TODO: pk ?
|
114
|
|
- #file_content=None, # TODO: pk ? (J'ai du mettre nullable=True)
|
|
123
|
+ # file_content=None, # TODO: pk ? (J'ai du mettre nullable=True)
|
115
|
124
|
)
|
116
|
125
|
|
117
|
126
|
eq_(1, DBSession.query(ContentRevisionRO).filter(ContentRevisionRO.label == 'TEST_CONTENT_1').count())
|
|
@@ -163,9 +172,42 @@ class TestContent(TestStandard):
|
163
|
172
|
|
164
|
173
|
return created_content
|
165
|
174
|
|
|
175
|
+ def _get_user(self):
|
|
176
|
+ email = 'admin@admin.admin'
|
|
177
|
+ user_query = DBSession.query(User)
|
|
178
|
+ user_filter = user_query.filter(User.email == email)
|
|
179
|
+ user = user_filter.one()
|
|
180
|
+ return user
|
|
181
|
+
|
166
|
182
|
def _create_content(self, *args, **kwargs):
|
167
|
183
|
content = Content(*args, **kwargs)
|
168
|
184
|
DBSession.add(content)
|
169
|
185
|
DBSession.flush()
|
|
186
|
+ return content
|
170
|
187
|
|
|
188
|
+ def _create_content_from_nothing(self):
|
|
189
|
+ user_admin = self._get_user()
|
|
190
|
+ workspace = Workspace(label="TEST_WORKSPACE_1")
|
|
191
|
+ content = self._create_content(
|
|
192
|
+ owner=user_admin,
|
|
193
|
+ workspace=workspace,
|
|
194
|
+ type=ContentType.File,
|
|
195
|
+ label='TEST_CONTENT_1',
|
|
196
|
+ description='TEST_CONTENT_DESCRIPTION_1',
|
|
197
|
+ revision_type=ActionDescription.CREATION,
|
|
198
|
+ )
|
171
|
199
|
return content
|
|
200
|
+
|
|
201
|
+ def test_unit__content_depot_file_uid(self):
|
|
202
|
+ """ Depot file access thought content property methods. """
|
|
203
|
+ content = self._create_content_from_nothing()
|
|
204
|
+ # tests uninitialized depot file
|
|
205
|
+ eq_(content.depot_file_uid, None)
|
|
206
|
+ # initializes depot file
|
|
207
|
+ content.depot_file_uid = b'test'
|
|
208
|
+ # tests initialized depot file
|
|
209
|
+ ok_(content.depot_file_uid)
|
|
210
|
+ # tests type of initialized depot file
|
|
211
|
+ eq_(type(content.depot_file_uid), UploadedFile)
|
|
212
|
+ # tests content of initialized depot file
|
|
213
|
+ eq_(content.depot_file_uid.file.read(), b'test')
|