feat: 完成现有小程序接口的全部迁移至新后端
This commit is contained in:
@@ -164,3 +164,55 @@ test('题型新品窗口与公共资源域名校验,缺省域名不构造七
|
||||
/QINIU_PUBLIC_DOMAIN/,
|
||||
);
|
||||
});
|
||||
|
||||
test('七牛空间与路径前缀校验,允许空前缀且不回显非法配置', () => {
|
||||
const config = getServerConfig({
|
||||
...env,
|
||||
QINIU_KEY_PREFIX: 'doodle-assets///',
|
||||
QINIU_BUCKET: 'doodle-cn',
|
||||
});
|
||||
assert.equal(config.qiniuKeyPrefix, 'doodle-assets/');
|
||||
assert.equal(config.qiniuBucket, 'doodle-cn');
|
||||
assert.equal(
|
||||
getServerConfig({ ...env, QINIU_KEY_PREFIX: '' }).qiniuKeyPrefix,
|
||||
'',
|
||||
);
|
||||
for (const value of [
|
||||
'/absolute',
|
||||
'/',
|
||||
'../escape',
|
||||
'a/../b',
|
||||
'a//b',
|
||||
'a\\b',
|
||||
'a\n',
|
||||
])
|
||||
assert.throws(
|
||||
() => getServerConfig({ ...env, QINIU_KEY_PREFIX: value }),
|
||||
/QINIU_KEY_PREFIX/,
|
||||
);
|
||||
assert.throws(
|
||||
() => getServerConfig({ ...env, QINIU_BUCKET: 'bad/bucket' }),
|
||||
/QINIU_BUCKET/,
|
||||
);
|
||||
});
|
||||
|
||||
test('七牛上传凭据成对校验且不泄漏值,刷新小时限制为 UTC 0~23', () => {
|
||||
assert.equal(getServerConfig(env).qiniuAk, '');
|
||||
for (const fields of [
|
||||
{ QINIU_AK: 'private-ak' },
|
||||
{ QINIU_SK: 'private-sk' },
|
||||
{ QINIU_AK: 'a b', QINIU_SK: 'private-sk' },
|
||||
{ QINIU_REGION: '../escape' },
|
||||
{ SITE_REFRESH_HOUR_UTC: '24' },
|
||||
])
|
||||
assert.throws(
|
||||
() => getServerConfig({ ...env, ...fields }),
|
||||
(error: unknown) =>
|
||||
error instanceof Error && !error.message.includes('private-'),
|
||||
);
|
||||
assert.equal(
|
||||
getServerConfig({ ...env, SITE_REFRESH_HOUR_UTC: '8' })
|
||||
.siteRefreshHourUtc,
|
||||
8,
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user