def test_100_add_ldda_to_folder3(self):
     """
     Testing adding a new library dataset to library3's folder, making sure the SelectField setting is correct on the upload form.
     """
     filename = '3.bed'
     ldda_message = '3.bed message'
     # Logged in as admin_user
     self.upload_library_dataset(
         cntrller='library_admin',
         library_id=self.security.encode_id(library3.id),
         folder_id=self.security.encode_id(folder3.id),
         filename=filename,
         file_type='bed',
         dbkey='hg18',
         ldda_message=ldda_message,
         strings_displayed=['SelectField', 'selected>Option1'])
     ldda = get_latest_ldda_by_name(filename)
     assert ldda is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda from the database'
     self.browse_library(cntrller='library_admin',
                         library_id=self.security.encode_id(library3.id),
                         strings_displayed=[ldda.name, ldda.message, 'bed'])
     # Make sure the library template contents were correctly saved
     self.ldda_edit_info('library_admin',
                         self.security.encode_id(library3.id),
                         self.security.encode_id(folder3.id),
                         self.security.encode_id(ldda.id),
                         ldda.name,
                         strings_displayed=['SelectField', 'Option1'])
     # Import a dataset from the current history
     filename = '8.bed'
     self.new_history(name='import+with+SelectField')
     self.upload_file(filename)
     hda = get_latest_hda()
     self.upload_library_dataset(
         cntrller='library_admin',
         library_id=self.security.encode_id(library3.id),
         folder_id=self.security.encode_id(folder3.id),
         upload_option='import_from_history',
         hda_ids=self.security.encode_id(hda.id),
         strings_displayed=[
             '<select name="%s" last_selected_value="Option1">' %
             select_field_name
         ])
     ldda = get_latest_ldda_by_name(filename)
     assert ldda is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda from the database'
     self.browse_library(cntrller='library_admin',
                         library_id=self.security.encode_id(library3.id),
                         strings_displayed=[ldda.name, 'bed'])
     # Make sure the library template contents were correctly saved
     self.ldda_edit_info('library_admin',
                         self.security.encode_id(library3.id),
                         self.security.encode_id(folder3.id),
                         self.security.encode_id(ldda.id),
                         ldda.name,
                         strings_displayed=['SelectField', 'Option1'])
 def test_100_add_ldda_to_folder3( self ):
     """
     Testing adding a new library dataset to library3's folder, making sure the SelectField setting is correct on the upload form.
     """
     filename = '3.bed'
     ldda_message = '3.bed message'
     # Logged in as admin_user
     self.upload_library_dataset( cntrller='library_admin',
                                  library_id=self.security.encode_id( library3.id ),
                                  folder_id=self.security.encode_id( folder3.id ),
                                  filename=filename,
                                  file_type='bed',
                                  dbkey='hg18',
                                  ldda_message=ldda_message,
                                  strings_displayed=[ 'SelectField', 'selected>Option1' ] )
     ldda = get_latest_ldda_by_name( filename )
     assert ldda is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda from the database'
     self.browse_library( cntrller='library_admin',
                          library_id=self.security.encode_id( library3.id ),
                          strings_displayed=[ ldda.name, ldda.message, 'bed' ] )
     # Make sure the library template contents were correctly saved
     self.ldda_edit_info( 'library_admin',
                          self.security.encode_id( library3.id ),
                          self.security.encode_id( folder3.id ),
                          self.security.encode_id( ldda.id ),
                          ldda.name,
                          strings_displayed=[ 'SelectField', 'Option1' ] )
     # Import a dataset from the current history
     filename = '8.bed'
     self.new_history( name='import+with+SelectField' )
     self.upload_file( filename )
     hda = get_latest_hda()
     self.upload_library_dataset( cntrller='library_admin',
                                  library_id=self.security.encode_id( library3.id ),
                                  folder_id=self.security.encode_id( folder3.id ),
                                  upload_option='import_from_history',
                                  hda_ids=self.security.encode_id( hda.id ),
                                  strings_displayed=[ '<select name="%s" last_selected_value="Option1">' % select_field_name ] )
     ldda = get_latest_ldda_by_name( filename )
     assert ldda is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda from the database'
     self.browse_library( cntrller='library_admin',
                          library_id=self.security.encode_id( library3.id ),
                          strings_displayed=[ ldda.name, 'bed' ] )
     # Make sure the library template contents were correctly saved
     self.ldda_edit_info( 'library_admin',
                          self.security.encode_id( library3.id ),
                          self.security.encode_id( folder3.id ),
                          self.security.encode_id( ldda.id ),
                          ldda.name,
                          strings_displayed=[ 'SelectField', 'Option1' ] )
 def test_170_add_ldda_to_folder6( self ):
     """
     Testing adding a new library dataset to library6's folder, making sure the WorkflowField setting is correct on the upload form.
     """
     # Logged in as admin_user
     filename = '7.bed'
     ldda_message = '7.bed message'
     self.upload_library_dataset( cntrller='library_admin',
                                  library_id=self.security.encode_id( library6.id ),
                                  folder_id=self.security.encode_id( folder6.id ),
                                  filename=filename,
                                  file_type='bed',
                                  dbkey='hg18',
                                  ldda_message=ldda_message,
                                  strings_displayed=[ 'WorkflowField', 'none' ] )
     ldda = get_latest_ldda_by_name( filename )
     assert ldda is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda from the database'
     self.browse_library( cntrller='library_admin',
                          library_id=self.security.encode_id( library6.id ),
                          strings_displayed=[ ldda.name, ldda.message, 'bed' ] )
     # Make sure the library template contents were correctly saved
     self.ldda_edit_info( 'library_admin',
                          self.security.encode_id( library6.id ),
                          self.security.encode_id( folder6.id ),
                          self.security.encode_id( ldda.id ),
                          ldda.name,
                          strings_displayed=[ 'WorkflowField', 'none' ] )
 def test_150_add_ldda_to_library5( self ):
     """
     Testing adding a new library dataset to library5's folder, making sure the TextField and new TextArea settings are correct on the upload form.
     """
     filename = '6.bed'
     ldda_message = '6.bed message'
     # Logged in as admin_user
     self.upload_library_dataset( cntrller='library_admin',
                                  library_id=self.security.encode_id( library5.id ),
                                  folder_id=self.security.encode_id( library5.root_folder.id ),
                                  filename=filename,
                                  file_type='bed',
                                  dbkey='hg18',
                                  ldda_message=ldda_message,
                                  strings_displayed=[ 'TextField',
                                                      'This text should be inherited',
                                                      'TextArea' ] )
     ldda = get_latest_ldda_by_name( filename )
     assert ldda is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda from the database'
     self.browse_library( cntrller='library_admin',
                          library_id=self.security.encode_id( library5.id ),
                          strings_displayed=[ ldda.name, ldda.message, 'bed' ] )
     # Make sure the library template contents were correctly saved
     self.ldda_edit_info( 'library_admin',
                          self.security.encode_id( library5.id ),
                          self.security.encode_id( library5.root_folder.id ),
                          self.security.encode_id( ldda.id ),
                          ldda.name,
                          strings_displayed=[ 'TextField',
                                              'This text should be inherited',
                                              'TextArea' ] )
 def test_040_create_ldda2_with_role2_associated_with_group_and_users( self ):
     """Testing creating ldda2 with a role that is associated with a group and users"""
     # Logged in as admin_user
     # Add a dataset restricted by role2, which is currently associated as follows:
     # groups: group1
     # users: [email protected], [email protected] via group1
     #
     # We first need to make library1 public, but leave its contents permissions unchanged
     self.make_library_item_public( self.security.encode_id( library1.id ),
                                    self.security.encode_id( library1.id ),
                                    item_type='library',
                                    contents=False,
                                    library_name=library1.name )
     refresh( library1 )
     filename = '2.bed'
     ldda_message = 'ldda2'
     self.upload_library_dataset( cntrller='library_admin',
                                  library_id=self.security.encode_id( library1.id ),
                                  folder_id=self.security.encode_id( folder1.id ),
                                  filename=filename,
                                  file_type='bed',
                                  dbkey='hg17',
                                  roles=[ str( role2.id ) ],
                                  ldda_message=ldda_message,
                                  strings_displayed=[ 'Upload files' ] )
     global ldda2
     ldda2 = get_latest_ldda_by_name( filename )
     assert ldda2 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda2 from the database'
     self.browse_library( cntrller='library',
                          library_id=self.security.encode_id( library1.id ),
                          strings_displayed=[ ldda2.name, ldda2.message, 'bed' ] )
