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)
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.")