Skip to content

Commit

Permalink
Added tests for the DELETE method
Browse files Browse the repository at this point in the history
  • Loading branch information
AdrienCastex committed Jun 28, 2017
1 parent e529f71 commit 59e4201
Show file tree
Hide file tree
Showing 5 changed files with 94 additions and 0 deletions.
30 changes: 30 additions & 0 deletions test/v2/tests.ts/delete/.createFiles.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import { TestCallback, TestInfo } from '../Type'
import { v2 } from '../../../../lib/index.js'

export function starter(server : v2.WebDAVServer, info : TestInfo, isValid : TestCallback, name : string, expectedStatusCode : number, callback ?: (server : v2.WebDAVServer) => void) : void
{
server.rootFileSystem().addSubTree(v2.RequestContext.createExternal(server), {
'emptyFolder1': v2.ResourceType.Directory,
'folder1': {
'emptyFolder2': v2.ResourceType.Directory,
'file2': v2.ResourceType.File,
'folder2': {
'emptyFolder3': v2.ResourceType.Directory,
'file3': v2.ResourceType.File
}
},
'file1': v2.ResourceType.File
}, (e) => {
if(e) return isValid(false, 'Cannot call "addSubTree(...)".', e);

info.req({
url: 'http://localhost:' + server.options.port + '/' + name,
method: 'DELETE'
}, expectedStatusCode, () => {
if(!callback)
isValid(true);
else
callback(server);
})
})
}
27 changes: 27 additions & 0 deletions test/v2/tests.ts/delete/deleteOnDirectory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { Test } from '../Type'
import { v2 } from '../../../../lib/index.js'
import { starter } from './.createFiles'

export default ((info, isValid) =>
{
const server1 = info.init(2);

function test(path : string)
{
return (server : v2.WebDAVServer) => {
info.req({
url: 'http://localhost:' + server.options.port + '/' + path,
method: 'PROPFIND',
headers: {
Depth: 0
}
}, v2.HTTPCodes.NotFound, () => {
isValid(true);
})
}
}

starter(info.startServer(), info, isValid, 'folder1', v2.HTTPCodes.OK, test('folder1/file2'));
starter(info.startServer(), info, isValid, 'folder1/folder2', v2.HTTPCodes.OK, test('folder1/folder2/file3'));

}) as Test;
13 changes: 13 additions & 0 deletions test/v2/tests.ts/delete/deleteOnEmptyDirectory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { Test } from '../Type'
import { v2 } from '../../../../lib/index.js'
import { starter } from './.createFiles'

export default ((info, isValid) =>
{
const server1 = info.init(3);

starter(info.startServer(), info, isValid, 'emptyFolder1', v2.HTTPCodes.OK);
starter(info.startServer(), info, isValid, 'folder1/emptyFolder2', v2.HTTPCodes.OK);
starter(info.startServer(), info, isValid, 'folder1/folder2/emptyFolder3', v2.HTTPCodes.OK);

}) as Test;
13 changes: 13 additions & 0 deletions test/v2/tests.ts/delete/deleteOnFile.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { Test } from '../Type'
import { v2 } from '../../../../lib/index.js'
import { starter } from './.createFiles'

export default ((info, isValid) =>
{
const server1 = info.init(3);

starter(info.startServer(), info, isValid, 'file1', v2.HTTPCodes.OK);
starter(info.startServer(), info, isValid, 'folder1/file2', v2.HTTPCodes.OK);
starter(info.startServer(), info, isValid, 'folder1/folder2/file3', v2.HTTPCodes.OK);

}) as Test;
11 changes: 11 additions & 0 deletions test/v2/tests.ts/delete/deleteOnUndefined.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { Test } from '../Type'
import { v2 } from '../../../../lib/index.js'
import { starter } from './.createFiles'

export default ((info, isValid) =>
{
const server1 = info.init(1);

starter(info.startServer(), info, isValid, 'fileUndefined', v2.HTTPCodes.NotFound);

}) as Test;

0 comments on commit 59e4201

Please sign in to comment.