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_fw = Device.objects.create(name="fw") fw = FilterWheel.objects.create(device=dev_fw) dev_fil = Device.objects.create(name="filter") fil = Filter.objects.create(device=dev_fil, filter_wheel=fw) 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")