tests.py
4.28 KB
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
from django.test import TestCase
from pyrosapp.models import *
from django.contrib.auth.models import User
from django.utils import timezone
class CountryTests(TestCase):
def test_creation(self):
Country.objects.create(name="France", desc="Test", quota=1)
france = Country.objects.get(name="France")
self.assertEqual(france.name, "France")
self.assertEqual(france.desc, "Test")
self.assertEqual(france.quota, 1)
france.quota = -1
france.delete()
france.save()
Country.objects.create(name="Mexique")
countries = Country.objects.all()
self.assertEqual(countries.count(), 2)
countries[0].name = "Toto"
countries[0].save()
class DeviceTests(TestCase):
def test_creation(self):
device = Device.objects.create()
countries = Country.objects.all()
self.assertEqual(countries.count(), 0, "perdu !")
class RequestTests(TestCase):
def setUp(self):
strat1 = StrategyObs.objects.create(name="strat1")
france = Country.objects.create(name="France")
admin = UserLevel.objects.create(name="Admin")
usr1 = User.objects.create(username="Haribo")
haribo = PyrosUser.objects.create(
user=usr1, country=france, user_level=admin)
sp1 = ScientificProgram.objects.create(name="sp1")
req1 = Request.objects.create(
name="req1", pyros_user=haribo, scientific_program=sp1)
Alert.objects.create(strategyobs=strat1, request=req1)
sched = Schedule.objects.create()
seq1 = Sequence.objects.create(
name="seq1", request=req1)
dev_tel = Device.objects.create(name="telescope")
dev_det = Device.objects.create(name="detector")
tel = Telescope.objects.create(device=dev_tel)
det = Detector.objects.create(device=dev_det, telescope=tel)
alb1 = Album.objects.create(name="alb1", sequence=seq1, detector=det)
dev_fil = Device.objects.create(name="filter")
fil = Filter.objects.create(device=dev_fil, detector=det)
plan1 = Plan.objects.create(name="plan1", album=alb1, filter=fil)
img1 = Image.objects.create(name="img1", plan=plan1)
img2 = Image.objects.create(name="img2", plan=plan1)
def test_request_access(self):
alert = Alert.objects.get()
self.assertEqual(alert.request.name, "req1")
req1 = Request.objects.get(name="req1")
req1.name = "reqtiti"
req1.save()
# j'ai saved req1, pourtant alert1.request.name est toujours le même
self.assertEqual(alert.request.name, "req1")
alert = Alert.objects.get()
# j'ai refait un get de mon alert, donc c'est mis à jour
self.assertEqual(alert.request.name, "reqtiti")
alert.request.name = "reqtoto"
alert.save()
self.assertEqual(req1.name, "reqtiti")
self.assertEqual(alert.request.name, "reqtoto")
req1 = Request.objects.get()
self.assertEqual(req1.name, "reqtiti")
alert.request.save()
req1 = Request.objects.get()
self.assertEqual(req1.name, "reqtoto")
def test_reinit_base(self):
req1 = Request.objects.get()
self.assertEqual(req1.name, "req1")
def test_full_request(self):
req1 = Request.objects.get()
self.assertEqual(req1.sequences.count(), 1)
albums = req1.sequences.all()[0].albums
self.assertEqual(albums.count(), 1)
images = albums.all()[0].plans.all()[0].images
self.assertEqual(images.count(), 2)
img1 = images.get(name="img1")
img1.name = "img1.1"
img11 = req1.sequences.get().albums.get().plans.get().images.get(
name="img1") # j'ai toujours pas sauvegardé mon image
img1.save()
img11 = req1.sequences.get().albums.get().plans.get().images.get(
name="img1.1") # j'ai sauvegardé mon image
req1 = Request.objects.get()
img1 = req1.sequences.get().albums.get().plans.get().images.get(
name="img1.1")
img11 = Image.objects.get(name="img1.1")
img11.name = "img1.2"
img11.save()
self.assertEqual(img1.name, "img1.1") # img1 et img11 sont différents
img1 = req1.sequences.get().albums.get().plans.get().images.get(
name="img1.2")