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() # create an export object in the db # TODO: only works if the time we time we generate the basename is exact to the second with the time the 2nd export is created 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: stdout.write("duplicate export filename test skipped because export times differ.")