refactor with buildout
[sigmawcs.git] / project / wcs / tests.py
1 # -=- encoding: utf-8 -=-
2
3 from wcs.settings import FORMNAME
4
5 from lib import getCandidaturesJson, createPdf, createZip
6 from models import JsonWcs2JsonSigma, JsonSigma2ObjectSigma
7
8 # MAIN
9 if __name__ == "__main__":
10 """
11 bin/django shell # python manage.py shell
12 >>> cd wcs
13 >>> run tests.py
14 """
15
16 # json WCS
17 candidatures = getCandidaturesJson()
18 nombre = len(candidatures)
19 spams = 0
20 traites = 0
21
22 # rapport : header
23 print 'IMPORT CANDIDATURES : WCS => json => SIGMA'
24 print 'Formulaire : %s' % FORMNAME
25 print '--------------------------------------------------'
26 print 'Nombre à traiter = %d' % (nombre)
27 print '--------------------------------------------------'
28
29 # TESTS
30 jj = JsonWcs2JsonSigma()
31 jo = JsonSigma2ObjectSigma()
32 # candidature = candidatures[3]
33 for candidature in candidatures :
34 if candidature['wcs_workflow_status'] == 'SPAM':
35 spams = spams + 1
36 else:
37 candidature = jj.mapper(candidature)
38 # json
39 candidature = jj.cleanup(candidature)
40 candidature = jj.convert(candidature)
41 # objets SIGMA
42 save = False
43 p = jo.createPersonne(candidature, save)
44 d = jo.createDossier(candidature, p, save)
45 do = jo.createDossierOrigine(candidature, d, save)
46 da = jo.createDossierAccueil(candidature, d, save)
47 dm = jo.createDossierMobilite(candidature, d, save)
48 pieces = jo.createDossierPieces(candidature, d, save)
49 save = True
50 p = jo.createPersonne(candidature, save)
51 d = jo.createDossier(candidature, p, save)
52 do = jo.createDossierOrigine(candidature, d, save)
53 da = jo.createDossierAccueil(candidature, d, save)
54 dm = jo.createDossierMobilite(candidature, d, save)
55 pieces = jo.createDossierPieces(candidature, d, save)
56 traites = traites + 1
57
58 # RÉSULTATS
59 if jj.convert_ok:
60 print 'OK : Test de conversion passé avec succès.'
61 else:
62 print 'ERREUR : Tests de conversion ont échoué pour les cas suivants :'
63 jj.convert_errors.sort()
64 for error in jj.convert_errors:
65 print error
66 print '--------------------------------------------------'
67 print 'ERREUR : %d erreurs lors de traitement' % len(jj.convert_errors)
68 if jo.creation_django_ok:
69 print 'Ok : Test de création des objets Django passé avec succès.'
70 if jo.creation_db_ok:
71 print 'Ok : Test de sauvegarde dans DB passé avec succès.'
72
73 # rapport : footer
74 print '--------------------------------------------------'
75 print 'Total spams = %d sur %d' % (spams, nombre)
76 print 'Total traités = %d sur %d' % (traites, nombre)
77 print 'Total = %d sur %d' % (spams + traites, nombre)
78 print '--------------------------------------------------'