From 091e0f02f81ae2b60c655535883e201363bd35e7 Mon Sep 17 00:00:00 2001 From: Jonathan Lazaro Date: Thu, 21 Dec 2023 00:49:59 -0400 Subject: [PATCH] fix: Replaces ngx error call with kong corresponding one --- template-transformer/handler.lua | 2 +- template-transformer/spec/handler_spec.lua | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/template-transformer/handler.lua b/template-transformer/handler.lua index d0385fc..3dde773 100644 --- a/template-transformer/handler.lua +++ b/template-transformer/handler.lua @@ -171,7 +171,7 @@ function TemplateTransformerHandler:body_filter(config) if gmatch(content_type, "(application/json)")() then body = read_json_body(raw_body) if body == nil then - return ngx.ERROR + return kong.response.error(ngx.HTTP_INTERNAL_SERVER_ERROR) end local req_query_string = req_get_uri_args() local router_matches = ngx.ctx.router_matches diff --git a/template-transformer/spec/handler_spec.lua b/template-transformer/spec/handler_spec.lua index 8d22222..64a0463 100644 --- a/template-transformer/spec/handler_spec.lua +++ b/template-transformer/spec/handler_spec.lua @@ -17,9 +17,8 @@ local kong = { } }, response = { - get_source = function () - return "service" - end + get_source = function () return "service" end, + error = spy.new(function () return "ERROR" end) } } @@ -51,6 +50,7 @@ local ngx = { custom_data = { important_stuff = 123 } }, status = 200, + HTTP_INTERNAL_SERVER_ERROR = 500 } _G.ngx = ngx _G.kong = kong @@ -427,13 +427,14 @@ describe("Test TemplateTransformerHandler body_filter", function() it("should call and return ngx error when body is ready and not JSON", function() mock_resp_headers = {} ngx.arg[1] = nil - ngx.ERROR = "error" + local expected = "ERROR" local config = { response_template = '{ "bar" : "{{body.foo}}" }' } _G.ngx.ctx.buffer = '' actual = TemplateTransformerHandler:body_filter(config) - assert.equal(ngx.ERROR, actual) + assert.equal(expected, actual) + assert.spy(kong.response.error).was_called_with(500) assert.is_nil(ngx.arg[1]) end)