Skip to content

Commit

Permalink
fix: test cases for default endpoint provider and acc uploading
Browse files Browse the repository at this point in the history
  • Loading branch information
lihsai0 committed Jun 5, 2024
1 parent 0bb8c6f commit ab8fd3a
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 37 deletions.
4 changes: 2 additions & 2 deletions test/conf.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -186,9 +186,9 @@ describe('test Config class', function () {
.then(endpoints => {
const endpointsValues = endpoints.map(e => e.getValue());
should.deepEqual(endpointsValues, [
`${preferredScheme}://uc.qiniuapi.com`,
`${preferredScheme}://kodo-config.qiniuapi.com`,
`${preferredScheme}://uc.qbox.me`,
`${preferredScheme}://api.qiniu.com`
`${preferredScheme}://uc.qbox.me`
]);
});
});
Expand Down
49 changes: 32 additions & 17 deletions test/form_up.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ const qiniu = require('../index.js');
const {
Endpoint,
Region,
SERVICE_NAME,
StaticRegionsProvider
SERVICE_NAME
} = qiniu.httpc;

const {
Expand Down Expand Up @@ -67,6 +66,10 @@ describe('test form up', function () {
// delete all the files uploaded
const keysToDelete = [];
after(function () {
if (!keysToDelete.length) {
return;
}

const deleteOps = keysToDelete.map(k =>
qiniu.rs.deleteOp(bucketName, k)
);
Expand Down Expand Up @@ -448,23 +451,43 @@ describe('test form up', function () {

describe('test form up#accelerateUploading', function () {
const accConfig = new qiniu.conf.Config();
// accConfig.useHttpsDomain = true;
accConfig.useHttpsDomain = true;
accConfig.accelerateUploading = true;
const accFormUploader = new qiniu.form_up.FormUploader(accConfig);
const bucketNameWithoutAcc = 'bucket-without-acc-' + Math.floor(Math.random() * 100000);
const accPutPolicy = new qiniu.rs.PutPolicy({
scope: bucketNameWithoutAcc
});
const accUploadToken = accPutPolicy.uploadToken(mac);
const accFormUploader = new qiniu.form_up.FormUploader(accConfig);
const accKeysToDelete = [];

before(function () {
return bucketManager.createBucket(bucketNameWithoutAcc);
});

after(function () {
if (!accKeysToDelete.length) {
return;
}
return bucketManager.batch(accKeysToDelete.map(k => qiniu.rs.deleteOp(bucketNameWithoutAcc, k)))
.then(({ data, resp }) => {
if (!Array.isArray(data)) {
console.log(resp);
}
return bucketManager.deleteBucket(bucketNameWithoutAcc);
});
});

it('upload acc normally', function () {
const key = 'storage_putFile_acc_test' + Math.floor(Math.random() * 100000);

const promises = doAndWrapResultPromises(callback =>
accFormUploader.putFile(uploadToken, key, testFilePath2, putExtra, callback)
);

const checkFunc = ({ data }) => {
const checkFunc = ({ data, resp }) => {
const isAccelerateUploading = (resp.requestUrls || []).some(url => url.includes('kodo-accelerate'));
should.ok(isAccelerateUploading, `should using acc host, but requestUrls: ${JSON.stringify(resp.requestUrls)}`);
data.should.have.keys('key', 'hash');
};

Expand All @@ -480,10 +503,6 @@ describe('test form up', function () {
it('upload acc unavailable fallback to src', function () {
const key = 'storage_putFile_acc_test' + Math.floor(Math.random() * 100000);

const putPolicy = new qiniu.rs.PutPolicy({
scope: bucketNameWithoutAcc
});
const uploadToken = putPolicy.uploadToken(mac);
const r1 = Region.fromRegionId('z0');
r1.services[SERVICE_NAME.UP_ACC] = [
new Endpoint(`${bucketNameWithoutAcc}.kodo-accelerate.cn-east-1.qiniucs.com`),
Expand All @@ -492,7 +511,7 @@ describe('test form up', function () {
accConfig.regionsProvider = r1;

const promises = doAndWrapResultPromises(callback =>
accFormUploader.putFile(uploadToken, key, testFilePath2, putExtra, callback)
accFormUploader.putFile(accUploadToken, key, testFilePath2, putExtra, callback)
);

const checkFunc = ({ data }) => {
Expand All @@ -504,17 +523,13 @@ describe('test form up', function () {
.then(() => promises.native)
.then(checkFunc)
.then(() => {
keysToDelete.push(key);
accKeysToDelete.push(key);
});
});

it('upload acc network error fallback to src', function () {
const key = 'storage_putFile_acc_test' + Math.floor(Math.random() * 100000);

const putPolicy = new qiniu.rs.PutPolicy({
scope: bucketNameWithoutAcc
});
const uploadToken = putPolicy.uploadToken(mac);
const r1 = Region.fromRegionId('z0');
r1.services[SERVICE_NAME.UP_ACC] = [
new Endpoint('qiniu-acc.fake.qiniu.com'),
Expand All @@ -523,7 +538,7 @@ describe('test form up', function () {
accConfig.regionsProvider = r1;

const promises = doAndWrapResultPromises(callback =>
accFormUploader.putFile(uploadToken, key, testFilePath2, putExtra)
accFormUploader.putFile(accUploadToken, key, testFilePath2, putExtra)
);

const checkFunc = ({ data }) => {
Expand All @@ -535,7 +550,7 @@ describe('test form up', function () {
.then(() => promises.native)
.then(checkFunc)
.then(() => {
keysToDelete.push(key);
accKeysToDelete.push(key);
});
});
});
Expand Down
48 changes: 30 additions & 18 deletions test/resume_up.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,14 +107,14 @@ describe('test resume up', function () {

const keysToDelete = [];
after(function () {
if (!keysToDelete.length) {
return;
}

const deleteOps = keysToDelete.map(k =>
qiniu.rs.deleteOp(bucketName, k)
);

if (!deleteOps.length) {
return;
}

return bucketManager.batch(deleteOps)
.then(({ data, resp }) => {
if (!Array.isArray(data)) {
Expand Down Expand Up @@ -517,15 +517,33 @@ describe('test resume up', function () {

describe('test resume up#accelerateUploading', function () {
const accConfig = new qiniu.conf.Config();
// accConfig.useHttpsDomain = true;
accConfig.useHttpsDomain = true;
accConfig.accelerateUploading = true;
const accResumeUploader = new qiniu.resume_up.ResumeUploader(accConfig);
const bucketNameWithoutAcc = 'bucket-without-acc-' + Math.floor(Math.random() * 100000);
const accKeysToDelete = [];
const accPutPolicy = new qiniu.rs.PutPolicy({
scope: bucketNameWithoutAcc
});
const accUploadToken = accPutPolicy.uploadToken(mac);

before(function () {
return bucketManager.createBucket(bucketNameWithoutAcc);
});

after(function () {
if (!accKeysToDelete.length) {
return;
}
return bucketManager.batch(accKeysToDelete.map(k => qiniu.rs.deleteOp(bucketNameWithoutAcc, k)))
.then(({ data, resp }) => {
if (!Array.isArray(data)) {
console.log(resp);
}
return bucketManager.deleteBucket(bucketNameWithoutAcc);
});
});

testParams.forEach(function (testParam) {
const {
version,
Expand Down Expand Up @@ -563,7 +581,9 @@ describe('test resume up', function () {
accResumeUploader.putFile(uploadToken, key, testFilePath, putExtra, callback)
);

const checkFunc = ({ data }) => {
const checkFunc = ({ data, resp }) => {
const isAccelerateUploading = (resp.requestUrls || []).some(url => url.includes('kodo-accelerate'));
should.ok(isAccelerateUploading, `should using acc host, but requestUrls: ${JSON.stringify(resp.requestUrls)}`);
data.should.have.keys('key', 'hash');
};

Expand All @@ -579,10 +599,6 @@ describe('test resume up', function () {
it(`upload acc unavailable fallback to src; ${msg}`, function () {
const key = 'storage_putFile_acc_test' + Math.floor(Math.random() * 100000);

const putPolicy = new qiniu.rs.PutPolicy({
scope: bucketNameWithoutAcc
});
const uploadToken = putPolicy.uploadToken(mac);
const r1 = Region.fromRegionId('z0');
r1.services[SERVICE_NAME.UP_ACC] = [
new Endpoint(`${bucketNameWithoutAcc}.kodo-accelerate.cn-east-1.qiniucs.com`),
Expand All @@ -591,7 +607,7 @@ describe('test resume up', function () {
accConfig.regionsProvider = r1;

const promises = doAndWrapResultPromises(callback =>
accResumeUploader.putFile(uploadToken, key, testFilePath, putExtra, callback)
accResumeUploader.putFile(accUploadToken, key, testFilePath, putExtra, callback)
);

const checkFunc = ({ data }) => {
Expand All @@ -603,17 +619,13 @@ describe('test resume up', function () {
.then(() => promises.native)
.then(checkFunc)
.then(() => {
keysToDelete.push(key);
accKeysToDelete.push(key);
});
});

it(`upload acc network error fallback to src; ${msg}`, function () {
const key = 'storage_putFile_acc_test' + Math.floor(Math.random() * 100000);

const putPolicy = new qiniu.rs.PutPolicy({
scope: bucketNameWithoutAcc
});
const uploadToken = putPolicy.uploadToken(mac);
const r1 = Region.fromRegionId('z0');
r1.services[SERVICE_NAME.UP_ACC] = [
new Endpoint('qiniu-acc.fake.qiniu.com'),
Expand All @@ -622,7 +634,7 @@ describe('test resume up', function () {
accConfig.regionsProvider = r1;

const promises = doAndWrapResultPromises(callback =>
accResumeUploader.putFile(uploadToken, key, testFilePath, putExtra)
accResumeUploader.putFile(accUploadToken, key, testFilePath, putExtra)
);

const checkFunc = ({ data }) => {
Expand All @@ -634,7 +646,7 @@ describe('test resume up', function () {
.then(() => promises.native)
.then(checkFunc)
.then(() => {
keysToDelete.push(key);
accKeysToDelete.push(key);
});
});
});
Expand Down

0 comments on commit ab8fd3a

Please sign in to comment.