From c5bcb900a8245845dd5cd4fd8bf796591769bbee Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Sun, 8 Oct 2017 01:57:17 -0300 Subject: Tests: use local fixture for new_version test. --- spec/new_version_spec.lua | 13 ++++++++----- spec/upload_spec.lua | 29 ++++------------------------- test/test_mock_server.lua | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 30 deletions(-) create mode 100644 test/test_mock_server.lua diff --git a/spec/new_version_spec.lua b/spec/new_version_spec.lua index c4185b1d..6b2e2147 100644 --- a/spec/new_version_spec.lua +++ b/spec/new_version_spec.lua @@ -1,14 +1,15 @@ local test_env = require("test/test_environment") +local test_mock_server = require("test/test_mock_server") local lfs = require("lfs") local run = test_env.run local testing_paths = test_env.testing_paths test_env.unload_luarocks() -local extra_rocks = { +local extra_rocks = test_mock_server.extra_rocks({ "/abelhas-1.0-1.rockspec", "/lpeg-0.12-1.rockspec" -} +}) describe("LuaRocks new_version tests #blackbox #b_new_version", function() @@ -37,10 +38,12 @@ describe("LuaRocks new_version tests #blackbox #b_new_version", function() describe("LuaRocks new_version more complex tests", function() it("LuaRocks new version with remote spec", function() - assert.is_true(run.luarocks_bool("new_version https://luarocks.org/manifests/luarocks/luasocket-2.0.2-6.rockspec")) - assert.is.truthy(lfs.attributes("luasocket-2.0.2-6.rockspec")) - assert.is.truthy(lfs.attributes("luasocket-2.0.2-7.rockspec")) + test_mock_server.init() + assert.is_true(run.luarocks_bool("new_version http://localhost:8080/file/a_rock-1.0-1.rockspec")) + assert.is.truthy(lfs.attributes("a_rock-1.0-1.rockspec")) + assert.is.truthy(lfs.attributes("a_rock-1.0-2.rockspec")) test_env.remove_files(lfs.currentdir(), "luasocket--") + test_mock_server.done() end) it("LuaRocks new_version of luacov", function() diff --git a/spec/upload_spec.lua b/spec/upload_spec.lua index 4091bbc9..cf915eb3 100644 --- a/spec/upload_spec.lua +++ b/spec/upload_spec.lua @@ -1,25 +1,11 @@ local test_env = require("test/test_environment") +local test_mock_server = require("test/test_mock_server") local run = test_env.run local testing_paths = test_env.testing_paths test_env.unload_luarocks() -local extra_rocks = { - -- rocks needed for mock-server - "/copas-2.0.1-1.src.rock", - "/coxpcall-1.16.0-1.src.rock", - "/dkjson-2.5-2.src.rock", - "/luafilesystem-1.6.3-1.src.rock", - "/luasec-0.6-1.rockspec", - "/luasocket-3.0rc1-2.src.rock", - "/luasocket-3.0rc1-2.rockspec", - "/restserver-0.1-1.src.rock", - "/restserver-xavante-0.2-1.src.rock", - "/rings-1.3.0-1.src.rock", - "/wsapi-1.6.1-1.src.rock", - "/wsapi-xavante-1.6.1-1.src.rock", - "/xavante-2.4.0-1.src.rock" -} +local extra_rocks = test_mock_server.extra_rocks() describe("LuaRocks upload tests #blackbox #b_upload", function() @@ -49,15 +35,9 @@ describe("LuaRocks upload tests #blackbox #b_upload", function() end) describe("LuaRocks upload tests with Xavante server #mock", function() - before_each(function() - assert.is_true(test_env.need_rock("restserver-xavante")) - local final_command = test_env.execute_helper(testing_paths.lua .. " " .. testing_paths.testing_dir .. "/mock-server.lua &", true, test_env.env_variables) - os.execute(final_command) - end) + before_each(test_mock_server.init) - after_each(function() - os.execute("curl localhost:8080/shutdown") - end) + after_each(test_mock_server.done) it("LuaRocks upload rockspec with api-key", function() assert.is_true(run.luarocks_bool("upload " .. testing_paths.testing_dir .. "/testfiles/a_rock-1.0-1.rockspec " .. test_env.OPENSSL_DIRS .. " --api-key=123", {LUAROCKS_CONFIG = testing_paths.testing_dir .. "/luarocks_site.lua"})) @@ -68,4 +48,3 @@ describe("LuaRocks upload tests #blackbox #b_upload", function() end) end) - diff --git a/test/test_mock_server.lua b/test/test_mock_server.lua new file mode 100644 index 00000000..74a57b89 --- /dev/null +++ b/test/test_mock_server.lua @@ -0,0 +1,43 @@ +--- Utility module to launch the mock-server from within test spec files. +local test_mock_server = {} + +local assert = require("luassert") +local test_env = require("test/test_environment") +local testing_paths = test_env.testing_paths + +function test_mock_server.extra_rocks(more) + local rocks = { + -- rocks needed for mock-server + "/copas-2.0.1-1.src.rock", + "/coxpcall-1.16.0-1.src.rock", + "/dkjson-2.5-2.src.rock", + "/luafilesystem-1.6.3-1.src.rock", + "/luasec-0.6-1.rockspec", + "/luasocket-3.0rc1-2.src.rock", + "/luasocket-3.0rc1-2.rockspec", + "/restserver-0.1-1.src.rock", + "/restserver-xavante-0.2-1.src.rock", + "/rings-1.3.0-1.src.rock", + "/wsapi-1.6.1-1.src.rock", + "/wsapi-xavante-1.6.1-1.src.rock", + "/xavante-2.4.0-1.src.rock" + } + if more then + for _, rock in ipairs(more) do + table.insert(rocks, rock) + end + end + return rocks +end + +function test_mock_server.init() + assert.is_true(test_env.need_rock("restserver-xavante")) + local final_command = test_env.execute_helper(testing_paths.lua .. " " .. testing_paths.testing_dir .. "/mock-server.lua &", true, test_env.env_variables) + os.execute(final_command) +end + +function test_mock_server.done() + os.execute("curl localhost:8080/shutdown") +end + +return test_mock_server -- cgit v1.2.3-55-g6feb