Exemple #6
0
 def test_075_download_archive_of_library_files(self):
     """Testing downloading an archive of files from library1"""
     # logged in as regular_user3
     self.logout()
     self.login(email=admin_user.email)
     filename = '1.bed'
     self.upload_library_dataset(
         cntrller='library_admin',
         library_id=self.security.encode_id(library1.id),
         folder_id=self.security.encode_id(library1.root_folder.id),
         filename=filename,
         file_type='bed',
         dbkey='hg18',
         strings_displayed=['Upload files'])
     global ldda1
     ldda1 = get_latest_ldda_by_name(filename)
     assert ldda1 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda1 from the database'
     for format in ('tbz', 'tgz', 'zip'):
         archive = self.download_archive_of_library_files(
             cntrller='library',
             library_id=self.security.encode_id(library1.id),
             ldda_ids=[
                 self.security.encode_id(ldda1.id),
                 self.security.encode_id(ldda2.id)
             ],
             format=format)
         self.check_archive_contents(archive, (ldda1, ldda2))
         os.remove(archive)
 def test_025_create_ldda1_with_private_role_restriction( self ):
     """Testing create ldda1 with a private role restriction"""
     # Logged in as admin_user
     #
     # Library1 LIBRARY_ACCESS = Role1: admin_user, regular_user1, regular_user3
     #
     # Add a dataset restricted by the following:
     # DATASET_MANAGE_PERMISSIONS = admin_user via DefaultUserPermissions
     # DATASET_ACCESS = regular_user1 private role via this test method
     # LIBRARY_ADD = "Role1" via inheritance from parent folder
     # LIBRARY_MODIFY = "Role1" via inheritance from parent folder
     # LIBRARY_MANAGE = "Role1" via inheritance from parent folder
     #
     # This means that only regular_user1 can see the dataset from the Data Libraries view
     filename = '1.bed'
     ldda_message = 'ldda1'
     self.upload_library_dataset( cntrller='library_admin',
                                  library_id=self.security.encode_id( library1.id ),
                                  folder_id=self.security.encode_id( folder1.id ),
                                  filename=filename,
                                  file_type='bed',
                                  dbkey='hg18',
                                  roles=[ str( regular_user1_private_role.id ) ],
                                  ldda_message=ldda_message,
                                  strings_displayed=[ 'Upload files' ] )
     global ldda1
     ldda1 = get_latest_ldda_by_name( filename )
     assert ldda1 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda1 from the database'
     self.browse_library( cntrller='library_admin',
                          library_id=self.security.encode_id( library1.id ),
                          strings_displayed=[ ldda1.name, ldda1.message, 'bed' ] )
 def test_085_create_ldda8( self ):
     """Testing create ldda8, restricting access on upload form to admin_user's private role"""
     filename = '8.bed'
     ldda_message = 'ldda8'
     self.upload_library_dataset( cntrller='library_admin',
                                  library_id=self.security.encode_id( library2.id ),
                                  folder_id=self.security.encode_id( subfolder2.id ),
                                  filename=filename,
                                  file_type='bed',
                                  dbkey='hg18',
                                  roles=[ str( admin_user_private_role.id ) ],
                                  ldda_message=ldda_message,
                                  strings_displayed=[ 'Upload files' ] )
     global ldda8
     ldda8 = get_latest_ldda_by_name( filename )
     assert ldda8 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda8 from the database'
 def test_030_add_dataset_to_folder1(self):
     """Testing adding a ldda1 to folder1, and adding a new UserAddress on the upload form."""
     # Logged in as admin_user
     # The AddressField template should be inherited to the library dataset upload form.  Passing
     # the value 'new' should submit the form via refresh_on_change and allow new UserAddress information
     # to be posted as part of the upload.
     filename = '1.bed'
     ldda_message = '1.bed message'
     short_desc = 'Office'
     self.upload_library_dataset(
         cntrller='library_admin',
         library_id=self.security.encode_id(library1.id),
         folder_id=self.security.encode_id(folder1.id),
         filename=filename,
         file_type='bed',
         dbkey='hg18',
         template_refresh_field_name=address_field_name,
         ldda_message=ldda_message,
         template_refresh_field_contents='new',
         template_fields=[
             ('%s_short_desc' % address_field_name, short_desc),
             ('%s_name' % address_field_name, 'Dick'),
             ('%s_institution' % address_field_name, 'PSU'),
             ('%s_address' % address_field_name, '32 O Street'),
             ('%s_city' % address_field_name, 'Anywhere'),
             ('%s_state' % address_field_name, 'AK'),
             ('%s_postal_code' % address_field_name, '0000000'),
             ('%s_country' % address_field_name, 'USA')
         ],
         strings_displayed=['Upload files'])
     global user_address1
     user_address1 = get_user_address(admin_user, short_desc)
     assert user_address1 is not None, 'Problem retrieving user_address1 from the database'
     global ldda1
     ldda1 = get_latest_ldda_by_name(filename)
     assert ldda1 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda1 from the database'
     self.browse_library(
         cntrller='library_admin',
         library_id=self.security.encode_id(library1.id),
         strings_displayed=[ldda1.name, ldda1.message, 'bed'])
     # Make sure the library template contents were correctly saved
     self.ldda_edit_info('library_admin',
                         self.security.encode_id(library1.id),
                         self.security.encode_id(folder1.id),
                         self.security.encode_id(ldda1.id),
                         ldda1.name,
                         strings_displayed=['Dick'])
