Skip to content

Commit 90ac6e1

Browse files
author
wafuwafu13
committed
check-cert-file: add test
1 parent 95fb8d2 commit 90ac6e1

File tree

2 files changed

+45
-5
lines changed

2 files changed

+45
-5
lines changed

check-cert-file/lib/check-cert-file.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,19 @@ type certOpts struct {
1919

2020
// Do the plugin
2121
func Do() {
22-
ckr := checkCertExpiration()
22+
ckr := Run(os.Args[1:])
2323
ckr.Name = "CERT Expiry"
2424
ckr.Exit()
2525
}
2626

27-
func checkCertExpiration() *checkers.Checker {
28-
opts := certOpts{}
29-
psr := flags.NewParser(&opts, flags.Default)
30-
_, err := psr.Parse()
27+
func parseArgs(args []string) (*certOpts, error) {
28+
opts := &certOpts{}
29+
_, err := flags.ParseArgs(opts, args)
30+
return opts, err
31+
}
32+
33+
func Run(args []string) *checkers.Checker {
34+
opts, err := parseArgs(args)
3135
if err != nil {
3236
os.Exit(1)
3337
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package checkcertfile
2+
3+
import (
4+
"os"
5+
"os/exec"
6+
"strings"
7+
"testing"
8+
9+
"github.com/mackerelio/checkers"
10+
"github.com/stretchr/testify/assert"
11+
)
12+
13+
func TestCertFile(t *testing.T) {
14+
goroot, err := exec.Command("go", "env", "GOROOT").Output()
15+
if err != nil {
16+
t.Fatalf("Faild to get GOROOT: %s", err)
17+
}
18+
err = exec.Command(
19+
"go",
20+
"run",
21+
strings.TrimSuffix(string(goroot), "\n")+"/src/crypto/tls/generate_cert.go",
22+
"-host",
23+
"localhost",
24+
"-duration",
25+
"720h0m0s", // 30*24*time.Hour
26+
).Run()
27+
if err != nil {
28+
t.Fatalf("Faild to generate cert.pem: %s", err)
29+
}
30+
31+
ckr := Run([]string{"-f", "./cert.pem", "-w", "35", "-c", "25"})
32+
assert.Equal(t, checkers.WARNING, ckr.Status, "should be WARNING")
33+
34+
os.Remove("./cert.pem")
35+
os.Remove("./key.pem")
36+
}

0 commit comments

Comments
 (0)