Compare commits
No commits in common. "c005716c5fa2f44e82708da974e2d35648b830cc" and "73f8a536ac36b7d64807c3f5e162f81ed052d246" have entirely different histories.
c005716c5f
...
73f8a536ac
|
|
@ -17,8 +17,6 @@ import { ServerModule } from '@/server/ServerModule.js';
|
||||||
import { ServerService } from '@/server/ServerService.js';
|
import { ServerService } from '@/server/ServerService.js';
|
||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
|
|
||||||
// TODO: uploadableFileTypes で許可されていないファイルが弾かれるかのテスト
|
|
||||||
|
|
||||||
describe('/drive/files/create', () => {
|
describe('/drive/files/create', () => {
|
||||||
let module: TestingModule;
|
let module: TestingModule;
|
||||||
let server: FastifyInstance;
|
let server: FastifyInstance;
|
||||||
|
|
@ -27,8 +25,6 @@ describe('/drive/files/create', () => {
|
||||||
|
|
||||||
let root: MiUser;
|
let root: MiUser;
|
||||||
let role_tinyAttachment: MiRole;
|
let role_tinyAttachment: MiRole;
|
||||||
let role_imageOnly: MiRole;
|
|
||||||
let role_allowAllTypes: MiRole;
|
|
||||||
|
|
||||||
let folder: MiDriveFolder;
|
let folder: MiDriveFolder;
|
||||||
|
|
||||||
|
|
@ -68,34 +64,10 @@ describe('/drive/files/create', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
roleService = module.get<RoleService>(RoleService);
|
roleService = module.get<RoleService>(RoleService);
|
||||||
role_imageOnly = await roleService.create({
|
role_tinyAttachment = await roleService.create({
|
||||||
name: 'test-role001',
|
name: 'test-role001',
|
||||||
description: 'Test role001 description',
|
description: 'Test role001 description',
|
||||||
target: 'manual',
|
target: 'manual',
|
||||||
policies: {
|
|
||||||
uploadableFileTypes: {
|
|
||||||
useDefault: false,
|
|
||||||
priority: 1,
|
|
||||||
value: ['image/png'],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
role_allowAllTypes = await roleService.create({
|
|
||||||
name: 'test-role002',
|
|
||||||
description: 'Test role002 description',
|
|
||||||
target: 'manual',
|
|
||||||
policies: {
|
|
||||||
uploadableFileTypes: {
|
|
||||||
useDefault: false,
|
|
||||||
priority: 1,
|
|
||||||
value: ['*/*'],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
role_tinyAttachment = await roleService.create({
|
|
||||||
name: 'test-role003',
|
|
||||||
description: 'Test role003 description',
|
|
||||||
target: 'manual',
|
|
||||||
policies: {
|
policies: {
|
||||||
maxFileSizeMb: {
|
maxFileSizeMb: {
|
||||||
useDefault: false,
|
useDefault: false,
|
||||||
|
|
@ -110,10 +82,6 @@ describe('/drive/files/create', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await roleService.unassign(root.id, role_tinyAttachment.id).catch(() => {
|
await roleService.unassign(root.id, role_tinyAttachment.id).catch(() => {
|
||||||
});
|
});
|
||||||
await roleService.unassign(root.id, role_imageOnly.id).catch(() => {
|
|
||||||
});
|
|
||||||
await roleService.unassign(root.id, role_allowAllTypes.id).catch(() => {
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
|
|
@ -142,9 +110,7 @@ describe('/drive/files/create', () => {
|
||||||
.field('i', root.token ?? '');
|
.field('i', root.token ?? '');
|
||||||
}
|
}
|
||||||
|
|
||||||
test('200 ok (all types allowed)', async () => {
|
test('200 ok', async () => {
|
||||||
await roleService.assign(root.id, role_allowAllTypes.id);
|
|
||||||
|
|
||||||
const name = randomString();
|
const name = randomString();
|
||||||
const comment = randomString();
|
const comment = randomString();
|
||||||
const result = await postFile({
|
const result = await postFile({
|
||||||
|
|
@ -161,24 +127,7 @@ describe('/drive/files/create', () => {
|
||||||
expect(result.body.folderId).toBe(folder.id);
|
expect(result.body.folderId).toBe(folder.id);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('400 when not allowed type', async () => {
|
test('200 ok(with role)', async () => {
|
||||||
await roleService.assign(root.id, role_imageOnly.id);
|
|
||||||
|
|
||||||
const name = randomString();
|
|
||||||
const comment = randomString();
|
|
||||||
const result = await postFile({
|
|
||||||
name: name,
|
|
||||||
comment: comment,
|
|
||||||
isSensitive: true,
|
|
||||||
force: true,
|
|
||||||
fileContent: Buffer.from('a'.repeat(10)),
|
|
||||||
});
|
|
||||||
expect(result.statusCode).toBe(400);
|
|
||||||
expect(result.body.error.code).toBe('UNALLOWED_FILE_TYPE');
|
|
||||||
});
|
|
||||||
|
|
||||||
test('200 ok (with size limited role)', async () => {
|
|
||||||
await roleService.assign(root.id, role_allowAllTypes.id);
|
|
||||||
await roleService.assign(root.id, role_tinyAttachment.id);
|
await roleService.assign(root.id, role_tinyAttachment.id);
|
||||||
|
|
||||||
const name = randomString();
|
const name = randomString();
|
||||||
|
|
@ -198,7 +147,6 @@ describe('/drive/files/create', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('413 too large', async () => {
|
test('413 too large', async () => {
|
||||||
await roleService.assign(root.id, role_allowAllTypes.id);
|
|
||||||
await roleService.assign(root.id, role_tinyAttachment.id);
|
await roleService.assign(root.id, role_tinyAttachment.id);
|
||||||
|
|
||||||
const name = randomString();
|
const name = randomString();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue