PageRenderTime 28ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/test/functional/test_tags.py

https://bitbucket.org/cistrome/cistrome-harvard/
Python | 77 lines | 60 code | 7 blank | 10 comment | 0 complexity | 80e23b5dc73dbc6de9adbe66188ec498 MD5 | raw file
  1. from base.twilltestcase import TwillTestCase
  2. from base.test_db_util import (
  3. get_user,
  4. get_private_role,
  5. get_latest_history_for_user,
  6. get_latest_hda,
  7. )
  8. history1 = None
  9. admin_user = None
  10. class TestTags( TwillTestCase ):
  11. # TODO: Add more functional test coverage for tags
  12. def test_000_initiate_users( self ):
  13. """Ensuring all required user accounts exist"""
  14. self.logout()
  15. self.login( email='test1@bx.psu.edu', username='regular-user1' )
  16. global regular_user1
  17. regular_user1 = get_user( 'test1@bx.psu.edu' )
  18. assert regular_user1 is not None, 'Problem retrieving user with email "test1@bx.psu.edu" from the database'
  19. global regular_user1_private_role
  20. regular_user1_private_role = get_private_role( regular_user1 )
  21. self.logout()
  22. self.login( email='test2@bx.psu.edu', username='regular-user2' )
  23. global regular_user2
  24. regular_user2 = get_user( 'test2@bx.psu.edu' )
  25. assert regular_user2 is not None, 'Problem retrieving user with email "test2@bx.psu.edu" from the database'
  26. global regular_user2_private_role
  27. regular_user2_private_role = get_private_role( regular_user2 )
  28. self.logout()
  29. self.login( email='test3@bx.psu.edu', username='regular-user3' )
  30. global regular_user3
  31. regular_user3 = get_user( 'test3@bx.psu.edu' )
  32. assert regular_user3 is not None, 'Problem retrieving user with email "test3@bx.psu.edu" from the database'
  33. global regular_user3_private_role
  34. regular_user3_private_role = get_private_role( regular_user3 )
  35. self.logout()
  36. self.login( email='test@bx.psu.edu', username='admin-user' )
  37. global admin_user
  38. admin_user = get_user( 'test@bx.psu.edu' )
  39. assert admin_user is not None, 'Problem retrieving user with email "test@bx.psu.edu" from the database'
  40. global admin_user_private_role
  41. admin_user_private_role = get_private_role( admin_user )
  42. def test_005_add_tag_to_history( self ):
  43. """Testing adding a tag to a history"""
  44. # Logged in as admin_user
  45. # Create a new, empty history named anonymous
  46. name = 'anonymous'
  47. self.new_history( name=name )
  48. global history1
  49. history1 = get_latest_history_for_user( admin_user )
  50. self.add_tag( self.security.encode_id( history1.id ),
  51. 'History',
  52. 'history.mako',
  53. 'hello' )
  54. self.get_tags( self.security.encode_id( history1.id ), 'History' )
  55. self.check_page_for_string( 'tags : {"hello": ""}' )
  56. def test_010_add_tag_to_history_item( self ):
  57. """Testing adding a tag to a history item"""
  58. # Logged in as admin_user
  59. self.upload_file( '1.bed' )
  60. latest_hda = get_latest_hda()
  61. self.add_tag( self.security.encode_id( latest_hda.id ),
  62. 'HistoryDatasetAssociation',
  63. 'edit_attributes.mako',
  64. 'goodbye' )
  65. self.check_hda_attribute_info( 'tags : {"goodbye"' )
  66. def test_999_reset_data_for_later_test_runs( self ):
  67. """Reseting data to enable later test runs to to be valid"""
  68. # logged in as admin_user
  69. # Delete histories
  70. self.delete_history( id=self.security.encode_id( history1.id ) )