mirror of
				https://github.com/gristlabs/grist-core.git
				synced 2025-06-13 20:53:59 +00:00 
			
		
		
		
	Removing dependency on REDIS in webhook tests
This commit is contained in:
		
							parent
							
								
									7dc49f3c85
								
							
						
					
					
						commit
						0b6b8feb2b
					
				@ -12,7 +12,7 @@
 | 
				
			|||||||
    "install:python3": "buildtools/prepare_python3.sh",
 | 
					    "install:python3": "buildtools/prepare_python3.sh",
 | 
				
			||||||
    "build:prod": "buildtools/build.sh",
 | 
					    "build:prod": "buildtools/build.sh",
 | 
				
			||||||
    "start:prod": "sandbox/run.sh",
 | 
					    "start:prod": "sandbox/run.sh",
 | 
				
			||||||
    "test": "GRIST_SESSION_COOKIE=grist_test_cookie GRIST_TEST_LOGIN=1 TEST_SUPPORT_API_KEY=api_key_for_support TEST_CLEAN_DATABASE=true NODE_PATH=_build:_build/stubs:_build/ext mocha ${DEBUG:+-b --no-exit} ${DEBUG:---forbid-only} -g ${GREP_TESTS:-''} _build/test/common/*.js _build/test/client/*.js _build/test/nbrowser/*.js _build/test/server/**/*.js _build/test/gen-server/**/*.js",
 | 
					    "test": "GRIST_SESSION_COOKIE=grist_test_cookie GRIST_TEST_LOGIN=1 TEST_SUPPORT_API_KEY=api_key_for_support TEST_CLEAN_DATABASE=true NODE_PATH=_build:_build/stubs:_build/ext mocha ${DEBUG:+-b --no-exit} --slow 8000 ${DEBUG:---forbid-only} -g ${GREP_TESTS:-''} _build/test/common/*.js _build/test/client/*.js _build/test/nbrowser/*.js _build/test/server/**/*.js _build/test/gen-server/**/*.js",
 | 
				
			||||||
    "test:nbrowser": "GRIST_SESSION_COOKIE=grist_test_cookie GRIST_TEST_LOGIN=1 TEST_SUPPORT_API_KEY=api_key_for_support TEST_CLEAN_DATABASE=true NODE_PATH=_build:_build/stubs:_build/ext mocha ${DEBUG:+-b --no-exit} ${DEBUG:---forbid-only} -g ${GREP_TESTS:-''} --slow 8000 _build/test/nbrowser/**/*.js",
 | 
					    "test:nbrowser": "GRIST_SESSION_COOKIE=grist_test_cookie GRIST_TEST_LOGIN=1 TEST_SUPPORT_API_KEY=api_key_for_support TEST_CLEAN_DATABASE=true NODE_PATH=_build:_build/stubs:_build/ext mocha ${DEBUG:+-b --no-exit} ${DEBUG:---forbid-only} -g ${GREP_TESTS:-''} --slow 8000 _build/test/nbrowser/**/*.js",
 | 
				
			||||||
    "test:client": "GRIST_SESSION_COOKIE=grist_test_cookie NODE_PATH=_build:_build/stubs:_build/ext mocha ${DEBUG:+'-b'} _build/test/client/**/*.js",
 | 
					    "test:client": "GRIST_SESSION_COOKIE=grist_test_cookie NODE_PATH=_build:_build/stubs:_build/ext mocha ${DEBUG:+'-b'} _build/test/client/**/*.js",
 | 
				
			||||||
    "test:common": "GRIST_SESSION_COOKIE=grist_test_cookie NODE_PATH=_build:_build/stubs:_build/ext mocha ${DEBUG:+'-b'} _build/test/common/**/*.js",
 | 
					    "test:common": "GRIST_SESSION_COOKIE=grist_test_cookie NODE_PATH=_build:_build/stubs:_build/ext mocha ${DEBUG:+'-b'} _build/test/common/**/*.js",
 | 
				
			||||||
 | 
				
			|||||||
