Skip to content

Commit d282366

Browse files
authored
Merge pull request #35 from scr-oath/make-api_tests-common
2 parents e46d463 + e8c0b67 commit d282366

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+1068
-875
lines changed

aws/cloudwatch/api_test.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
package cloudwatch
22

33
import (
4+
"github.com/stretchr/testify/assert"
5+
"github.com/vadv/gopher-lua-libs/tests"
46
"testing"
57

68
"github.com/vadv/gopher-lua-libs/inspect"
7-
8-
lua "github.com/yuin/gopher-lua"
99
)
1010

1111
func TestApi(t *testing.T) {
12-
state := lua.NewState()
13-
Preload(state)
14-
inspect.Preload(state)
15-
if err := state.DoFile("./test/test_api.lua"); err != nil {
16-
t.Fatalf("execute test: %s\n", err.Error())
17-
}
12+
preload := tests.SeveralPreloadFuncs(
13+
inspect.Preload,
14+
Preload,
15+
)
16+
assert.NotZero(t, tests.RunLuaTestFile(t, preload, "./test/test_api.lua"))
1817
}

aws/cloudwatch/test/test_api.lua

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
if os.getenv("CI") then
2-
-- travis
2+
-- travis: Include a test function that just skips
3+
function TestCI(t)
4+
t:Skip("CI")
5+
end
36
else
4-
--dofile("./test/test_cloudwatch_logs.lua")
5-
dofile("./test/test_cloudwatch_get_metric_data.lua")
7+
--dofile("./test/test_cloudwatch_logs.lua")
8+
dofile("./test/test_cloudwatch_get_metric_data.lua")
69
end
Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
1-
local cloudwatch = require("cloudwatch")
2-
local inspect = require("inspect")
1+
function Test_cloudwatch_get_metric_data(t)
2+
local cloudwatch = require("cloudwatch")
3+
local inspect = require("inspect")
34

4-
local clw_client, err = cloudwatch.new()
5-
if err then error(err) end
5+
local clw_client, err = cloudwatch.new()
6+
assert(not err, err)
67

7-
local query1 = {
8-
namespace = "AWS/RDS",
9-
metric = "CPUUtilization",
10-
dimension_name = "DBInstanceIdentifier",
11-
dimension_value = os.getenv("DBINSTANCE"),
12-
stat = "Average",
13-
period = 60,
14-
}
15-
local query2 = {
16-
namespace = "AWS/RDS",
17-
metric = "ReadIOPS",
18-
dimension_name = "DBInstanceIdentifier",
19-
dimension_value = os.getenv("DBINSTANCE"),
20-
stat = "Average",
21-
period = 60,
22-
}
23-
local result, err = clw_client:get_metric_data({queries={cpu=query1, iops=query2}})
24-
if err then error(err) end
25-
print(inspect(result))
8+
local query1 = {
9+
namespace = "AWS/RDS",
10+
metric = "CPUUtilization",
11+
dimension_name = "DBInstanceIdentifier",
12+
dimension_value = os.getenv("DBINSTANCE"),
13+
stat = "Average",
14+
period = 60,
15+
}
16+
local query2 = {
17+
namespace = "AWS/RDS",
18+
metric = "ReadIOPS",
19+
dimension_name = "DBInstanceIdentifier",
20+
dimension_value = os.getenv("DBINSTANCE"),
21+
stat = "Average",
22+
period = 60,
23+
}
24+
local result, err = clw_client:get_metric_data({ queries = { cpu = query1, iops = query2 } })
25+
assert(not err, err)
26+
t:Log(inspect(result))
27+
end
Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1-
local cloudwatch = require("cloudwatch")
1+
function Test_cloudwatch_logs(t)
2+
local cloudwatch = require("cloudwatch")
23

3-
local clw_client, err = cloudwatch.new()
4-
if err then error(err) end
4+
local clw_client, err = cloudwatch.new()
5+
assert(not err, err)
56

