Просмотр исходного кода

Merge pull request #8376 from overleaf/jpa-delete-zonal-downloads-split-test

[web] tear down split test on zonal downloads -- keep zonal variant

GitOrigin-RevId: a7e1f48cdc64175e4fc28828ad9a46b0a28383b5
Timothée Alby 4 лет назад
Родитель
Сommit
825c06a3b4

+ 14 - 33
services/web/app/src/Features/Compile/CompileController.js

@@ -13,7 +13,6 @@ const ClsiCookieManager = require('./ClsiCookieManager')(
   Settings.apis.clsi?.backendGroupName
 )
 const Path = require('path')
-const SplitTestHandler = require('../SplitTests/SplitTestHandler')
 
 const COMPILE_TIMEOUT_MS = 10 * 60 * 1000
 
@@ -84,38 +83,20 @@ module.exports = CompileController = {
           return next(error)
         }
         Metrics.inc('compile-status', 1, { status })
-        SplitTestHandler.getAssignment(
-          req,
-          res,
-          'zonal-clsi-lb-downloads',
-          {},
-          (_err, assignment) => {
-            if (Array.isArray(outputFiles)) {
-              // NOTE: keep this around as a safeguard for rolling back clsi.
-              outputFiles.forEach(file => {
-                file.url = file.url.replace(/^\/zone\/\w/, '')
-              })
-            }
-            let pdfDownloadDomain = Settings.pdfDownloadDomain
-            if (
-              assignment?.variant === 'zonal' &&
-              pdfDownloadDomain &&
-              outputUrlPrefix
-            ) {
-              pdfDownloadDomain += outputUrlPrefix
-            }
-            res.json({
-              status,
-              outputFiles,
-              compileGroup: limits?.compileGroup,
-              clsiServerId,
-              validationProblems,
-              stats,
-              timings,
-              pdfDownloadDomain,
-            })
-          }
-        )
+        let pdfDownloadDomain = Settings.pdfDownloadDomain
+        if (pdfDownloadDomain && outputUrlPrefix) {
+          pdfDownloadDomain += outputUrlPrefix
+        }
+        res.json({
+          status,
+          outputFiles,
+          compileGroup: limits?.compileGroup,
+          clsiServerId,
+          validationProblems,
+          stats,
+          timings,
+          pdfDownloadDomain,
+        })
       }
     )
   },

+ 21 - 86
services/web/test/unit/src/Compile/CompileControllerTests.js

@@ -87,49 +87,17 @@ describe('CompileController', function () {
       )
     })
 
-    describe('zonal downloads', function () {
+    describe('pdfDownloadDomain', function () {
       beforeEach(function () {
         this.settings.pdfDownloadDomain = 'https://compiles.overleaf.test'
-        this.CompileManager.compile = sinon.stub().callsArgWith(
-          3,
-          null,
-          (this.status = 'success'),
-          (this.outputFiles = [
-            {
-              path: 'output.pdf',
-              url: `/project/${this.projectId}/user/${this.user_id}/build/id/output.pdf`,
-              type: 'pdf',
-            },
-          ]),
-          undefined, // clsiServerId
-          undefined, // limits
-          undefined, // validationProblems
-          undefined, // stats
-          undefined, // timings
-          '/zone/b'
-        )
       })
 
-      describe('when in the default split test variant and with the old clsi deploy', function () {
+      describe('when clsi does not emit zone prefix', function () {
         beforeEach(function () {
-          this.getAssignment.yields(null, { variant: 'default' })
-          this.CompileManager.compile = sinon.stub().callsArgWith(
-            3,
-            null,
-            (this.status = 'success'),
-            (this.outputFiles = [
-              {
-                path: 'output.pdf',
-                // The previous clsi version sent the zone prefix in the url
-                url: `/zone/b/project/${this.projectId}/user/${this.user_id}/build/id/output.pdf`,
-                type: 'pdf',
-              },
-            ])
-          )
           this.CompileController.compile(this.req, this.res, this.next)
         })
 
-        it('should remove the zone prefix', function () {
+        it('should add domain verbatim', function () {
           this.res.statusCode.should.equal(200)
           this.res.body.should.equal(
             JSON.stringify({
@@ -147,59 +115,26 @@ describe('CompileController', function () {
         })
       })
 
-      describe('when in the default split test variant and not output files were returned', function () {
-        beforeEach(function () {
-          this.getAssignment.yields(null, { variant: 'default' })
-          this.CompileManager.compile = sinon
-            .stub()
-            .callsArgWith(
-              3,
-              null,
-              (this.status = 'success'),
-              (this.outputFiles = null)
-            )
-          this.CompileController.compile(this.req, this.res, this.next)
-        })
-
-        it('should ignore the output files', function () {
-          this.res.statusCode.should.equal(200)
-          this.res.body.should.equal(
-            JSON.stringify({
-              status: this.status,
-              outputFiles: null,
-              pdfDownloadDomain: 'https://compiles.overleaf.test',
-            })
-          )
-        })
-      })
-
-      describe('when in the default split test variant', function () {
+      describe('when clsi emits a zone prefix', function () {
         beforeEach(function () {
-          this.getAssignment.yields(null, { variant: 'default' })
-          this.CompileController.compile(this.req, this.res, this.next)
-        })
-
-        it('should remove the zone prefix', function () {
-          this.res.statusCode.should.equal(200)
-          this.res.body.should.equal(
-            JSON.stringify({
-              status: this.status,
-              outputFiles: [
-                {
-                  path: 'output.pdf',
-                  url: `/project/${this.projectId}/user/${this.user_id}/build/id/output.pdf`,
-                  type: 'pdf',
-                },
-              ],
-              pdfDownloadDomain: 'https://compiles.overleaf.test',
-            })
+          this.CompileManager.compile = sinon.stub().callsArgWith(
+            3,
+            null,
+            (this.status = 'success'),
+            (this.outputFiles = [
+              {
+                path: 'output.pdf',
+                url: `/project/${this.projectId}/user/${this.user_id}/build/id/output.pdf`,
+                type: 'pdf',
+              },
+            ]),
+            undefined, // clsiServerId
+            undefined, // limits
+            undefined, // validationProblems
+            undefined, // stats
+            undefined, // timings
+            '/zone/b'
           )
-        })
-      })
-
-      describe('when in the zonal split test variant', function () {
-        beforeEach(function () {
-          this.getAssignment.yields(null, { variant: 'zonal' })
           this.CompileController.compile(this.req, this.res, this.next)
         })