1
0
Fork 0
mirror of https://github.com/actions/toolkit.git synced 2025-06-10 18:10:47 +09:00
This commit is contained in:
Vallie Joseph 2024-04-15 15:24:57 +00:00
parent 5d943d4b7f
commit be507421b1
3 changed files with 48 additions and 15 deletions

View file

@ -9,8 +9,8 @@ import {uploadArtifact} from '../src/internal/upload/upload-artifact'
import {noopLogs} from './common'
import {FilesNotFoundError} from '../src/internal/shared/errors'
import {BlockBlobClient} from '@azure/storage-blob'
import fs from 'fs'
import {Readable} from 'stream'
import * as fs from 'fs'
import * as path from 'path'
describe('upload-artifact', () => {
beforeEach(() => {
@ -357,14 +357,47 @@ describe('upload-artifact', () => {
it('should throw an error uploading blob chunks get delayed', async () => {
const mockDate = new Date('2020-01-01')
// const root = path.join('/home/user/files/')
const dirPath = path.join(__dirname, `plz-upload`)
// Mock fs.createReadStream to return a mock stream
fs.createReadStream = jest.fn().mockImplementation(() => {
const mockStream = new Readable()
mockStream.push('file content')
mockStream.push(null)
return mockStream
})
// const filePath = path.join(dirPath, 'file1.txt')
// const root = '/home/user/files'
if (!fs.existsSync(dirPath)) {
fs.mkdirSync(dirPath, {recursive: true})
// fs.mkdirSync(path.join(dirPath, 'file1.txt'), {recursive: true})
}
// Now write the file
// eslint-disable-next-line @typescript-eslint/await-thenable
await fs.writeFile(
path.join(dirPath, 'file1.txt'),
'test file content',
err => {
if (err) {
throw err
}
}
)
// eslint-disable-next-line @typescript-eslint/await-thenable
await fs.writeFile(
path.join(dirPath, 'file2.txt'),
'test file content',
err => {
if (err) {
throw err
}
}
)
// eslint-disable-next-line @typescript-eslint/await-thenable
await fs.writeFile(
path.join(dirPath, 'file3.txt'),
'test file content',
err => {
if (err) {
throw err
}
}
)
jest
.spyOn(uploadZipSpecification, 'validateRootDirectory')
@ -373,15 +406,15 @@ describe('upload-artifact', () => {
.spyOn(uploadZipSpecification, 'getUploadZipSpecification')
.mockReturnValue([
{
sourcePath: '/home/user/files/plz-upload/file1.txt',
sourcePath: path.join(dirPath, 'file1.txt'),
destinationPath: 'file1.txt'
},
{
sourcePath: '/home/user/files/plz-upload/file2.txt',
sourcePath: path.join(dirPath, 'file2.txt'),
destinationPath: 'file2.txt'
},
{
sourcePath: '/home/user/files/plz-upload/dir/file3.txt',
sourcePath: path.join(dirPath, 'file3.txt'),
destinationPath: 'dir/file3.txt'
}
])