From c03ac375efeda744859fe90a3dba54b7fa2478f3 Mon Sep 17 00:00:00 2001 From: Elvin Efendi Date: Mon, 26 Nov 2018 17:15:17 +0400 Subject: [PATCH] test for ewma:after_balance function --- .../etc/nginx/lua/test/balancer/ewma_test.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/rootfs/etc/nginx/lua/test/balancer/ewma_test.lua b/rootfs/etc/nginx/lua/test/balancer/ewma_test.lua index d7cb8cab6..3225b59d2 100644 --- a/rootfs/etc/nginx/lua/test/balancer/ewma_test.lua +++ b/rootfs/etc/nginx/lua/test/balancer/ewma_test.lua @@ -3,6 +3,24 @@ local util = require("util") describe("Balancer ewma", function() local balancer_ewma = require("balancer.ewma") + describe("after_balance()", function() + local ngx_now = 1543238266 + _G.ngx.now = function() return ngx_now end + _G.ngx.var = { upstream_response_time = "0.25", upstream_connect_time = "0.02", upstream_addr = "10.184.7.40:8080" } + + it("updates EWMA stats", function() + local backend = { + name = "my-dummy-backend", ["load-balance"] = "ewma", + endpoints = { { address = "10.184.7.40", port = "8080", maxFails = 0, failTimeout = 0 } } + } + local instance = balancer_ewma:new(backend) + + instance:after_balance() + assert.equal(0.27, instance.ewma[ngx.var.upstream_addr]) + assert.equal(ngx_now, instance.ewma_last_touched_at[ngx.var.upstream_addr]) + end) + end) + describe("balance()", function() it("returns single endpoint when the given backend has only one endpoint", function() local backend = {