@ -2990,7 +2990,6 @@ function testDocApi() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    before(async function() {
 | 
					    before(async function() {
 | 
				
			||||||
      this.timeout(30000);
 | 
					      this.timeout(30000);
 | 
				
			||||||
      if (!process.env.TEST_REDIS_URL) { this.skip(); }
 | 
					 | 
				
			||||||
      requests = {
 | 
					      requests = {
 | 
				
			||||||
        "add,update": [],
 | 
					        "add,update": [],
 | 
				
			||||||
        "add": [],
 | 
					        "add": [],
 | 
				
			||||||
@ -3059,6 +3058,22 @@ function testDocApi() {
 | 
				
			|||||||
          }
 | 
					          }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
      }, webhooksTestPort);
 | 
					      }, webhooksTestPort);
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    after(async function() {
 | 
				
			||||||
 | 
					      await serving.shutdown();
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    describe('table endpoints', function() {
 | 
				
			||||||
 | 
					      before(async function() {
 | 
				
			||||||
 | 
					        this.timeout(30000);
 | 
				
			||||||
 | 
					        // We rely on the REDIS server in this test.
 | 
				
			||||||
 | 
					        if (!process.env.TEST_REDIS_URL) { this.skip(); }
 | 
				
			||||||
 | 
					        requests = {
 | 
				
			||||||
 | 
					          "add,update": [],
 | 
				
			||||||
 | 
					          "add": [],
 | 
				
			||||||
 | 
					          "update": [],
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        redisCalls = [];
 | 
					        redisCalls = [];
 | 
				
			||||||
        redisMonitor = createClient(process.env.TEST_REDIS_URL);
 | 
					        redisMonitor = createClient(process.env.TEST_REDIS_URL);
 | 
				
			||||||
@ -3070,7 +3085,6 @@ function testDocApi() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      after(async function() {
 | 
					      after(async function() {
 | 
				
			||||||
        if (!process.env.TEST_REDIS_URL) { this.skip(); }
 | 
					        if (!process.env.TEST_REDIS_URL) { this.skip(); }
 | 
				
			||||||
      await serving.shutdown();
 | 
					 | 
				
			||||||
        await redisMonitor.quitAsync();
 | 
					        await redisMonitor.quitAsync();
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -3204,6 +3218,28 @@ function testDocApi() {
 | 
				
			|||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    describe("/webhooks endpoint", function() {
 | 
				
			||||||
 | 
					      let docId: string;
 | 
				
			||||||
 | 
					      let doc: DocAPI;
 | 
				
			||||||
 | 
					      let stats: WebhookSummary[];
 | 
				
			||||||
 | 
					      before(async function() {
 | 
				
			||||||
 | 
					        // Create a test document.
 | 
				
			||||||
 | 
					        const ws1 = (await userApi.getOrgWorkspaces('current'))[0].id;
 | 
				
			||||||
 | 
					        docId = await userApi.newDoc({name: 'testdoc2'}, ws1);
 | 
				
			||||||
 | 
					        doc = userApi.getDocAPI(docId);
 | 
				
			||||||
 | 
					        await axios.post(`${serverUrl}/api/docs/${docId}/apply`, [
 | 
				
			||||||
 | 
					          ['ModifyColumn', 'Table1', 'B', {type: 'Bool'}],
 | 
				
			||||||
 | 
					        ], chimpy);
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      const waitForQueue = async (length: number) => {
 | 
				
			||||||
 | 
					        await waitForIt(async () => {
 | 
				
			||||||
 | 
					          stats = await readStats(docId);
 | 
				
			||||||
 | 
					          assert.equal(length, _.sum(stats.map(x => x.usage?.numWaiting ?? 0)));
 | 
				
			||||||
 | 
					        }, 1000, 200);
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      it("should clear the outgoing queue", async() => {
 | 
					      it("should clear the outgoing queue", async() => {
 | 
				
			||||||
        // Create a test document.
 | 
					        // Create a test document.
 | 
				
			||||||
@ -3406,27 +3442,6 @@ function testDocApi() {
 | 
				
			|||||||
        await webhook1();
 | 
					        await webhook1();
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    describe("/webhooks endpoint", function() {
 | 
					 | 
				
			||||||
      let docId: string;
 | 
					 | 
				
			||||||
      let doc: DocAPI;
 | 
					 | 
				
			||||||
      let stats: WebhookSummary[];
 | 
					 | 
				
			||||||
      before(async() => {
 | 
					 | 
				
			||||||
        // Create a test document.
 | 
					 | 
				
			||||||
        const ws1 = (await userApi.getOrgWorkspaces('current'))[0].id;
 | 
					 | 
				
			||||||
        docId = await userApi.newDoc({name: 'testdoc2'}, ws1);
 | 
					 | 
				
			||||||
        doc = userApi.getDocAPI(docId);
 | 
					 | 
				
			||||||
        await axios.post(`${serverUrl}/api/docs/${docId}/apply`, [
 | 
					 | 
				
			||||||
          ['ModifyColumn', 'Table1', 'B', {type: 'Bool'}],
 | 
					 | 
				
			||||||
        ], chimpy);
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      const waitForQueue = async (length: number) => {
 | 
					 | 
				
			||||||
        await waitForIt(async () => {
 | 
					 | 
				
			||||||
          stats = await readStats(docId);
 | 
					 | 
				
			||||||
          assert.equal(length, _.sum(stats.map(x => x.usage?.numWaiting ?? 0)));
 | 
					 | 
				
			||||||
        }, 1000, 200);
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      it("should return statistics", async() => {
 | 
					      it("should return statistics", async() => {
 | 
				
			||||||
        await clearQueue(docId);
 | 
					        await clearQueue(docId);
 | 
				
			||||||
        // Read stats, it should be empty.
 | 
					        // Read stats, it should be empty.
 | 
				
			||||||
@ -3757,7 +3772,6 @@ function testDocApi() {
 | 
				
			|||||||
        await unsubscribe(docId, webhook4);
 | 
					        await unsubscribe(docId, webhook4);
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  describe("Allowed Origin", () => {
 | 
					  describe("Allowed Origin", () => {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user