Exemple #1
0
    def test_partial_directory(self):
        directory = path.join(path_to_module, "partial_dir")

        res = progress.get_directory_status(directory, ["SampleSheet.csv"])

        self.assertEqual(res.status, DirectoryStatus.PARTIAL)
        self.assertIsNone(res.message)
Exemple #2
0
    def test_inaccessible_directory(self):
        directory = path.join(path_to_module, "inaccessible_dir")

        res = progress.get_directory_status(directory, ["SampleSheet.csv"])

        self.assertEqual(res.status, DirectoryStatus.INVALID)
        self.assertIsNotNone(res.message)
Exemple #3
0
    def test_complete_directory(self):
        directory = path.join(path_to_module, "complete_dir")

        res = progress.get_directory_status(directory, ["SampleSheet.csv"])

        self.assertEqual(res.status, DirectoryStatus.COMPLETE)
        self.assertIsNone(res.message)
Exemple #4
0
    def test_new_directory_with_info_file(self):
        directory = path.join(path_to_module, "new_dir_with_info_file")

        res = progress.get_directory_status(directory, ["SampleSheet.csv"])

        self.assertEqual(res.status, DirectoryStatus.NEW)
        self.assertIsNone(res.message)
Exemple #5
0
    def test_new_directory_one_file_missing(self):
        directory = path.join(path_to_module, "new_dir")

        res = progress.get_directory_status(
            directory, ["SampleSheet.csv", 'not_a_file.txt'])

        self.assertEqual(res.status, DirectoryStatus.INVALID)
        self.assertIsNotNone(res.message)
Exemple #6
0
    def test_new_directory_multiple_files(self):
        directory = path.join(path_to_module, "new_dir_two_files")

        res = progress.get_directory_status(
            directory, ["SampleSheet.csv", 'CompletedJobInfo.xml'])

        self.assertEqual(res.status, DirectoryStatus.NEW)
        self.assertIsNone(res.message)
Exemple #7
0
    def find_single_run(self, directory):
        """
        Find a run in the base directory given

        :param directory:
        :return: DirectoryStatus object
        """
        logging.info("looking for run in {}".format(directory))

        return progress.get_directory_status(directory, self.get_required_file_list())
Exemple #8
0
    def test_has_miseq_complete_file(self):
        """
        Tests legacy support to show runs that contain .miseqUploaderComplete as COMPLETE
        :return:
        """
        directory = path.join(path_to_module, "has_miseq_complete")

        res = progress.get_directory_status(directory, ["SampleSheet.csv"])

        self.assertEqual(res.status, DirectoryStatus.COMPLETE)
        self.assertEqual(
            res.message,
            "Legacy uploader run. Set to complete to avoid uploading duplicate data."
        )
Exemple #9
0
    def test_write_to_new_file(self):
        # File does not exist yet
        self.assertFalse(path.exists(self.status_file))

        # Create DirectoryStatus to use for writing
        directory_status = DirectoryStatus(self.directory)

        # Write to file
        directory_status.status = DirectoryStatus.COMPLETE
        progress.write_directory_status(directory_status)
        # Check that file matches what we wrote
        status = progress.get_directory_status(self.directory,
                                               ["SampleSheet.csv"])
        self.assertEqual(DirectoryStatus.COMPLETE, status.status)
Exemple #10
0
    def find_runs(self, directory):
        """
        find a list of run directories in the directory given

        :param directory:
        :return: list of DirectoryStatus objects
        """
        logging.info("looking for runs in {}".format(directory))

        runs = []
        directory_list = common.find_directory_list(directory)
        for d in directory_list:
            runs.append(progress.get_directory_status(d, self.get_required_file_list()))

        return runs
Exemple #11
0
    def test_write_with_readonly_is_true_file(self):
        # set readonly to True in config
        config.set_config_options(readonly=True)
        # File does not exist yet
        self.assertFalse(path.exists(self.status_file))

        # Create DirectoryStatus to use for writing
        directory_status = DirectoryStatus(self.directory)

        # Try write to file (WRITE COMPLETE)
        directory_status.status = DirectoryStatus.COMPLETE
        progress.write_directory_status(directory_status)
        # Check that file matches what we wrote
        # We should find it as NEW as we have readonly=True
        status = progress.get_directory_status(self.directory,
                                               ["SampleSheet.csv"])
        self.assertEqual(DirectoryStatus.NEW, status.status)