mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 06:03:45 +01:00
[web] disable filestore writes (#23470)
GitOrigin-RevId: 96ccd9205f9bf21420e67aaa68f8bc035eeb87d8
This commit is contained in:
@@ -187,22 +187,33 @@ describe('ProjectStructureChanges', function () {
|
||||
|
||||
const cases = [
|
||||
{
|
||||
label: 'with filestore disabled',
|
||||
label: 'with filestore disabled and project-history-blobs enabled',
|
||||
disableFilestore: true,
|
||||
enableProjectHistoryBlobs: true,
|
||||
},
|
||||
{
|
||||
label: 'with filestore enabled',
|
||||
label: 'with filestore enabled and project-history-blobs enabled',
|
||||
disableFilestore: false,
|
||||
enableProjectHistoryBlobs: true,
|
||||
},
|
||||
{
|
||||
label: 'with filestore enabled and project-history-blobs disabled',
|
||||
disableFilestore: false,
|
||||
enableProjectHistoryBlobs: false,
|
||||
},
|
||||
]
|
||||
for (const { label, disableFilestore } of cases) {
|
||||
for (const { label, disableFilestore, enableProjectHistoryBlobs } of cases) {
|
||||
describe(label, function () {
|
||||
const previousSetting = Settings.disableFilestore
|
||||
const previousDisableFilestore = Settings.disableFilestore
|
||||
const previousEnableProjectHistoryBlobs =
|
||||
Settings.enableProjectHistoryBlobs
|
||||
beforeEach(function () {
|
||||
Settings.disableFilestore = disableFilestore
|
||||
Settings.enableProjectHistoryBlobs = enableProjectHistoryBlobs
|
||||
})
|
||||
afterEach(function () {
|
||||
Settings.disableFilestore = previousSetting
|
||||
Settings.disableFilestore = previousDisableFilestore
|
||||
Settings.enableProjectHistoryBlobs = previousEnableProjectHistoryBlobs
|
||||
})
|
||||
|
||||
describe('creating a project from the example template', function () {
|
||||
|
||||
@@ -8,8 +8,10 @@ import User from '../../../../../test/acceptance/src/helpers/User.mjs'
|
||||
import MockProjectHistoryApiClass from '../../../../../test/acceptance/src/mocks/MockProjectHistoryApi.mjs'
|
||||
import MockDocstoreApiClass from '../../../../../test/acceptance/src/mocks/MockDocstoreApi.mjs'
|
||||
import MockFilestoreApiClass from '../../../../../test/acceptance/src/mocks/MockFilestoreApi.mjs'
|
||||
import MockV1HistoryApiClass from '../../../../../test/acceptance/src/mocks/MockV1HistoryApi.mjs'
|
||||
import Features from '../../../../../app/src/infrastructure/Features.js'
|
||||
|
||||
let MockProjectHistoryApi, MockDocstoreApi, MockFilestoreApi
|
||||
let MockProjectHistoryApi, MockDocstoreApi, MockFilestoreApi, MockV1HistoryApi
|
||||
|
||||
const __dirname = fileURLToPath(new URL('.', import.meta.url))
|
||||
|
||||
@@ -17,6 +19,7 @@ before(function () {
|
||||
MockProjectHistoryApi = MockProjectHistoryApiClass.instance()
|
||||
MockDocstoreApi = MockDocstoreApiClass.instance()
|
||||
MockFilestoreApi = MockFilestoreApiClass.instance()
|
||||
MockV1HistoryApi = MockV1HistoryApiClass.instance()
|
||||
})
|
||||
|
||||
describe('RestoringFiles', function () {
|
||||
@@ -118,20 +121,41 @@ describe('RestoringFiles', function () {
|
||||
)
|
||||
})
|
||||
|
||||
it('should have created a file', function (done) {
|
||||
this.owner.getProject(this.project_id, (error, project) => {
|
||||
if (error) {
|
||||
throw error
|
||||
}
|
||||
let file = _.find(
|
||||
project.rootFolder[0].fileRefs,
|
||||
file => file.name === 'image.png'
|
||||
)
|
||||
file = MockFilestoreApi.getFile(this.project_id, file._id)
|
||||
expect(file).to.deep.equal(this.pngData)
|
||||
done()
|
||||
if (Features.hasFeature('project-history-blobs')) {
|
||||
it('should have created a file in history-v1', function (done) {
|
||||
this.owner.getProject(this.project_id, (error, project) => {
|
||||
if (error) {
|
||||
throw error
|
||||
}
|
||||
let file = _.find(
|
||||
project.rootFolder[0].fileRefs,
|
||||
file => file.name === 'image.png'
|
||||
)
|
||||
file =
|
||||
MockV1HistoryApi.blobs[project.overleaf.history.id.toString()][
|
||||
file.hash
|
||||
]
|
||||
expect(file).to.deep.equal(Buffer.from(this.pngData))
|
||||
done()
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
if (Features.hasFeature('filestore')) {
|
||||
it('should have created a file in filestore', function (done) {
|
||||
this.owner.getProject(this.project_id, (error, project) => {
|
||||
if (error) {
|
||||
throw error
|
||||
}
|
||||
let file = _.find(
|
||||
project.rootFolder[0].fileRefs,
|
||||
file => file.name === 'image.png'
|
||||
)
|
||||
file = MockFilestoreApi.getFile(this.project_id, file._id)
|
||||
expect(file).to.deep.equal(this.pngData)
|
||||
done()
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
describe('restoring to a directory that exists', function () {
|
||||
|
||||
Reference in New Issue
Block a user