Skip to content

Commit a4027ab

Browse files
committed
CLDSRV-774: Add storeServerAccessLogInfo copy-source aclRequired test
1 parent 7d37099 commit a4027ab

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

tests/unit/metadata/metadataUtils.spec.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const {
1818
validateBucket,
1919
metadataGetObjects,
2020
metadataGetObject,
21+
storeServerAccessLogInfo,
2122
} = require('../../../lib/metadata/metadataUtils');
2223
const metadata = require('../../../lib/metadata/wrapper');
2324

@@ -150,3 +151,35 @@ describe('metadataGetObject', () => {
150151
});
151152
});
152153
});
154+
155+
describe('storeServerAccessLogInfo - copySource aclRequired', () => {
156+
it('should move source aclRequired to sourceServerAccessLog and restore destination value', () => {
157+
// Destination auth set aclRequired='Yes', then source auth ran on the
158+
// same request object and did not set aclRequired (owner on source).
159+
const request = {
160+
serverAccessLog: {},
161+
};
162+
const options = {
163+
copySource: true,
164+
savedAclRequired: 'Yes',
165+
};
166+
storeServerAccessLogInfo(request, null, null, options);
167+
assert.strictEqual(request.sourceServerAccessLog.aclRequired, undefined);
168+
assert.strictEqual(request.serverAccessLog.aclRequired, 'Yes');
169+
});
170+
171+
it('should swap aclRequired when source auth also required ACL check', () => {
172+
// Destination auth did not set aclRequired (owner on dest), then
173+
// source auth set aclRequired='Yes' on the same request object.
174+
const request = {
175+
serverAccessLog: { aclRequired: 'Yes' },
176+
};
177+
const options = {
178+
copySource: true,
179+
savedAclRequired: undefined,
180+
};
181+
storeServerAccessLogInfo(request, null, null, options);
182+
assert.strictEqual(request.sourceServerAccessLog.aclRequired, 'Yes');
183+
assert.strictEqual(request.serverAccessLog.aclRequired, undefined);
184+
});
185+
});

0 commit comments

Comments
 (0)