1
0
Fork 0
pull/1712/head
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

@ -13,7 +13,7 @@
"lint": "eslint packages/**/*.ts", "lint": "eslint packages/**/*.ts",
"lint-fix": "eslint packages/**/*.ts --fix", "lint-fix": "eslint packages/**/*.ts --fix",
"new-package": "scripts/create-package", "new-package": "scripts/create-package",
"test": "jest --testTimeout 60000" "test": "jest --testTimeout 70000"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^29.5.4", "@types/jest": "^29.5.4",
@ -33,4 +33,4 @@
"ts-jest": "^29.1.1", "ts-jest": "^29.1.1",
"typescript": "^5.2.2" "typescript": "^5.2.2"
} }
} }

View File

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

View File

@ -6,7 +6,7 @@
"packages": { "packages": {
"": { "": {
"name": "@actions/http-client", "name": "@actions/http-client",
"version": "2.2.0", "version": "2.2.1",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tunnel": "^0.0.6", "tunnel": "^0.0.6",