Skip to content

Commit b384e48

Browse files
authored
test: Node.js 23 (#23)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for Node.js version 23 in the CI testing matrix. - **Bug Fixes** - Improved CI pipeline reliability by including the latest Node.js version for testing. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
1 parent 80888f0 commit b384e48

File tree

3 files changed

+25
-26
lines changed

3 files changed

+25
-26
lines changed

.github/workflows/nodejs.yml

+6-11
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
strategy:
1919
fail-fast: false
2020
matrix:
21-
node-version: [16, 18, 20, 22]
21+
node-version: [16, 18, 20, 22, 23]
2222
os: [ubuntu-latest]
2323

2424
steps:
@@ -36,16 +36,11 @@ jobs:
3636
- name: Continuous Integration
3737
run: npm run ci
3838
env:
39-
ALI_SDK_OSS_ID: ${{ secrets.ALI_SDK_OSS_ID }}
40-
ALI_SDK_OSS_SECRET: ${{ secrets.ALI_SDK_OSS_SECRET }}
41-
ALI_SDK_OSS_REGION: ${{ secrets.ALI_SDK_OSS_REGION }}
42-
ALI_SDK_OSS_ENDPOINT: ${{ secrets.ALI_SDK_OSS_ENDPOINT }}
43-
ALI_SDK_OSS_BUCKET: ${{ secrets.ALI_SDK_OSS_BUCKET }}
44-
ALI_SDK_STS_ID: ${{ secrets.ALI_SDK_STS_ID }}
45-
ALI_SDK_STS_SECRET: ${{ secrets.ALI_SDK_STS_SECRET }}
46-
ALI_SDK_STS_ROLE: ${{ secrets.ALI_SDK_STS_ROLE }}
47-
ALI_SDK_STS_BUCKET: ${{ secrets.ALI_SDK_STS_BUCKET }}
48-
ALI_SDK_STS_ENDPOINT: ${{ secrets.ALI_SDK_STS_ENDPOINT }}
39+
OSS_CLIENT_ID: ${{ secrets.OSS_CLIENT_ID }}
40+
OSS_CLIENT_SECRET: ${{ secrets.OSS_CLIENT_SECRET }}
41+
OSS_CLIENT_REGION: ${{ secrets.OSS_CLIENT_REGION }}
42+
OSS_CLIENT_ENDPOINT: ${{ secrets.OSS_CLIENT_ENDPOINT }}
43+
OSS_CLIENT_BUCKET: ${{ secrets.OSS_CLIENT_BUCKET }}
4944

5045
- name: Code Coverage
5146
uses: codecov/codecov-action@v3

test/OSSObject.test.ts

+14-10
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ describe('test/OSSObject.test.ts', () => {
2222
const __filename = fileURLToPath(import.meta.url);
2323
const __dirname = path.dirname(__filename);
2424

25-
// OSSClientError: Access denied by bucket policy.
26-
describe.skip('list()', () => {
25+
describe('list()', () => {
2726
// oss.jpg
2827
// fun/test.jpg
2928
// fun/movie/001.avi
@@ -42,9 +41,12 @@ describe('test/OSSObject.test.ts', () => {
4241
assert.equal(typeof obj.name, 'string');
4342
assert.equal(typeof obj.lastModified, 'string');
4443
assert.equal(typeof obj.etag, 'string');
45-
assert(obj.type === 'Normal' || obj.type === 'Multipart');
44+
assert(obj.type === 'Normal' || obj.type === 'Multipart' || obj.type === 'Appendable' || obj.type === 'Symlink',
45+
`invalid obj.type ${obj.type}`);
4646
assert.equal(typeof obj.size, 'number');
47-
assert.equal(obj.storageClass, 'Standard');
47+
// assert.equal(obj.storageClass, 'Standard');
48+
assert(obj.storageClass === 'Standard' || obj.storageClass === 'IA',
49+
`invalid obj.storageClass ${obj.storageClass}`);
4850
assert.equal(typeof obj.owner, 'object');
4951
assert.equal(typeof obj.owner!.id, 'string');
5052
assert.equal(typeof obj.owner!.displayName, 'string');
@@ -56,6 +58,7 @@ describe('test/OSSObject.test.ts', () => {
5658
// console.log(result.objects);
5759
result.objects.map(checkObjectProperties);
5860
assert.equal(typeof result.nextMarker, 'string');
61+
// console.log(result.isTruncated);
5962
assert(result.isTruncated);
6063
assert.deepEqual(result.prefixes, []);
6164
assert(result.res.headers.date);
@@ -66,7 +69,7 @@ describe('test/OSSObject.test.ts', () => {
6669
assert(obj.size > 0);
6770
});
6871

69-
it('should list timeout work', async () => {
72+
it.skip('should list timeout work', async () => {
7073
await assert.rejects(async () => {
7174
await ossObject.list({}, { timeout: 1 });
7275
}, (err: Error) => {
@@ -168,8 +171,7 @@ describe('test/OSSObject.test.ts', () => {
168171
});
169172
});
170173

171-
// OSSClientError: Access denied by bucket policy.
172-
describe.skip('listV2()', () => {
174+
describe('listV2()', () => {
173175
const listPrefix = `${prefix}oss-client/listV2/`;
174176
before(async () => {
175177
await ossObject.put(`${listPrefix}oss.jpg`, Buffer.from('oss.jpg'));
@@ -186,7 +188,8 @@ describe('test/OSSObject.test.ts', () => {
186188
assert.equal(typeof obj.etag, 'string');
187189
assert(obj.type === 'Normal' || obj.type === 'Multipart');
188190
assert.equal(typeof obj.size, 'number');
189-
assert.equal(obj.storageClass, 'Standard');
191+
// assert.equal(obj.storageClass, 'Standard');
192+
assert(obj.storageClass === 'Standard' || obj.storageClass === 'IA');
190193
if (options?.owner) {
191194
assert(typeof obj.owner!.id === 'string' && typeof obj.owner!.displayName === 'string');
192195
} else {
@@ -924,12 +927,13 @@ describe('test/OSSObject.test.ts', () => {
924927
assert(r2.owner.displayName);
925928
assert(r2.owner.id);
926929

927-
const r3 = await ossObject.putACL(name, 'public-read');
930+
// public-read, Put public object acl is not allowed
931+
const r3 = await ossObject.putACL(name, 'private');
928932
assert.equal(r3.res.status, 200);
929933

930934
const r4 = await ossObject.getACL(name);
931935
assert.equal(r4.res.status, 200);
932-
assert.equal(r4.acl, 'public-read');
936+
assert.equal(r4.acl, 'private');
933937

934938
const r5 = await ossObject.get(name);
935939
assert.equal(r5.res.status, 200);

test/config.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
export default {
22
prefix: `${process.platform}-${process.version}-${new Date().getTime()}/`,
33
oss: {
4-
accessKeyId: process.env.OSS_CLIENT_ID! || process.env.ALI_SDK_OSS_ID!,
5-
accessKeySecret: process.env.OSS_CLIENT_SECRET! || process.env.ALI_SDK_OSS_SECRET!,
6-
region: process.env.OSS_CLIENT_REGION || process.env.ALI_SDK_OSS_REGION,
7-
endpoint: process.env.OSS_CLIENT_ENDPOINT! || process.env.ALI_SDK_OSS_ENDPOINT!,
8-
bucket: process.env.OSS_CLIENT_BUCKET! || process.env.ALI_SDK_OSS_BUCKET!,
4+
accessKeyId: process.env.OSS_CLIENT_ID!,
5+
accessKeySecret: process.env.OSS_CLIENT_SECRET!,
6+
region: process.env.OSS_CLIENT_REGION!,
7+
endpoint: process.env.OSS_CLIENT_ENDPOINT!,
8+
bucket: process.env.OSS_CLIENT_BUCKET!,
99
},
1010
timeout: '120s',
1111
};

0 commit comments

Comments
 (0)