コード例 #1
0
    def test_add_index_to_filename(self):
        filename = "file_name-123f.txt"
        new_filename = increment_index_in_filename(filename)
        expected_filename = "file_name-123f-1.txt"
        self.assertEqual(new_filename, expected_filename)

        # test file that already has an index
        filename = "file_name-123.txt"
        new_filename = increment_index_in_filename(filename)
        expected_filename = "file_name-124.txt"
        self.assertEqual(new_filename, expected_filename)
コード例 #2
0
    def test_duplicate_export_filename_is_renamed(self):
        self._publish_transportation_form()
        self._submit_transport_instance()

        # TODO: mock the time
        # only works if the time we time we generate the basename
        # is exact to the second with the time the 2nd export is created

        # create an export object in the db
        basename = "%s_%s" % (
            self.xform.id_string,
            datetime.datetime.now().strftime("%Y_%m_%d_%H_%M_%S"))
        filename = basename + ".csv"
        export = Export.objects.create(
            xform=self.xform, export_type=Export.CSV_EXPORT, filename=filename)

        # 2nd export
        export_2 = generate_export(
            Export.CSV_EXPORT, 'csv', self.user.username, self.xform.id_string)

        if export.created_on.timetuple() == export_2.created_on.timetuple():
            new_filename = increment_index_in_filename(filename)
            self.assertEqual(new_filename, export_2.filename)
        else:
            self.skipTest("duplicate export filename test skipped "
                          "because export times differ.")