Added tests to the spool package, and reworked the code around that.
This commit is contained in:
parent
bcfaffac24
commit
2661ce9a2b
8 changed files with 143 additions and 102 deletions
41
spool/parse_test.go
Normal file
41
spool/parse_test.go
Normal file
|
@ -0,0 +1,41 @@
|
|||
package spool
|
||||
|
||||
import (
|
||||
"bareos-zabbix-check/job"
|
||||
"bytes"
|
||||
"io"
|
||||
"reflect"
|
||||
"testing"
|
||||
"testing/iotest"
|
||||
)
|
||||
|
||||
func TestParse(t *testing.T) {
|
||||
readerError := iotest.TimeoutReader(bytes.NewReader([]byte("\n")))
|
||||
readerCorruptedTimestamp := bytes.NewReader([]byte("test,x"))
|
||||
readerOneJob := bytes.NewReader([]byte("test,1"))
|
||||
type args struct {
|
||||
handle io.Reader
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
wantJobs []job.Job
|
||||
wantErr bool
|
||||
}{
|
||||
{"empty", args{readerError}, nil, true},
|
||||
{"corrupted timestamp", args{readerCorruptedTimestamp}, nil, true},
|
||||
{"one job", args{readerOneJob}, []job.Job{{Name: "test", Timestamp: 1, Success: true}}, false},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
gotJobs, err := Parse(tt.args.handle)
|
||||
if (err != nil) != tt.wantErr {
|
||||
t.Errorf("Parse() error = %v, wantErr %v", err, tt.wantErr)
|
||||
return
|
||||
}
|
||||
if !reflect.DeepEqual(gotJobs, tt.wantJobs) {
|
||||
t.Errorf("Parse() = %v, want %v", gotJobs, tt.wantJobs)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue