/
base.py
72 lines (62 loc) · 2.28 KB
/
base.py
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
import os
from django.core.cache import cache
from django.core.files.base import ContentFile
from django.contrib.auth.models import User
from django.test import TestCase
from openPLM.plmapp.models import GroupInfo, DocumentFile
from openPLM.plmapp.controllers import PLMObjectController
class BaseTestCase(TestCase):
CONTROLLER = PLMObjectController
TYPE = "Part"
DATA = {}
def setUp(self):
self.cie = User.objects.create(username="company")
p = self.cie.profile
p.is_contributor = True
p.save()
self.leading_group = GroupInfo.objects.create(name="leading_group",
owner=self.cie, creator=self.cie)
self.cie.groups.add(self.leading_group)
self.user = User(username="John")
self.user.set_password("password")
self.user.email = "test@example.net"
self.user.save()
self.user.profile.is_contributor = True
self.user.profile.save()
self.group = GroupInfo(name="grp", owner=self.user, creator=self.user,
description="grp")
self.group.save()
self.user.groups.add(self.group)
self.DATA["group"] = self.group
def get_contributor(self, username="user2"):
""" Returns a new contributor"""
user = User(username=username)
user.save()
user.profile.is_contributor = True
user.profile.save()
user.groups.add(self.group)
return user
def get_publisher(self, username="publisher"):
""" Returns a new contributor"""
user = User(username=username)
user.save()
user.profile.can_publish = True
user.profile.save()
user.groups.add(self.group)
return user
def create(self, ref="Part1", type=None):
return self.CONTROLLER.create(ref, type or self.TYPE, "a", self.user, self.DATA)
def get_file(self, name="temp.test", data="data"):
f = ContentFile(data)
f.name = name
return f
def tearDown(self):
cache.clear()
from haystack import backend
backend.SearchBackend.inmemory_db = None
super(BaseTestCase, self).tearDown()
for df in DocumentFile.objects.all():
try:
os.remove(df.file.path)
except (IOError, OSError):
pass