Exemple #10
0
 def test_065_uploading_new_dataset_version(self):
     """Testing uploading a new version of a library dataset"""
     # logged in as admin_user
     filename = '4.bed'
     ldda_message = 'Testing uploading a new version of a dataset'
     self.upload_library_dataset(
         cntrller='library_admin',
         library_id=self.security.encode_id(library1.id),
         folder_id=self.security.encode_id(subfolder1.id),
         replace_id=self.security.encode_id(ldda4.library_dataset.id),
         filename=filename,
         file_type='auto',
         dbkey='hg18',
         ldda_message=ldda_message,
         strings_displayed=[
             'Upload files',
             'You are currently selecting a new file to replace'
         ])
     global ldda4_version2
     ldda4_version2 = get_latest_ldda_by_name(filename)
     assert ldda4_version2 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda4_version2 from the database'
     self.ldda_edit_info(
         'library_admin',
         self.security.encode_id(library1.id),
         self.security.encode_id(subfolder1.id),
         self.security.encode_id(ldda4_version2.id),
         ldda4_version2.name,
         strings_displayed=[
             'This is the latest version of this library dataset'
         ])
     # Check the previous version
     self.ldda_edit_info(
         'library_admin',
         self.security.encode_id(library1.id),
         self.security.encode_id(subfolder1.id),
         self.security.encode_id(ldda4.id),
         ldda4.name,
         strings_displayed=[
             'This is an expired version of this library dataset'
         ])
     # Make sure ldda4 is no longer displayed in the library
     self.browse_library(cntrller='library_admin',
                         library_id=self.security.encode_id(library1.id),
                         strings_not_displayed=[ldda4.name, ldda4.message])
 def test_030_add_dataset_to_folder1( self ):
     """Testing adding a ldda1 to folder1, and adding a new UserAddress on the upload form."""
     # Logged in as admin_user
     # The AddressField template should be inherited to the library dataset upload form.  Passing
     # the value 'new' should submit the form via refresh_on_change and allow new UserAddress information
     # to be posted as part of the upload.
     filename = '1.bed'
     ldda_message = '1.bed message'
     short_desc = 'Office'
     self.upload_library_dataset( cntrller='library_admin',
                                  library_id=self.security.encode_id( library1.id ),
                                  folder_id=self.security.encode_id( folder1.id ),
                                  filename=filename,
                                  file_type='bed',
                                  dbkey='hg18',
                                  template_refresh_field_name=address_field_name,
                                  ldda_message=ldda_message,
                                  template_refresh_field_contents='new',
                                  template_fields=[ ( '%s_short_desc' % address_field_name, short_desc ),
                                                    ( '%s_name' % address_field_name, 'Dick' ),
                                                    ( '%s_institution' % address_field_name, 'PSU' ),
                                                    ( '%s_address' % address_field_name, '32 O Street' ),
                                                    ( '%s_city' % address_field_name, 'Anywhere' ),
                                                    ( '%s_state' % address_field_name, 'AK' ),
                                                    ( '%s_postal_code' % address_field_name, '0000000' ),
                                                    ( '%s_country' % address_field_name, 'USA' ) ],
                                  strings_displayed=[ 'Upload files' ] )
     global user_address1
     user_address1 = get_user_address( admin_user, short_desc )
     assert user_address1 is not None, 'Problem retrieving user_address1 from the database'
     global ldda1
     ldda1 = get_latest_ldda_by_name( filename )
     assert ldda1 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda1 from the database'
     self.browse_library( cntrller='library_admin',
                          library_id=self.security.encode_id( library1.id ),
                          strings_displayed=[ ldda1.name, ldda1.message, 'bed' ] )
     # Make sure the library template contents were correctly saved
     self.ldda_edit_info( 'library_admin',
                          self.security.encode_id( library1.id ),
                          self.security.encode_id( folder1.id ),
                          self.security.encode_id( ldda1.id ),
                          ldda1.name,
                          strings_displayed=[ 'Dick' ] )