6-
local filter = {
7-
log_group_name = os.getenv("LOG_GROUP_NAME"),
8-
start_time = 1557948000,
9-
end_time = 1557948200,
10-
}
11-
local err = clw_client:download("./test/test.log", filter, 100)
12-
if err then error(err) end
7+
local filter = {
8+
log_group_name = os.getenv("LOG_GROUP_NAME"),
9+
start_time = 1557948000,
10+
end_time = 1557948200,
11+
}
12+
local err = clw_client:download("./test/test.log", filter, 100)
13+
assert(not err, err)
14+
end

cert_util/api_test.go

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,35 @@
11
package cert_util
22

33
import (
4-
"log"
4+
"context"
5+
"github.com/stretchr/testify/assert"
6+
"github.com/vadv/gopher-lua-libs/tests"
7+
"io"
58
"net/http"
69
"testing"
710
"time"
8-
9-
lua "github.com/yuin/gopher-lua"
1011
)
1112

12-
func runHttps(addr string) {
13-
err := http.ListenAndServeTLS(addr, "./test/cert.pem", "./test/key.pem", nil)
14-
if err != nil {
15-
log.Fatal("ListenAndServeTLS: ", err)
16-
}
13+
func runHttps(addr string, handler http.Handler) *http.Server {
14+
server := &http.Server{Addr: addr, Handler: handler}
15+
go func() {
16+
_ = server.ListenAndServeTLS("./test/cert.pem", "./test/key.pem")
17+
}()
18+
return server
1719
}
1820

1921
func httpRouterGet(w http.ResponseWriter, r *http.Request) {
20-
w.Write([]byte(`OK`))
22+
_, _ = io.WriteString(w, "OK")
2123
}
2224

2325
func TestApi(t *testing.T) {
24-
25-
http.HandleFunc("/get", httpRouterGet)
26-
go runHttps(":1443")
26+
mux := http.NewServeMux()
27+
mux.HandleFunc("/get", httpRouterGet)
28+
server := runHttps(":1443", mux)
29+
t.Cleanup(func() {
30+
_ = server.Shutdown(context.Background())
31+
})
2732
time.Sleep(time.Second)
2833

29-
state := lua.NewState()
30-
Preload(state)
31-
if err := state.DoFile("./test/test_api.lua"); err != nil {
32-
t.Fatalf("execute test: %s\n", err.Error())
33-
}
34+
assert.NotZero(t, tests.RunLuaTestFile(t, Preload, "./test/test_api.lua"))
3435
}

cert_util/test/test_api.lua

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
local cert_util = require("cert_util")
22

3-
local tx, err = cert_util.not_after("127.0.0.1:1443", "127.0.0.1:1443")
4-
if err then error(err) end
5-
6-
if not(tx == 1576161031) then error("cert") end
3+
function Test_cert_util(t)
4+
local tx, err = cert_util.not_after("127.0.0.1:1443", "127.0.0.1:1443")
5+
assert(not err, err)
6+
assert(tx == 1576161031, "cert: " .. tx)
7+
end

chef/api_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
package chef_test
22

33
import (
4+
"github.com/stretchr/testify/assert"
5+
"github.com/vadv/gopher-lua-libs/tests"
46
"testing"
57

68
chef "github.com/vadv/gopher-lua-libs/chef"
79
http "github.com/vadv/gopher-lua-libs/http"
810
inspect "github.com/vadv/gopher-lua-libs/inspect"
9-
lua "github.com/yuin/gopher-lua"
1011
)
1112

1213
func TestApi(t *testing.T) {
13-
state := lua.NewState()
14-
chef.Preload(state)
15-
http.Preload(state)
16-
inspect.Preload(state)
17-
if err := state.DoFile("./test/test_api.lua"); err != nil {
18-
t.Fatalf("execute test: %s\n", err.Error())
19-
}
14+
preload := tests.SeveralPreloadFuncs(
15+
chef.Preload,
16+
http.Preload,
17+
inspect.Preload,
18+
)
19+
assert.NotZero(t, tests.RunLuaTestFile(t, preload, "./test/test_api.lua"))
2020
}

chef/test/test_api.lua

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
if os.getenv("CI") then
2-
-- travis
2+
-- travis
3+
function TestCI(t)
4+
t:Skip("CI")
5+
end
36
else
4-
dofile("./test/test_api_restream.lua")
7+
dofile("./test/test_api_restream.lua")
58
end

chef/test/test_api_restream.lua

Lines changed: 41 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,42 +4,50 @@ local inspect = require("inspect")
44

55
local node = "chef.itv.restr.im"
66

7-
local http_client = http.client({insecure_ssl=true, timeout=20})
7+
local http_client = http.client({ insecure_ssl = true, timeout = 20 })
88
local client = chef.client(
9-
"lualibs",
10-
"./test/client.pem",
11-
"https://chef.itv.restr.im/organizations/restream/",
12-
http_client
9+
"lualibs",
10+
"./test/client.pem",
11+
"https://chef.itv.restr.im/organizations/restream/",
12+
http_client
1313
)
1414

15-
-- nodes
16-
local result, err = client:request("GET", "nodes")
17-
if err then error(err) end
18-
local found = false
19-
for k,v in pairs(result) do if k == node then found = true end end
20-
if not found then error("nodes") end
21-
print("done: nodes")
15+
function TestNodes(t)
16+
-- nodes
17+
local result, err = client:request("GET", "nodes")
18+
assert(not err, err)
19+
local found = false
20+
for k, v in pairs(result) do
21+
if k == node then
22+
found = true
23+
end
24+
end
25+
assert(found, "nodes don't contain " .. node)
26+
end
2227

23-
-- node
24-
local result, err = client:request("GET", "nodes/"..node)
25-
if err then error(err) end
26-
if not (result.name == node) then error("get node") end
27-
print(result.default)
28-
print(result.automatic)
29-
print(result.normal)
30-
print(result.override)
31-
print("done: get node")
28+
function TestNodes(t)
29+
-- node
30+
local result, err = client:request("GET", "nodes/" .. node)
31+
assert(not err, err)
32+
t:Log(result.default)
33+
t:Log(result.automatic)
34+
t:Log(result.normal)
35+
t:Log(result.override)
36+
assert(result.name == node, "get node: " .. result.name)
37+
end
3238

33-
-- search 1
34-
local result, err = client:search("node", "fqdn:"..node)
35-
if err then error(err) end
36-
if not (result.rows[1].name == node) then error("search node 1") end
37-
print("done: search 1")
38-
39-
-- search 2
40-
local result, err = client:search("node", "fqdn:"..node, {fqdn_name={"name"}})
41-
if err then error(err) end
42-
print(inspect(result.rows[1].data))
43-
if not (result.rows[1].data.fqdn_name == node) then error("search node 2: "..tostring(result.rows[1].data.fqdn_name)) end
44-
print("done: search 2")
39+
function TestSearch(t)
40+
t:Run("1", function(t)
41+
local result, err = client:search("node", "fqdn:" .. node)
42+
assert(not err, err)
43+
assert(result.rows[1].name == node, "search node 1: " .. result.rows[1].name)
44+
end)
4545

46+
t:Run("2", function(t)
47+
-- search 2
48+
local result, err = client:search("node", "fqdn:" .. node, { fqdn_name = { "name" } })
49+
assert(not err, err)
50+
t:Log(inspect(result.rows[1].data))
51+
assert(result.rows[1].data.fqdn_name == node, "search node 2: " .. tostring(result.rows[1].data.fqdn_name))
52+
end)
53+
end

cmd/api_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
package cmd
22

33
import (
4+
"github.com/stretchr/testify/assert"
5+
"github.com/vadv/gopher-lua-libs/tests"
46
"testing"
57

68
runtime "github.com/vadv/gopher-lua-libs/runtime"
7-
lua "github.com/yuin/gopher-lua"
89
)
910

1011
func TestApi(t *testing.T) {
11-
state := lua.NewState()
12-
Preload(state)
13-
runtime.Preload(state)
14-
if err := state.DoFile("./test/test_api.lua"); err != nil {
15-
t.Fatalf("execute test: %s\n", err.Error())
16-
}
12+
preload := tests.SeveralPreloadFuncs(
13+
runtime.Preload,
14+
Preload,
15+
)
16+
assert.NotZero(t, tests.RunLuaTestFile(t, preload, "./test/test_api.lua"))
1717
}

0 commit comments

Comments
 (0)