Package sapproject :: Module tests
[hide private]
[frames] | no frames]

Source Code for Module sapproject.tests

  1  import unittest 
  2  import transaction 
  3  from pyramid import testing 
  4   
  5  from sqlalchemy import * 
  6  from models.security import * 
  7  from models import * 
  8   
9 -def _initTestingDB():
10 from sqlalchemy import create_engine 11 engine = create_engine('postgresql://sap:12345@localhost:5432/sapdb') 12 Base.metadata.create_all(engine) 13 DBSession.configure(bind=engine) 14 return DBSession
15 16 # PRUEBAS PARA MAIN 17
18 -class TestMain(unittest.TestCase):
19 - def setUp(self):
20 from sapproject import main 21 settings = { 'sqlalchemy.url': 'postgresql://sap:12345@localhost:5432/sapdb'} 22 app = main({}, **settings) 23 from webtest import TestApp 24 self.testapp = TestApp(app) 25 _initTestingDB()
26
27 - def tearDown(self):
28 del self.testapp 29 DBSession.remove()
30
31 - def test_home(self):
32 res = self.testapp.get('/',{},status=302) 33 assert res.status_int == 302
34
35 - def test_main(self):
36 print '\nCASO DE USO: MENU PRINCIPAL' 37 print 'accediendo a /main' 38 res = self.testapp.get('/main',{},status=200) 39 assert res.status_int == 200 40 print 'Ok' 41 print '----------------------------------------\n'
42
44 print '\nTEST: CONTROL DE ACCESO AL SISTEMA' 45 print 'accediendo como usuario: admin, password: admin' 46 self.testapp.get('/login_check', {'name':'admin','password':'admin'},status=200) 47 print 'llenando lista de proyectos asignados' 48 res = self.testapp.get('/llenar_combo_proyecto',{},status=200) 49 assert res.status_int == 200 50 print 'Ok' 51 print '----------------------------------------\n'
52 53 # PRUEBAS PARA LOGIN 54
55 -class TestLogin(unittest.TestCase):
56 - def setUp(self):
57 from sapproject import main 58 settings = { 'sqlalchemy.url': 'postgresql://sap:12345@localhost:5432/sapdb'} 59 app = main({}, **settings) 60 from webtest import TestApp 61 self.testapp = TestApp(app) 62 _initTestingDB()
63
64 - def tearDown(self):
65 del self.testapp 66 DBSession.remove()
67
68 - def test_login(self):
69 print '\nCASO DE USO: ACCESO AL SISTEMA' 70 print 'accediendo como usuario: admin, password: admin' 71 res = self.testapp.get('/login_check', {'name':'admin','password':'admin'},status=200) 72 print 'comprobando que el usuario existe' 73 usuario = DBSession.query(Usuario).filter_by(nick='admin',password='admin').first() 74 self.assertTrue(usuario,msg='El usuario no existe') 75 assert res.status_int == 200 76 print 'Ok' 77 print '----------------------------------------\n'
78 79 # PRUEBAS PARA LOGOUT 80
81 -class TestLogout(unittest.TestCase):
82 - def setUp(self):
83 from sapproject import main 84 settings = { 'sqlalchemy.url': 'postgresql://sap:12345@localhost:5432/sapdb'} 85 app = main({}, **settings) 86 from webtest import TestApp 87 self.testapp = TestApp(app) 88 _initTestingDB()
89
90 - def tearDown(self):
91 del self.testapp 92 DBSession.remove()
93
94 - def test_logout(self):
95 print '\nCASO DE USO: SALIR DEL SISTEMA' 96 print 'deslogueando del sistema' 97 res = self.testapp.get('/logout',{},status=302) 98 print 'comprobando redireccion al home' 99 self.assertEqual(res.location, 'http://localhost/') 100 assert res.status_int == 302 101 print 'Ok' 102 print '----------------------------------------\n'
103 104 # PRUEBAS PARA PERMISO 105
106 -class TestPermiso(unittest.TestCase):
107 - def setUp(self):
108 from sapproject import main 109 settings = { 'sqlalchemy.url': 'postgresql://sap:12345@localhost:5432/sapdb'} 110 app = main({}, **settings) 111 from webtest import TestApp 112 self.testapp = TestApp(app) 113 _initTestingDB()
114
115 - def tearDown(self):
116 del self.testapp 117 DBSession.remove()
118
119 - def test_crear(self):
120 print '\nCASO DE USO: CREAR PERMISO' 121 print 'creando permiso...' 122 print ' - nombre : permiso_test' 123 print ' - descripcion: descripcion_test' 124 print ' - accion: us:cr' 125 res = self.testapp.get('/crear_permiso',{'nombre':'permiso_test','descripcion':'permiso_test','accion':'us:cr', 'codificacion':'us:cr'},status=200) 126 print 'comprobando que el permiso ha sido creado' 127 permiso = DBSession.query(Permiso).filter_by(nombre='permiso_test').first() 128 self.assertTrue(permiso,msg='El permiso no existe') 129 assert res.status_int == 200 130 print 'Ok' 131 print '----------------------------------------\n'
132
133 - def test_modificar(self):
134 print '\nCASO DE USO: MODIFICAR PERMISO' 135 print 'modificando permiso...' 136 print ' - id: 1' 137 print ' - nombre : permiso_test -> permiso_test2' 138 print ' - descripcion: permiso_test -> permiso_test2' 139 print ' - accion: us:cr -> us:mo' 140 res = self.testapp.get('/modificar_permiso',{'id':'1','nombre':'permiso_test2','descripcion':'permiso_test2','accion':'us:cr','codificacion':'us:mo'},status=200) 141 print 'comprobando cambio en el nombre del permiso' 142 permiso = DBSession.query(Permiso).filter_by(id='1').first() 143 self.assertEqual(permiso.nombre, 'permiso_test2') 144 assert res.status_int == 200 145 print 'Ok' 146 print '----------------------------------------\n'
147
148 - def test_eliminar(self):
149 print '\nCASO DE USO: ELIMINAR PERMISO' 150 print 'eliminando permiso con id : 10' 151 res = self.testapp.get('/eliminar_permiso',{'id':'10'},status=200) 152 print 'comprobando que el permiso no exista' 153 permiso = DBSession.query(Permiso).filter_by(id='10').first() 154 self.assertEqual(permiso, None) 155 assert res.status_int == 200 156 print 'Ok' 157 print '----------------------------------------\n'
158
160 print '\nCASO DE USO: CONSULTAR PERMISO (Sin filtros)' 161 print 'obteniendo lista de todos los permisos' 162 res = self.testapp.get('/consultar_permiso',{},status=200) 163 assert res.status_int == 200 164 print 'Ok' 165 print '----------------------------------------\n'
166
167 - def test_cosultar_filtrado(self):
168 print '\nCASO DE USO: CONSULTAR PERMISO (Con filtros)' 169 print 'obteniendo lista de todos los permisos con id = 1' 170 res = self.testapp.get('/consultar_permiso',{'filtro':'id', 'valor':'1'},status=200) 171 assert res.status_int == 200 172 print 'Ok' 173 print '----------------------------------------\n'
174
176 print '\nTES: CONSULTA ACCIONES DE PERMISOS POR ROL' 177 print 'creando rol prueba...' 178 print ' - nombre : rol_test' 179 print ' - descripcion: rol_test' 180 self.testapp.get('/crear_rol',{'nombre':'rol_test','descripcion':'rol_test'},status=200) 181 print 'obteniendo lista de acciones' 182 res = self.testapp.get('/consulta_acciones',{'rol':'rol_test'},status=200) 183 assert res.status_int == 200 184 print 'Ok' 185 print '----------------------------------------\n'
186
188 print '\nTEST: CONSULTA PERMISOS ASIGNADOS/ASIGNABLES POR ROL' 189 print 'obteniendo lista de permisos asignados/asignables al rol con id=1' 190 # res = self.testapp.get('/consulta_acciones',{'id':'1'},status=200) 191 # assert res.status_int == 200 192 print 'Ok' 193 print '----------------------------------------\n'
194
196 print '\nCASO DE USO: ASIGNAR/DESASIGNAR PERMISO A ROL' 197 print 'creando rol prueba...' 198 print ' - nombre : rol_test' 199 print ' - descripcion: rol_test' 200 self.testapp.get('/crear_rol',{'nombre':'rol_test','descripcion':'rol_test'},status=200) 201 print 'asignando permiso con id = 1' 202 # res = self.testapp.get('/asignar_desasignar_permiso',{'id_rol':'1','data':[1,2]},status=200) 203 # assert res.status_int == 200 204 print 'Ok' 205 print '----------------------------------------\n'
206
208 print '\nTEST: CONSULTAR PERMISOS ASIGNADOS POR ROL' 209 print 'creando rol prueba...' 210 print ' - nombre : rol_test' 211 print ' - descripcion: rol_test' 212 self.testapp.get('/crear_rol',{'nombre':'rol_test','descripcion':'rol_test'},status=200) 213 print 'consultando permisos asignados para rol con id = 1' 214 res = self.testapp.get('/consulta_permiso_x_rol',{'id_rol':'1'},status=200) 215 assert res.status_int == 200 216 print 'Ok' 217 print '----------------------------------------\n'
218 219 # PRUEBAS PARA PROYECTO 220
221 -class TestProyecto(unittest.TestCase):
222 - def setUp(self):
223 from sapproject import main 224 settings = { 'sqlalchemy.url': 'postgresql://sap:12345@localhost:5432/sapdb'} 225 app = main({}, **settings) 226 from webtest import TestApp 227 self.testapp = TestApp(app) 228 _initTestingDB()
229
230 - def tearDown(self):
231 del self.testapp 232 DBSession.remove()
233
234 - def test_crear(self):
235 print '\nCASO DE USO: CREAR PROYECTO' 236 print 'creando proyecto ...' 237 print ' - nombre: proyecto_test' 238 print ' - descripcion: proyecto_test' 239 print ' - fechainicio: 1/1/1', 240 print ' - fechafin: 2/2/2', 241 print ' - estado: proyecto_test', 242 print ' - observaciones: proyecto_test' 243 res = self.testapp.get('/crear_proyecto',{'nombre':'proyecto_test','descripcion':'proyecto_test','fechainicio':'1/1/1/','fechafin':'2/2/2','estado':'proyecto_test','observaciones':'proyecto_test'},status=200) 244 print 'comprobando que el proyecto exista' 245 proyecto = DBSession.query(Proyecto).filter_by(nombre='proyecto_test').first() 246 self.assertTrue(proyecto,msg='El proyecto no existe') 247 assert res.status_int == 200 248 print 'Ok' 249 print '----------------------------------------\n'
250
251 - def test_modificar(self):
252 print '\nCASO DE USO: MODIFICAR PROYECTO' 253 print 'modificando proyecto ...' 254 print ' - id: 1' 255 print ' - nombre: proyecto_test -> proyecto_test2' 256 print ' - descripcion: proyecto_test' 257 print ' - fechainicio: 1/1/1', 258 print ' - fechafin: 2/2/2', 259 print ' - estado: proyecto_test', 260 print ' - observaciones: proyecto_test' 261 res = self.testapp.get('/modificar_proyecto',{'id':'1','nombre':'proyecto_test2','descripcion':'proyecto_test','fechainicio':'1/1/1/','fechafin':'2/2/2','estado':'proyecto_test','observaciones':'proyecto_test'},status=200) 262 print 'comprobando modificacion de proyecto' 263 proyecto = DBSession.query(Proyecto).filter_by(id='1').first() 264 self.assertEqual(proyecto.nombre, 'proyecto_test2') 265 assert res.status_int == 200 266 print 'Ok' 267 print '----------------------------------------\n'
268
269 - def test_eliminar(self):
270 print '\nCASO DE USO: ELIMINAR PROYECTO' 271 print 'eliminando proyecto con id = 10' 272 res = self.testapp.get('/eliminar_proyecto',{'id':'10'},status=200) 273 print 'comprobando que el proyecto no exista' 274 proyecto = DBSession.query(Proyecto).filter_by(id='10').first() 275 self.assertEqual(proyecto, None) 276 assert res.status_int == 200 277 print 'Ok' 278 print '----------------------------------------\n'
279
281 print '\nCASO DE USO: CONSULTAR PROYECTOS (Sin filtros)' 282 print 'obteniendo lista de proyectos' 283 res = self.testapp.get('/consultar_proyecto',{},status=200) 284 assert res.status_int == 200 285 print 'Ok' 286 print '----------------------------------------\n'
287
288 - def test_cosultar_filtrado(self):
289 print '\nCASO DE USO: CONSULTAR PROYECTOS (Con filtros)' 290 print 'obteniendo lista de proyectos con id = 1' 291 res = self.testapp.get('/consultar_proyecto',{'filtro':'id', 'valor':'1'},status=200) 292 assert res.status_int == 200 293 print 'Ok' 294 print '----------------------------------------\n'
295
296 - def test_asignar_usuario_rol(self):
297 print '\nCASO DE USO: ASIGNAR USUARIO A PROYECTO' 298 print 'creando proyecto de prueba' 299 self.testapp.get('/crear_proyecto',{'nombre':'proyecto_test','descripcion':'proyecto_test','fechainicio':'1/1/1/','fechafin':'2/2/2','estado':'proyecto_test','observaciones':'proyecto_test'},status=200) 300 print 'asignando usuario con id=1 bajo el rol con id=1' 301 # res = self.testapp.get('/asignar_usuario_rol_proyecto',{'id_proyecto':'1','id_usuario':'1','id_roles':['1']},status=200) 302 # assert res.status_int == 200 303 print 'Ok' 304 print '----------------------------------------\n'
305
307 print '\nCASO DE USO: DESASIGNAR USUARIO A PROYECTO' 308 print 'creando proyecto de prueba' 309 self.testapp.get('/crear_proyecto',{'nombre':'proyecto_test','descripcion':'proyecto_test','fechainicio':'1/1/1/','fechafin':'2/2/2','estado':'proyecto_test','observaciones':'proyecto_test'},status=200) 310 print 'desasignando usuario con id=1 bajo el rol con id=1' 311 res = self.testapp.get('/desasignar_usuario_rol_proyecto',{'id_proyecto':'1','id_usuario':'1','proyecto_actual':'proyecto_test'},status=200) 312 assert res.status_int == 200 313 print 'Ok' 314 print '----------------------------------------\n'
315 316 # PRUEBAS PARA ROL 317
318 -class TestRol(unittest.TestCase):
319 - def setUp(self):
320 from sapproject import main 321 settings = { 'sqlalchemy.url': 'postgresql://sap:12345@localhost:5432/sapdb'} 322 app = main({}, **settings) 323 from webtest import TestApp 324 self.testapp = TestApp(app) 325 _initTestingDB()
326
327 - def tearDown(self):
328 del self.testapp 329 DBSession.remove()
330
331 - def test_crear(self):
332 print '\nCASO DE USO: CREAR ROL' 333 print 'creando rol...' 334 print ' - nombre: rol_test' 335 print ' - descripcion: rol_test' 336 res = self.testapp.get('/crear_rol',{'nombre':'rol_test','descripcion':'rol_test'},status=200) 337 print 'comprobando que el rol exista' 338 rol = DBSession.query(Rol).filter_by(nombre='rol_test').first() 339 self.assertTrue(rol,msg='El rol no existe') 340 assert res.status_int == 200 341 print 'Ok' 342 print '----------------------------------------\n'
343
344 - def test_modificar(self):
345 print '\nCASO DE USO: MODIFICAR ROL' 346 print 'creando rol...' 347 print ' - id: 1' 348 print ' - nombre: rol_test -> rol_test2' 349 print ' - descripcion: rol_test' 350 res = self.testapp.get('/modificar_rol',{'id':'1','nombre':'rol_test2','descripcion':'rol_test'},status=200) 351 print 'comprobando la modificaicon del rol' 352 rol = DBSession.query(Rol).filter_by(id='1').first() 353 self.assertEqual(rol.nombre, 'rol_test2') 354 assert res.status_int == 200 355 print 'Ok' 356 print '----------------------------------------\n'
357
358 - def test_eliminar(self):
359 print '\nCASO DE USO: ELIMINAR ROL' 360 print 'eliminando rol con id = 10' 361 res = self.testapp.get('/eliminar_rol',{'id':'10'},status=200) 362 print 'comprobando que el rol no exista' 363 rol = DBSession.query(Rol).filter_by(id='10').first() 364 self.assertEqual(rol, None) 365 assert res.status_int == 200 366 print 'Ok' 367 print '----------------------------------------\n'
368
370 print '\nCASO DE USO: CONSULTAR ROLES (Sin filtros)' 371 print 'obteniendo lista de roles' 372 res = self.testapp.get('/consultar_rol',{},status=200) 373 assert res.status_int == 200 374 print 'Ok' 375 print '----------------------------------------\n'
376
377 - def test_cosultar_filtrado(self):
378 print '\nCASO DE USO: CONSULTAR ROLES (Con filtros)' 379 print 'obteniendo lista de roles con id = 1' 380 res = self.testapp.get('/consultar_rol',{'filtro':'id', 'valor':'1'},status=200) 381 assert res.status_int == 200 382 print 'Ok' 383 print '----------------------------------------\n'
384
386 print '\nTEST: CONSULTA ROLES ASIGNADOS/ASIGNABLES POR USUARIO' 387 print 'obteniendo lista de roles asignados/asignables al usuario con id=1' 388 # res = self.testapp.get('/consulta_asignar_roles',{'id':'1'},status=200) 389 # assert res.status_int == 200 390 print 'Ok' 391 print '----------------------------------------\n'
392
394 print '\nCASO DE USO: ASIGNAR/DESASIGNAR ROL A USUARIO' 395 print 'creando usuario...' 396 print ' - ci: 1' 397 print ' - nombres: usuario_test' 398 print ' - nick: usuario_test' 399 print ' - password: usuario_test' 400 print ' - direccion: usuario_test' 401 print ' - observaciones: usuario_test' 402 res = self.testapp.get('/crear_usuario',{'ci':'1','nombres':'usuario_test','apellidos':'usuario_test','fechanac':'1/1/1','sexo':'m','nick':'usuario_test','password':'usuario_test','email':'usuario_test','telefono':'1','direccion':'usuario_test','observaciones':'usuario_test'},status=200) 403 print 'asignando rol con id=1 al usuario' 404 # res = self.testapp.get('/asignar_desasignar_rol',{'data':{'id_usuario':'1', 'data':['1']}},status=200) 405 # assert res.status_int == 200 406 print 'Ok' 407 print '----------------------------------------\n'
408
410 print '\nTEST: CONSULTAR ROLES ASIGNADOS POR USUARIO' 411 print 'consultando roles asignados para usuario con id = 1' 412 # res = self.testapp.get('/consulta_rol_x_usuario',{'id_usuario':'1'},status=200) 413 # assert res.status_int == 200 414 print 'Ok' 415 print '----------------------------------------\n'
416 417 # PRUEBAS PARA USUARIO
418 -class TestUsuario(unittest.TestCase):
419 - def setUp(self):
420 from sapproject import main 421 settings = { 'sqlalchemy.url': 'postgresql://sap:12345@localhost:5432/sapdb'} 422 app = main({}, **settings) 423 from webtest import TestApp 424 self.testapp = TestApp(app) 425 _initTestingDB()
426
427 - def tearDown(self):
428 del self.testapp 429 DBSession.remove()
430
431 - def test_crear(self):
432 print '\nCASO DE USO: CREAR USUARIO' 433 print 'creando usuario...' 434 print ' - ci: 1' 435 print ' - nombres: usuario_test' 436 print ' - nick: usuario_test' 437 print ' - password: usuario_test' 438 print ' - direccion: usuario_test' 439 print ' - observaciones: usuario_test' 440 res = self.testapp.get('/crear_usuario',{'ci':'1','nombres':'usuario_test','apellidos':'usuario_test','fechanac':'1/1/1','sexo':'m','nick':'usuario_test','password':'usuario_test','email':'usuario_test','telefono':'1','direccion':'usuario_test','observaciones':'usuario_test'},status=200) 441 print 'comprobando que el usuario exista' 442 usuario = DBSession.query(Usuario).filter_by(ci=1).first() 443 self.assertTrue(usuario,msg='El usuario no existe') 444 assert res.status_int == 200 445 print 'Ok' 446 print '----------------------------------------\n'
447
448 - def test_modificar(self):
449 print '\nCASO DE USO: MODIFICAR USUARIO' 450 print 'modificar usuario...' 451 print ' - ci: 1' 452 print ' - nombres: usuario_test -> usuario_test2' 453 print ' - nick: usuario_test -> usuario_test2' 454 print ' - password: usuario_test' 455 print ' - direccion: usuario_test' 456 print ' - observaciones: usuario_test' 457 res = self.testapp.get('/modificar_usuario',{'id':'1','ci':'1','nombres':'usuario_test2','apellidos':'usuario_test','fechanac':'1/1/1','sexo':'m','nick':'usuario_test2','password':'usuario_test','email':'usuario_test','telefono':'1','direccion':'usuario_test','observaciones':'usuario_test'},status=200) 458 print 'comprobando modificaciones en el usuario' 459 usuario = DBSession.query(Usuario).filter_by(id='1').first() 460 self.assertEqual(usuario.nombres, 'usuario_test2') 461 assert res.status_int == 200 462 print 'Ok' 463 print '----------------------------------------\n'
464
465 - def test_eliminar(self):
466 print '\nCASO DE USO: ELIMINAR USUARIO' 467 print 'eliminando usuario con id = 10' 468 res = self.testapp.get('/eliminar_usuario',{'id':'10'},status=200) 469 print 'comprobando que el usuario no exista' 470 usuario = DBSession.query(Usuario).filter_by(id='10').first() 471 self.assertEqual(usuario, None) 472 assert res.status_int == 200 473 print 'Ok' 474 print '----------------------------------------\n'
475
477 print '\nCASO DE USO: CONSULTAR USUARIOS (Sin filtro)' 478 print 'obteniendo lista de usuarios...' 479 res = self.testapp.get('/consultar_usuario',{},status=200) 480 assert res.status_int == 200 481 print 'Ok' 482 print '----------------------------------------\n'
483
484 - def test_cosultar_filtrado(self):
485 print '\nCASO DE USO: CONSULTAR USUARIOS (Con filtro)' 486 print 'obteniendo lista de usuarios con id = 1...' 487 res = self.testapp.get('/consultar_usuario',{'filtro':'id', 'valor':'1'},status=200) 488 assert res.status_int == 200 489 print 'Ok' 490 print '----------------------------------------\n'
491
493 print '\nTEST: CONSULTA USUARIOS ASIGNADOS/ASIGNABLES POR PROYECTO' 494 print 'obteniendo lista de usuarios asignados/asignables al proyecto con id=1' 495 # res = self.testapp.get('/consulta_asignar_usuarios',{'id':'1'},status=200) 496 # assert res.status_int == 200 497 print 'Ok' 498 print '----------------------------------------\n'
499 500 # PRUEBAS PARA ATRIBUTO 501
502 -class TestAtributo(unittest.TestCase):
503 - def setUp(self):
504 from sapproject import main 505 settings = { 'sqlalchemy.url': 'postgresql://sap:12345@localhost:5432/sapdb'} 506 app = main({}, **settings) 507 from webtest import TestApp 508 self.testapp = TestApp(app) 509 _initTestingDB()
510
511 - def tearDown(self):
512 del self.testapp 513 DBSession.remove()
514
515 - def test_crear(self):
516 print '\nCASO DE USO: CREAR ATRIBUTO' 517 print 'creando atributo...' 518 print ' - nombre : atributo_test' 519 print ' - tipo de dato: atributo_test' 520 print ' - valor por defecto: atributo_test' 521 res = self.testapp.get('/crear_atributo',{'nombre':'atributo_test','tipodato':'atributo_test','valordef':'atributo_test'},status=200) 522 print 'comprobando que el atributo ha sido creado' 523 atributo = DBSession.query(Atributo).filter_by(nombre='atributo_test').first() 524 self.assertTrue(atributo,msg='El atributo no existe') 525 assert res.status_int == 200 526 print 'Ok' 527 print '----------------------------------------\n'
528
529 - def test_modificar(self):
530 print '\nCASO DE USO: MODIFICAR ATRIBUTO' 531 print 'modificando atributo...' 532 print ' - id: 1' 533 print ' - nombre : atributo_test -> atributo_test2' 534 print ' - tipo de dato: atributo_test -> atributo_test2' 535 print ' - valor por defecto: us:cr -> us:mo' 536 res = self.testapp.get('/modificar_atributo',{'id':'1','nombre':'atributo_test2','tipodato':'atributo_test2','valordef':'atributo_test'},status=200) 537 print 'comprobando cambio en el nombre del atributo' 538 atributo = DBSession.query(Atributo).filter_by(id='1').first() 539 self.assertEqual(atributo.nombre, 'atributo_test2') 540 assert res.status_int == 200 541 print 'Ok' 542 print '----------------------------------------\n'
543
544 - def test_eliminar(self):
545 print '\nCASO DE USO: ELIMINAR ATRIBUTO' 546 print 'eliminando atributo con id : 10' 547 res = self.testapp.get('/eliminar_atributo',{'id':'10'},status=200) 548 print 'comprobando que el atributo no exista' 549 atributo = DBSession.query(Atributo).filter_by(id='10').first() 550 self.assertEqual(atributo, None) 551 assert res.status_int == 200 552 print 'Ok' 553 print '----------------------------------------\n'
554
556 print '\nCASO DE USO: CONSULTAR ATRIBUTO (Sin filtros)' 557 print 'obteniendo lista de todos los atributos' 558 res = self.testapp.get('/consultar_atributo',{},status=200) 559 assert res.status_int == 200 560 print 'Ok' 561 print '----------------------------------------\n'
562
563 - def test_cosultar_filtrado(self):
564 print '\nCASO DE USO: CONSULTAR ATRIBUTO (Con filtros)' 565 print 'obteniendo lista de todos los atributos con id = 1' 566 res = self.testapp.get('/consultar_atributo',{'filtro':'id', 'valor':'1'},status=200) 567 assert res.status_int == 200 568 print 'Ok' 569 print '----------------------------------------\n'
570
572 print '\nTEST: CONSULTA ATRIBUTOS ASIGNADOS/ASIGNABLES POR TIPO DE ITEM' 573 print 'obteniendo lista de atributos asignados/asignables al tipo de item con id=1' 574 # res = self.testapp.get('/consulta_acciones',{'id':'1'},status=200) 575 # assert res.status_int == 200 576 print 'Ok' 577 print '----------------------------------------\n'
578
580 print '\nCASO DE USO: ASIGNAR/DESASIGNAR ATRIBUTO A TIPO DE ITEM' 581 print 'creando tipo de item de prueba...' 582 print ' - nombre : tipo de item_test' 583 print ' - descripcion: tipo de item_test' 584 print ' - prefijo: tipoitem_test' 585 self.testapp.get('/crear_tipoitem',{'nombre':'tipoitem_test','descripcion':'tipoitem_test', 'prefijo':'tipoitem_test'},status=200) 586 print 'asignando atributo con id = 1' 587 # res = self.testapp.get('/asignar_desasignar_atributo',{'data':{'id_tipoitem':'1','data':['1']}},status=200) 588 # assert res.status_int == 200 589 print 'Ok' 590 print '----------------------------------------\n'
591
593 print '\nTEST: CONSULTAR ATRIBUTOS ASIGNADOS POR TIPO DE ITEM' 594 print 'consultando atributos asignados para tipo de item con id = 1' 595 # res = self.testapp.get('/consulta_atributo_x_tipo de item',{'id_tipoitem':'1'},status=200) 596 # assert res.status_int == 200 597 print 'Ok' 598 print '----------------------------------------\n'
599 600 # PRUEBAS PARA TIPO DE ITEM 601
602 -class TestTipoItem(unittest.TestCase):
603 - def setUp(self):
604 from sapproject import main 605 settings = { 'sqlalchemy.url': 'postgresql://sap:12345@localhost:5432/sapdb'} 606 app = main({}, **settings) 607 from webtest import TestApp 608 self.testapp = TestApp(app) 609 _initTestingDB()
610
611 - def tearDown(self):
612 del self.testapp 613 DBSession.remove()
614
615 - def test_crear(self):
616 print '\nCASO DE USO: CREAR TIPO DE ITEM' 617 print 'creando tipo de item ...' 618 print ' - nombre: tipoitem_test' 619 print ' - descripcion: tipoitem_test' 620 print ' - prefijo: tipoitem_test' 621 res = self.testapp.get('/crear_tipoitem',{'nombre':'tipoitem_test','descripcion':'tipoitem_test','prefijo':'tipoitem_test'},status=200) 622 print 'comprobando que el tipoitem exista' 623 tipoitem = DBSession.query(Tipoitem).filter_by(nombre='tipoitem_test').first() 624 self.assertTrue(tipoitem,msg='El tipo de item no existe') 625 assert res.status_int == 200 626 print 'Ok' 627 print '----------------------------------------\n'
628
629 - def test_modificar(self):
630 print '\nCASO DE USO: MODIFICAR TIPO DE ITEM' 631 print 'modificando tipo de item ...' 632 print ' - id: 1' 633 print ' - nombre: tipoitem_test -> tipoitem_test2' 634 print ' - descripcion: tipoitem_test' 635 print ' - prefijo: tipoitem_test' 636 res = self.testapp.get('/modificar_tipoitem',{'id':'1','nombre':'tipoitem_test2','descripcion':'tipoitem_test','prefijo':'tipoitem_test'},status=200) 637 print 'comprobando modificacion de tipo de item' 638 tipoitem = DBSession.query(Tipoitem).filter_by(id='1').first() 639 self.assertEqual(tipoitem.nombre, 'tipoitem_test2') 640 assert res.status_int == 200 641 print 'Ok' 642 print '----------------------------------------\n'
643
644 - def test_eliminar(self):
645 print '\nCASO DE USO: ELIMINAR TIPO DE ITEM' 646 print 'eliminando tipo de item con id = 10' 647 res = self.testapp.get('/eliminar_tipoitem',{'id':'10'},status=200) 648 print 'comprobando que el tipo de item no exista' 649 tipoitem = DBSession.query(Tipoitem).filter_by(id='10').first() 650 self.assertEqual(tipoitem, None) 651 assert res.status_int == 200 652 print 'Ok' 653 print '----------------------------------------\n'
654
656 print '\nCASO DE USO: CONSULTAR TIPO DE ITEMS (Sin filtros)' 657 print 'obteniendo lista de tipo de items' 658 res = self.testapp.get('/consultar_tipoitem',{},status=200) 659 assert res.status_int == 200 660 print 'Ok' 661 print '----------------------------------------\n'
662
663 - def test_cosultar_filtrado(self):
664 print '\nCASO DE USO: CONSULTAR TIPO DE ITEMS (Con filtros)' 665 print 'obteniendo lista de tipo de items con id = 1' 666 res = self.testapp.get('/consultar_tipoitem',{'filtro':'id', 'valor':'1'},status=200) 667 assert res.status_int == 200 668 print 'Ok' 669 print '----------------------------------------\n'
670