Exemple #12
0
 def test_050_add_2nd_public_dataset_to_folder2(self):
     """Testing adding a 2nd public dataset folder2"""
     # Logged in as admin_user
     filename = '3.bed'
     ldda_message = "Testing uploading %s" % filename
     self.upload_library_dataset(
         cntrller='library_admin',
         library_id=self.security.encode_id(library1.id),
         folder_id=self.security.encode_id(folder2.id),
         filename=filename,
         file_type='bed',
         dbkey='hg18',
         ldda_message=ldda_message,
         strings_displayed=['Upload files'])
     global ldda3
     ldda3 = get_latest_ldda_by_name(filename)
     assert ldda3 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda3 from the database'
     self.browse_library(
         cntrller='library_admin',
         library_id=self.security.encode_id(library1.id),
         strings_displayed=[ldda3.name, ldda3.message, 'bed'])
Exemple #13
0
 def test_055_copy_dataset_from_history_to_subfolder(self):
     """Testing copying a dataset from the current history to a subfolder"""
     # logged in as admin_user
     self.new_history()
     filename = '4.bed'
     self.upload_file(filename)
     latest_hda = get_latest_hda()
     self.upload_library_dataset(
         cntrller='library_admin',
         library_id=self.security.encode_id(library1.id),
         folder_id=self.security.encode_id(subfolder1.id),
         upload_option='import_from_history',
         hda_ids=self.security.encode_id(latest_hda.id),
         ldda_message='Imported from history',
         strings_displayed=['Active datasets in your current history'])
     global ldda4
     ldda4 = get_latest_ldda_by_name(filename)
     assert ldda4 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda4 from the database'
     self.browse_library(
         cntrller='library_admin',
         library_id=self.security.encode_id(library1.id),
         strings_displayed=[ldda4.name, ldda4.message, 'bed'])
