Skip to content

Commit e667fe7

Browse files
committed
fixes
1 parent 53a9a3f commit e667fe7

3 files changed

Lines changed: 121 additions & 23 deletions

File tree

internal/logging/rotator.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ func (r *Rotator) Write(data []byte) (int, error) {
9898
if err != nil {
9999
return 0, err
100100
}
101+
r.currentSize += uint64(n)
101102

102103
return n, err
103104
}

internal/logging/rotator_test.go

Lines changed: 36 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -54,31 +54,53 @@ func Test_newRotatorCanWrite(t *testing.T) {
5454
}
5555

5656
func Test_newRotatorRotatesFiles(t *testing.T) {
57-
rot, err := newRotator(testPath, testFilename, 1, testPerms, 2)
57+
rot, err := newRotator(testPath, testFilename, 15, testPerms, 2)
5858
if err != nil {
59-
t.Errorf("Test_newRotatorRotatesFiles | %s failed with error: %v", "newRotator()", err)
59+
t.Fatalf("Test_newRotatorRotatesFiles | %s failed with error: %v", "newRotator()", err)
6060
}
6161

62-
testdata1 := make([]byte, 11<<20)
63-
rot.Write(testdata1)
64-
testdata2 := make([]byte, 8<<20)
65-
rot.Write(testdata2)
62+
testdata1 := make([]byte, 10)
63+
_, err = rot.Write(testdata1)
6664
if err != nil {
67-
t.Errorf("Test_newRotatorRotatesFiles | %s failed with error: %v", "le.Writer().Close()", err)
65+
t.Fatalf("Test_newRotatorRotatesFiles | %s failed with error: %v", "rot.Write()", err)
66+
}
67+
testdata2 := make([]byte, 10)
68+
_, err = rot.Write(testdata2)
69+
if err != nil {
70+
t.Fatalf("Test_newRotatorRotatesFiles | %s failed with error: %v", "rot.Write()", err)
71+
}
72+
err = rot.Close()
73+
if err != nil {
74+
t.Fatalf("Test_newRotatorRotatesFiles | %s failed with error: %v", "rot.Close()", err)
6875
}
6976

70-
fi, err := os.Stat(testFullPath)
71-
if err != nil || fi.Size() <= 0 {
72-
t.Errorf("Test_newRotatorRotatesFiles | %s failed with error: %v - filesize must be bigger than 0, is: %d", "os.Stat()", err, fi.Size())
77+
logfiles, err := filepath.Glob(testPath + "/*.log*")
78+
if err != nil {
79+
t.Fatalf("Test_newRotatorRotatesFiles | %s failed with error: %v", "filepath.Glob()", err)
80+
}
81+
if len(logfiles) != 2 {
82+
t.Fatalf("Test_newRotatorRotatesFiles | expected 2 log files, got %d", len(logfiles))
83+
}
84+
85+
fi, err := os.Stat(logfiles[0])
86+
if err != nil {
87+
t.Fatalf("Test_newRotatorRotatesFiles | %s failed with error: %v", "os.Stat()", err)
88+
}
89+
if fi.Size() <= 0 {
90+
t.Fatalf("Test_newRotatorRotatesFiles | %s failed - filesize of current log file must be bigger than 0, is: %d", "os.Stat()", fi.Size())
7391
}
74-
fi, err = os.Stat(testFullPath + ".1")
75-
if err != nil || fi.Size() <= 0 {
76-
t.Errorf("Test_newRotatorRotatesFiles | %s failed with error: %v - filesize must be bigger than 0, is: %d", "os.Stat()", err, fi.Size())
92+
93+
fi, err = os.Stat(logfiles[1])
94+
if err != nil {
95+
t.Fatalf("Test_newRotatorRotatesFiles | %s failed with error: %v", "os.Stat()", err)
96+
}
97+
if fi.Size() <= 0 {
98+
t.Fatalf("Test_newRotatorRotatesFiles | %s failed - filesize must be bigger than 0, is: %d", "os.Stat()", fi.Size())
7799
}
78100

79101
err = os.RemoveAll(testPath)
80102
if err != nil {
81-
t.Errorf("Test_newRotatorRotatesFiles | %s failed with error: %v", "cleanUp()", err)
103+
t.Fatalf("Test_newRotatorRotatesFiles | %s failed with error: %v", "cleanUp()", err)
82104
}
83105
}
84106

internal/security/security_test.go

Lines changed: 84 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"net/http"
55
"reflect"
66
"testing"
7+
"time"
78

89
"github.com/KaiserWerk/Tiny-Build-Server/internal/sessionservice"
910

@@ -85,26 +86,100 @@ func TestDoesHashMatch(t *testing.T) {
8586

8687
func TestCheckLogin(t *testing.T) {
8788
svc := sessionservice.NewSessionService("test")
88-
type args struct {
89-
r *http.Request
90-
}
89+
sess, _ := svc.CreateSession(time.Now().Add(24 * time.Hour))
90+
9191
tests := []struct {
9292
name string
93-
args args
94-
want sessionstore.Session
93+
r *http.Request
94+
want *sessionstore.Session
9595
wantErr bool
9696
}{
97-
{name: "Test Checklogin()", args: args{r: &http.Request{Method: http.MethodGet}}, want: sessionstore.Session{}, wantErr: true},
97+
{
98+
name: "With valid session",
99+
r: func() *http.Request {
100+
req := &http.Request{
101+
Header: http.Header{},
102+
}
103+
cookie := &http.Cookie{
104+
Name: "test",
105+
Value: sess.Id,
106+
}
107+
req.AddCookie(cookie)
108+
return req
109+
}(),
110+
want: sess,
111+
wantErr: false,
112+
},
113+
{
114+
name: "With missing cookie",
115+
r: func() *http.Request {
116+
req := &http.Request{
117+
Header: http.Header{},
118+
}
119+
return req
120+
}(),
121+
want: nil,
122+
wantErr: true,
123+
},
124+
{
125+
name: "With invalid session ID",
126+
r: func() *http.Request {
127+
req := &http.Request{
128+
Header: http.Header{},
129+
}
130+
cookie := &http.Cookie{
131+
Name: "test",
132+
Value: "invalid-session-id",
133+
}
134+
req.AddCookie(cookie)
135+
return req
136+
}(),
137+
want: nil,
138+
wantErr: true,
139+
},
140+
{
141+
name: "With expired session",
142+
r: func() *http.Request {
143+
expiredSess, _ := svc.CreateSession(time.Now().Add(-1 * time.Hour))
144+
req := &http.Request{
145+
Header: http.Header{},
146+
}
147+
cookie := &http.Cookie{
148+
Name: "test",
149+
Value: expiredSess.Id,
150+
}
151+
req.AddCookie(cookie)
152+
return req
153+
}(),
154+
want: nil,
155+
wantErr: true,
156+
},
157+
{
158+
name: "With session ID not matching any session",
159+
r: func() *http.Request {
160+
req := &http.Request{
161+
Header: http.Header{},
162+
}
163+
cookie := &http.Cookie{
164+
Name: "test",
165+
Value: "nonexistent-session-id",
166+
}
167+
req.AddCookie(cookie)
168+
return req
169+
}(),
170+
want: nil,
171+
wantErr: true,
172+
},
98173
}
99174
for _, tt := range tests {
100175
t.Run(tt.name, func(t *testing.T) {
101-
got, err := CheckLogin(svc, tt.args.r)
176+
got, err := CheckLogin(svc, tt.r)
102177
if (err != nil) != tt.wantErr {
103178
t.Errorf("CheckLogin() error = %v, wantErr %v", err, tt.wantErr)
104179
return
105180
}
106-
if !reflect.DeepEqual(&got, &tt.want) {
107-
t.Errorf("CheckLogin() got = %v, want %v", &got, &tt.want)
181+
if !reflect.DeepEqual(got, tt.want) {
182+
t.Errorf("CheckLogin() got = %v, want %v", got, &tt.want)
108183
}
109184
})
110185
}

0 commit comments

Comments
 (0)