diff options
author | Julien Dessaux | 2020-02-22 12:35:05 +0100 |
---|---|---|
committer | Julien Dessaux | 2020-02-22 12:56:29 +0100 |
commit | 2661ce9a2bda2b6c1efc0ba1fef873c9dc91bb7c (patch) | |
tree | 155f36ee7f62f972fc49e5df0440948a4ba0348c /spool/parse_test.go | |
parent | Added tests to the state package, and reworked the code around that (diff) | |
download | bareos-zabbix-check-2661ce9a2bda2b6c1efc0ba1fef873c9dc91bb7c.tar.gz bareos-zabbix-check-2661ce9a2bda2b6c1efc0ba1fef873c9dc91bb7c.tar.bz2 bareos-zabbix-check-2661ce9a2bda2b6c1efc0ba1fef873c9dc91bb7c.zip |
Added tests to the spool package, and reworked the code around that.
Diffstat (limited to 'spool/parse_test.go')
-rw-r--r-- | spool/parse_test.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/spool/parse_test.go b/spool/parse_test.go new file mode 100644 index 0000000..80b961f --- /dev/null +++ b/spool/parse_test.go @@ -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) + } + }) + } +} |