@@ -847,10 +847,19 @@ describe('FilesRepository', () => {
847847 const testTextFile1Name = 'test-file-1.txt'
848848 const testTextFile2Name = 'test-file-2.txt'
849849 let fileId : number
850+ const testCollectionAlias = 'getFileHasBeenDeletedTestCollection'
851+ let singlepartFile : File
850852
851853 beforeAll ( async ( ) => {
852854 try {
853- deleFileTestDatasetIds = await createDataset . execute ( TestConstants . TEST_NEW_DATASET_DTO )
855+ await createCollectionViaApi ( testCollectionAlias )
856+ await setStorageDriverViaApi ( testCollectionAlias , 'LocalStack' )
857+ deleFileTestDatasetIds = await createDataset . execute (
858+ TestConstants . TEST_NEW_DATASET_DTO ,
859+ testCollectionAlias
860+ )
861+
862+ singlepartFile = await createSinglepartFileBlob ( )
854863 } catch ( error ) {
855864 throw new Error ( 'Tests beforeAll(): Error while creating test dataset' )
856865 }
@@ -909,23 +918,13 @@ describe('FilesRepository', () => {
909918
910919 const fileHasBeenDeleted = await sut . getFileHasBeenDeleted ( fileId )
911920 expect ( fileHasBeenDeleted ) . toBe ( true )
921+ deletePublishedDatasetViaApi ( deleFileTestDatasetIds . persistentId )
912922 } )
913923
914924 test ( 'should return True when file has been replaced' , async ( ) => {
915925 const directUploadSut : DirectUploadClient = new DirectUploadClient ( sut )
916-
917- // Upload original file
918- await uploadFileViaApi ( deleFileTestDatasetIds . numericId , testTextFile1Name ) . catch ( ( ) => {
919- throw new Error ( `Error while uploading file ${ testTextFile1Name } ` )
920- } )
921-
922- const datasetFiles = await sut . getDatasetFiles (
923- deleFileTestDatasetIds . numericId ,
924- latestDatasetVersionId ,
925- false ,
926- FileOrderCriteria . NAME_AZ
927- )
928- const originalFileId = datasetFiles . files [ 0 ] . id
926+ const progressMock = jest . fn ( )
927+ const abortController = new AbortController ( )
929928
930929 const createTestFileUploadDestination = async ( file : File , testDatasetId : number ) => {
931930 const destination = await sut . getFileUploadDestination ( testDatasetId , file )
@@ -935,16 +934,53 @@ describe('FilesRepository', () => {
935934 return destination
936935 }
937936
937+ const calculateBlobChecksum = ( blob : Buffer ) : string => {
938+ const hash = crypto . createHash ( 'md5' )
939+ hash . update ( blob )
940+ return hash . digest ( 'hex' )
941+ }
942+
943+ const fileArrayBuffer = await singlepartFile . arrayBuffer ( )
944+ const fileBuffer = Buffer . from ( fileArrayBuffer )
945+
946+ const destination = await createTestFileUploadDestination (
947+ singlepartFile ,
948+ deleFileTestDatasetIds . numericId
949+ )
950+
951+ const actualStorageId = await directUploadSut . uploadFile (
952+ deleFileTestDatasetIds . numericId ,
953+ singlepartFile ,
954+ progressMock ,
955+ abortController ,
956+ destination
957+ )
958+
959+ const uploadedFileDTO = {
960+ fileName : singlepartFile . name ,
961+ storageId : actualStorageId ,
962+ checksumType : 'md5' ,
963+ checksumValue : calculateBlobChecksum ( fileBuffer ) ,
964+ mimeType : singlepartFile . type
965+ }
966+ // Upload original file
967+ await sut . addUploadedFilesToDataset ( deleFileTestDatasetIds . numericId , [ uploadedFileDTO ] )
968+
969+ const originalDatasetFiles = await sut . getDatasetFiles (
970+ deleFileTestDatasetIds . numericId ,
971+ DatasetNotNumberedVersion . LATEST ,
972+ true ,
973+ FileOrderCriteria . NAME_AZ
974+ )
975+ const originalFileId = originalDatasetFiles . files [ 0 ] . id
976+
938977 // Create a new file and replace the original file
939978 const newFileBlob = await createSinglepartFileBlob ( testTextFile2Name , 2000 )
940979 const newDestination = await createTestFileUploadDestination (
941980 newFileBlob ,
942981 deleFileTestDatasetIds . numericId
943982 )
944983
945- const progressMock = jest . fn ( )
946- const abortController = new AbortController ( )
947-
948984 const newStorageId = await directUploadSut . uploadFile (
949985 deleFileTestDatasetIds . numericId ,
950986 newFileBlob ,
@@ -953,20 +989,14 @@ describe('FilesRepository', () => {
953989 newDestination
954990 )
955991
956- const fileArrayBuffer = await newFileBlob . arrayBuffer ( )
957- const fileBuffer = Buffer . from ( fileArrayBuffer )
958-
959- const calculateBlobChecksum = ( blob : Buffer ) : string => {
960- const hash = crypto . createHash ( 'md5' )
961- hash . update ( blob )
962- return hash . digest ( 'hex' )
963- }
992+ const fileArrayBuffer2 = await newFileBlob . arrayBuffer ( )
993+ const fileBuffer2 = Buffer . from ( fileArrayBuffer2 )
964994
965995 const newUploadedFileDTO = {
966996 fileName : newFileBlob . name ,
967997 storageId : newStorageId ,
968998 checksumType : 'md5' ,
969- checksumValue : calculateBlobChecksum ( fileBuffer ) ,
999+ checksumValue : calculateBlobChecksum ( fileBuffer2 ) ,
9701000 mimeType : newFileBlob . type
9711001 }
9721002
@@ -980,12 +1010,12 @@ describe('FilesRepository', () => {
9801010 const isDeleted = await sut . getFileHasBeenDeleted ( originalFileId )
9811011 expect ( isDeleted ) . toBe ( true )
9821012 } )
983- } )
9841013
985- test ( 'should return error when file does not exist' , async ( ) => {
986- const expectedError = new ReadError ( `[404] File with ID ${ nonExistentFiledId } not found.` )
1014+ test ( 'should return error when file does not exist' , async ( ) => {
1015+ const expectedError = new ReadError ( `[404] File with ID ${ nonExistentFiledId } not found.` )
9871016
988- await expect ( sut . getFileHasBeenDeleted ( nonExistentFiledId ) ) . rejects . toThrow ( expectedError )
1017+ await expect ( sut . getFileHasBeenDeleted ( nonExistentFiledId ) ) . rejects . toThrow ( expectedError )
1018+ } )
9891019 } )
9901020
9911021 describe ( 'restrictFile' , ( ) => {
0 commit comments