Exemple #14
0
 def test_135_upload_unsorted_bam_to_library_using_file_path_with_link_to_file(
         self):
     """Test uploading 3unsorted.bam, using filesystem_paths option in combination with link_to_files"""
     filename = '3unsorted.bam'
     self.upload_library_dataset(
         cntrller='library_admin',
         library_id=self.security.encode_id(library2.id),
         folder_id=self.security.encode_id(library2.root_folder.id),
         upload_option='upload_paths',
         link_data_only='link_to_files',
         filesystem_paths='test-data/3unsorted.bam')
     global ldda8
     ldda8 = get_latest_ldda_by_name(filename)
     assert ldda8 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda8 from the database'
     # The upload above should produce an error condition in the uploaded library dataset since
     # the uploaded bam file is not sorted, and we are linking to the file.
     self.ldda_info(cntrller='library_admin',
                    library_id=self.security.encode_id(library2.id),
                    folder_id=self.security.encode_id(
                        library2.root_folder.id),
                    ldda_id=self.security.encode_id(ldda8.id),
                    strings_displayed=[
                        'The uploaded files need grooming, so change your'
                    ])
Exemple #15
0
 def test_120_populate_public_library2(self):
     """Testing library datasets within a library"""
     # Logged in as admin_user
     # Add a folder named Three to library2 root
     root_folder = library2.root_folder
     name = "One"
     description = "One description"
     self.add_folder('library_admin',
                     self.security.encode_id(library2.id),
                     self.security.encode_id(root_folder.id),
                     name=name,
                     description=description)
     global folder3
     folder3 = get_folder(root_folder.id, name, description)
     assert folder3 is not None, 'Problem retrieving library folder named "%s" from the database' % name
     # Upload dataset 1.bed to folder One
     filename = '1.bed'
     ldda_message = "Testing uploading %s" % filename
     self.upload_library_dataset(
         cntrller='library_admin',
         library_id=self.security.encode_id(library2.id),
         folder_id=self.security.encode_id(folder3.id),
         filename=filename,
         file_type='bed',
         dbkey='hg18',
         ldda_message=ldda_message,
         strings_displayed=['Upload files'])
     global ldda5
     ldda5 = get_latest_ldda_by_name(filename)
     assert ldda5 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda5 from the database'
     # Add a sub-folder named Two to folder One
     name = "Two"
     description = "Two description"
     self.add_folder('library_admin',
                     self.security.encode_id(library2.id),
                     self.security.encode_id(folder3.id),
                     name=name,
                     description=description)
     global folder4
     folder4 = get_folder(folder3.id, name, description)
     assert folder4 is not None, 'Problem retrieving library folder named "%s" from the database' % name
     # Upload dataset 2.bed to folder Two
     filename = '2.bed'
     ldda_message = "Testing uploading %s" % filename
     self.upload_library_dataset(
         cntrller='library_admin',
         library_id=self.security.encode_id(library2.id),
         folder_id=self.security.encode_id(folder4.id),
         filename=filename,
         file_type='bed',
         dbkey='hg18',
         ldda_message=ldda_message,
         strings_displayed=['Upload files'])
     global ldda6
     ldda6 = get_latest_ldda_by_name(filename)
     assert ldda6 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda6 from the database'
     # Add a folder named Three to library2 root
     name = "Three"
     description = "Three description"
     self.add_folder('library_admin',
                     self.security.encode_id(library2.id),
                     self.security.encode_id(root_folder.id),
                     name=name,
                     description=description)
     global folder5
     folder5 = get_folder(root_folder.id, name, description)
     assert folder5 is not None, 'Problem retrieving library folder named "%s" from the database' % name
     # Upload dataset 3.bed to library2 root folder
     filename = '3.bed'
     ldda_message = "Testing uploading %s" % filename
     self.upload_library_dataset(
         cntrller='library_admin',
         library_id=self.security.encode_id(library2.id),
         folder_id=self.security.encode_id(root_folder.id),
         filename=filename,
         file_type='bed',
         dbkey='hg18',
         ldda_message=ldda_message,
         strings_displayed=['Upload files'])
     global ldda7
     ldda7 = get_latest_ldda_by_name(filename)
     assert ldda7 is not None, 'Problem retrieving LibraryDatasetDatasetAssociation ldda7 from the database'