1
+ "use strict" ;
2
+ var webdav = require ( '../../lib/index.js' ) ,
3
+ path = require ( 'path' ) ,
4
+ fs = require ( 'fs' )
5
+
6
+ module . exports = ( test , options , index ) => test ( 'resource tester on the virtual stored resources' , ( isValid , server ) =>
7
+ {
8
+ isValid = isValid . multiple ( 2 , server ) ;
9
+
10
+ const storePath = path . join ( __dirname , 'resourceTesterVirtualStored' ) ;
11
+ for ( const file of fs . readdirSync ( storePath ) )
12
+ if ( file !== '.gitkeep' )
13
+ fs . unlinkSync ( path . join ( storePath , file ) ) ;
14
+ const store = new webdav . VirtualStoredFSManager ( new webdav . SimpleVirtualStoredContentManager ( storePath ) ) ;
15
+ store . initialize ( ( e ) => {
16
+ if ( e )
17
+ {
18
+ isValid ( false , e ) ;
19
+ return ;
20
+ }
21
+
22
+ new webdav . ResourceTester ( {
23
+ canHaveVirtualFolderChildren : false ,
24
+ canHaveVirtualFileChildren : false ,
25
+ canGetLastModifiedDate : true ,
26
+ canGetCreationDate : true ,
27
+ canRemoveChildren : false ,
28
+ canHaveChildren : false ,
29
+ canGetChildren : false ,
30
+ canGetMimeType : true ,
31
+ canBeCreated : true ,
32
+ canBeDeleted : true ,
33
+ canBeRenamed : true ,
34
+ canGetSize : true ,
35
+ canBeMoved : true ,
36
+ canWrite : true ,
37
+ canRead : true
38
+ } ,
39
+ ( willCreate , cb ) => {
40
+ const vsf = new webdav . VirtualStoredFile ( 'test' , null , store ) ;
41
+ if ( willCreate )
42
+ cb ( vsf ) ;
43
+ else
44
+ vsf . create ( ( e ) => {
45
+ if ( e ) throw e ;
46
+ cb ( vsf )
47
+ } )
48
+ }
49
+ ) . run ( ( results ) => {
50
+ isValid ( results . all . isValid , results . all . errors ) ;
51
+ } )
52
+
53
+ new webdav . ResourceTester ( {
54
+ canHaveVirtualFolderChildren : true ,
55
+ canHaveVirtualFileChildren : true ,
56
+ canGetLastModifiedDate : true ,
57
+ canGetCreationDate : true ,
58
+ canRemoveChildren : true ,
59
+ canHaveChildren : true ,
60
+ canGetChildren : true ,
61
+ canGetMimeType : false ,
62
+ canBeCreated : true ,
63
+ canBeDeleted : true ,
64
+ canBeRenamed : true ,
65
+ canGetSize : false ,
66
+ canBeMoved : true ,
67
+ canWrite : false ,
68
+ canRead : false
69
+ } ,
70
+ ( willCreate , cb ) => {
71
+ const vsf = new webdav . VirtualStoredFolder ( 'test' , null , store ) ;
72
+ if ( willCreate )
73
+ cb ( vsf ) ;
74
+ else
75
+ vsf . create ( ( e ) => {
76
+ if ( e ) throw e ;
77
+ cb ( vsf )
78
+ } )
79
+ }
80
+ ) . run ( ( results ) => {
81
+ isValid ( results . all . isValid , results . all . errors ) ;
82
+ } )
83
+ } )
84
+ } )
0 commit comments