Domain services tested, first pass of domain testing done
parent
b0d4820659
commit
199d4ed6f3
@ -1,30 +1,73 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
"bytes"
|
||||||
"testing"
|
"testing"
|
||||||
"caj-larsson/bog/domain"
|
"caj-larsson/bog/domain"
|
||||||
"caj-larsson/bog/test/mock"
|
"caj-larsson/bog/test/mock"
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
var file_ref1 = domain.FileReference { "path1", "ua1" }
|
var file_ref1 = domain.FileReference { "path1", "ua1" }
|
||||||
//var file_ref2 = domain.FileReference { "path1", "ua2" }
|
//var file_ref2 = domain.FileReference { "path1", "ua2" }
|
||||||
//var file_ref3 = domain.FileReference { "path2", "ua1" }
|
var file_ref3 = domain.FileReference { "path2", "ua1" }
|
||||||
|
|
||||||
|
|
||||||
func TestFileService(t *testing.T) {
|
func NewTestBogFileService() domain.BogFileService {
|
||||||
file_repo := mock.NewMockFileRepository()
|
file_repo := mock.NewMockFileRepository()
|
||||||
ua_repo := mock.NewMockUserAgentRepository()
|
ua_repo := mock.NewMockUserAgentRepository()
|
||||||
service := domain.NewBogFileService(ua_repo, file_repo)
|
return domain.NewBogFileService(ua_repo, file_repo, 1024, time.Hour)
|
||||||
|
}
|
||||||
|
|
||||||
outfile, err := service.OpenOutFile(file_ref1)
|
func TestFileDontExist(t *testing.T) {
|
||||||
|
s := NewTestBogFileService()
|
||||||
|
outfile, err := s.OpenOutFile(file_ref1)
|
||||||
|
|
||||||
if outfile != nil && err != domain.ErrNotExists {
|
if outfile != nil && err != domain.ErrNotExists {
|
||||||
t.Errorf("File shall not exist by default")
|
t.Errorf("File shall not exist by default")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestFileIsStored(t *testing.T) {
|
||||||
|
s := NewTestBogFileService()
|
||||||
|
|
||||||
|
fakefile := bytes.NewBufferString("My bog data")
|
||||||
|
|
||||||
|
err := s.SaveFile(file_ref1, fakefile, int64(fakefile.Len()))
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("A small file should be writable %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
largefakefile := bytes.NewBufferString("")
|
||||||
|
|
||||||
|
for largefakefile.Len() < 64000 {
|
||||||
|
_, err = largefakefile.WriteString("A very repetitive file")
|
||||||
|
}
|
||||||
|
|
||||||
|
err = s.SaveFile(file_ref3, largefakefile, int64(largefakefile.Len()))
|
||||||
|
|
||||||
|
if err != domain.ErrExceedQuota {
|
||||||
|
t.Errorf("too large files should not be excepted")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func TestFileIsReadBack(t *testing.T) {
|
||||||
|
s := NewTestBogFileService()
|
||||||
|
|
||||||
|
infile := bytes.NewBufferString("My bog data")
|
||||||
|
|
||||||
|
_ = s.SaveFile(file_ref1, infile, int64(infile.Len()))
|
||||||
|
|
||||||
|
|
||||||
|
outbogfile, _ := s.OpenOutFile(file_ref1)
|
||||||
|
|
||||||
|
outfile := bytes.NewBufferString("")
|
||||||
|
_, _ = outfile.ReadFrom(outbogfile)
|
||||||
|
|
||||||
|
if outfile.String() != "My bog data" {
|
||||||
|
t.Errorf("file corrupted")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue