@@ -11,7 +11,6 @@ const WAIT_FOR_SIX_SECONDS = 6 * 1000; // 6 seconds in milliseconds
1111jest . setTimeout ( JEST_TIMEOUT ) ;
1212
1313let client : dgraph . DgraphClient ;
14- let aclClient : dgraph . DgraphClient ;
1514
1615const GROOT_PWD = "password" ;
1716const USERID = "alice" ;
@@ -39,18 +38,14 @@ async function cmd(command: string) {
3938
4039async function insertSampleData ( ) {
4140 const txn = client . newTxn ( ) ;
42- try {
43- const mu = new dgraph . Mutation ( ) ;
44- mu . setSetNquads ( `
45- _:prashant <${ PRED } > "Prashant" .
46- ` ) ;
47- mu . setCommitNow ( true ) ;
48- const res = await txn . mutate ( mu ) ;
49- const uid = res . getUidsMap ( ) . get ( "prashant" ) ;
50- expect ( uid ) . toBeDefined ( ) ;
51- } finally {
52- await txn . discard ( ) ;
53- }
41+ const mu = new dgraph . Mutation ( ) ;
42+ mu . setSetNquads ( `
43+ _:prashant <${ PRED } > "Prashant" .
44+ ` ) ;
45+ mu . setCommitNow ( true ) ;
46+ const res = await txn . mutate ( mu ) ;
47+ const uid = res . getUidsMap ( ) . get ( "prashant" ) ;
48+ expect ( uid ) . toBeDefined ( ) ;
5449}
5550
5651async function loginUser ( ) : Promise < dgraph . DgraphClient > {
@@ -72,7 +67,7 @@ async function aclSetup() {
7267 await addUser ( ) ;
7368 await addGroup ( ) ;
7469 await addUserToGroup ( ) ;
75- aclClient = await loginUser ( ) ;
70+ return loginUser ( ) ;
7671}
7772
7873async function addUser ( ) {
@@ -96,29 +91,24 @@ async function changePermission(permission: number) {
9691 await wait ( WAIT_FOR_SIX_SECONDS ) ;
9792}
9893
99- async function tryReading ( ) : Promise < Boolean > {
100- let success : Boolean ;
94+ async function tryReading ( aclClient : dgraph . DgraphClient ) : Promise < Boolean > {
10195 const txn = aclClient . newTxn ( ) ;
102- const query = `{
96+ const res : dgraph . Response = await txn . query ( `{
10397 me(func: has(${ PRED } )) {
10498 ${ PRED }
10599 }
106- }` ;
107-
108- const res : dgraph . Response = await txn . query ( query ) ;
100+ }` ) ;
109101 const data = res . getJson ( ) ;
110102 if ( data . me === undefined ) {
111103 expect ( data ) . toEqual ( { } ) ;
112- success = false ;
104+ return false ;
113105 } else {
114106 expect ( data . me ) . not . toHaveLength ( 0 ) ;
115- success = true ;
107+ return true ;
116108 }
117- return success ;
118109}
119110
120- async function tryWriting ( ) : Promise < Boolean > {
121- let success : Boolean ;
111+ async function tryWriting ( aclClient : dgraph . DgraphClient ) : Promise < Boolean > {
122112 const txn = aclClient . newTxn ( ) ;
123113 try {
124114 const mu = new dgraph . Mutation ( ) ;
@@ -129,63 +119,57 @@ async function tryWriting(): Promise<Boolean> {
129119 const res = await txn . mutate ( mu ) ;
130120 const uid = res . getUidsMap ( ) . get ( "ashish" ) ;
131121 expect ( uid ) . toBeDefined ( ) ;
132- success = true ;
122+ return true ;
133123 } catch ( e ) {
134124 expect ( e ) . toEqual ( MUTATE_PERMISSION_DENIED ) ;
135- success = false ;
125+ return false ;
136126 }
137- return success ;
138127}
139128
140- async function tryAltering ( ) : Promise < Boolean > {
141- let success : Boolean ;
129+ async function tryAltering ( aclClient : dgraph . DgraphClient ) : Promise < Boolean > {
142130 try {
143131 const operation = new dgraph . Operation ( ) ;
144132 operation . setSchema ( `
145133 ${ PRED } : string @index(exact, term) .
146134 ` ) ;
147135 await aclClient . alter ( operation ) ;
148- success = true ;
136+ return true ;
149137 } catch ( e ) {
150138 expect ( e ) . toEqual ( ALTER_PERMISSION_DENIED ) ;
151- success = false ;
139+ return false ;
152140 }
153- return success ;
154141}
155142
156143describe ( "ACL tests" , ( ) => {
157144 it ( "has no access" , async ( ) => {
158- await aclSetup ( ) ;
159- await expect ( tryReading ( ) ) . resolves . toBe ( false ) ;
160- await expect ( tryWriting ( ) ) . resolves . toBe ( false ) ;
161- await expect ( tryAltering ( ) ) . resolves . toBe ( false ) ;
145+ const aclClient = await aclSetup ( ) ;
146+ await changePermission ( 0 ) ;
147+ await expect ( tryReading ( aclClient ) ) . resolves . toBe ( false ) ;
148+ await expect ( tryWriting ( aclClient ) ) . resolves . toBe ( false ) ;
149+ await expect ( tryAltering ( aclClient ) ) . resolves . toBe ( false ) ;
162150 } ) ;
163151
164152 it ( "only has read access" , async ( ) => {
165- await aclSetup ( ) ;
153+ const aclClient = await aclSetup ( ) ;
166154 await changePermission ( 4 ) ;
167- await expect ( tryReading ( ) ) . resolves . toBe ( true ) ;
168- await expect ( tryWriting ( ) ) . resolves . toBe ( false ) ;
169- await expect ( tryAltering ( ) ) . resolves . toBe ( false ) ;
155+ await expect ( tryReading ( aclClient ) ) . resolves . toBe ( true ) ;
156+ await expect ( tryWriting ( aclClient ) ) . resolves . toBe ( false ) ;
157+ await expect ( tryAltering ( aclClient ) ) . resolves . toBe ( false ) ;
170158 } ) ;
171159
172160 it ( "only has write access" , async ( ) => {
173- await aclSetup ( ) ;
174- await changePermission ( 2 ) ;
175- await expect ( tryReading ( ) ) . resolves . toBe ( false ) ;
176- await expect ( tryWriting ( ) ) . resolves . toBe ( true ) ;
177- await expect ( tryAltering ( ) ) . resolves . toBe ( false ) ;
161+ const aclClient = await aclSetup ( ) ;
162+ await changePermission ( 2 ) ;
163+ await expect ( tryReading ( aclClient ) ) . resolves . toBe ( false ) ;
164+ await expect ( tryWriting ( aclClient ) ) . resolves . toBe ( true ) ;
165+ await expect ( tryAltering ( aclClient ) ) . resolves . toBe ( false ) ;
178166 } ) ;
179167
180168 it ( "only has modify access" , async ( ) => {
181- await aclSetup ( ) ;
169+ const aclClient = await aclSetup ( ) ;
182170 await changePermission ( 1 ) ;
183- await expect ( tryReading ( ) ) . resolves . toBe ( false ) ;
184- await expect ( tryWriting ( ) ) . resolves . toBe ( false ) ;
185- await expect ( tryAltering ( ) ) . resolves . toBe ( true ) ;
186- } ) ;
187-
188- afterEach ( async ( ) => {
189- await changePermission ( 0 ) ;
171+ await expect ( tryReading ( aclClient ) ) . resolves . toBe ( false ) ;
172+ await expect ( tryWriting ( aclClient ) ) . resolves . toBe ( false ) ;
173+ await expect ( tryAltering ( aclClient ) ) . resolves . toBe ( true ) ;
190174 } ) ;
191175} ) ;
0 commit comments