mirror of
https://codeberg.org/scip/ephemerup.git
synced 2025-12-17 04:30:57 +01:00
reorg dir structure, add docker image build
This commit is contained in:
78
api/common_test.go
Normal file
78
api/common_test.go
Normal file
@@ -0,0 +1,78 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestDuration2Seconds(t *testing.T) {
|
||||
var tests = []struct {
|
||||
dur string
|
||||
expect int
|
||||
}{
|
||||
{"1d", 60 * 60 * 24},
|
||||
{"1h", 60 * 60},
|
||||
{"10m", 60 * 10},
|
||||
{"2h4m10s", (60 * 120) + (4 * 60) + 10},
|
||||
{"88u", 0},
|
||||
{"19t77X what?4s", 4},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
testname := fmt.Sprintf("duration-%s", tt.dur)
|
||||
t.Run(testname, func(t *testing.T) {
|
||||
seconds := duration2int(tt.dur)
|
||||
if seconds != tt.expect {
|
||||
t.Errorf("got %d, want %d", seconds, tt.expect)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestIsExpired(t *testing.T) {
|
||||
var tests = []struct {
|
||||
expire string
|
||||
start time.Time
|
||||
expect bool
|
||||
}{
|
||||
{"3s", time.Now(), true},
|
||||
{"1d", time.Now(), false},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
testname := fmt.Sprintf("isexpired-%s-%s", tt.start, tt.expire)
|
||||
t.Run(testname, func(t *testing.T) {
|
||||
time.Sleep(5 * time.Second)
|
||||
got := IsExpired(tt.start, tt.expire)
|
||||
if got != tt.expect {
|
||||
t.Errorf("got %t, want %t", got, tt.expect)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestUntaint(t *testing.T) {
|
||||
var tests = []struct {
|
||||
want string
|
||||
input string
|
||||
expect string
|
||||
wanterr bool
|
||||
}{
|
||||
{`[^a-zA-Z0-9\-]`, "ab23-bb43-beef", "ab23-bb43-beef", false},
|
||||
{`[^a-zA-Z0-9\-]`, "`cat passwd`+ab23-bb43-beef", "catpasswdab23-bb43-beef", true},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
testname := fmt.Sprintf("untaint-%s-%s", tt.want, tt.expect)
|
||||
t.Run(testname, func(t *testing.T) {
|
||||
untainted, err := Untaint(tt.input, tt.want)
|
||||
if untainted != tt.expect {
|
||||
t.Errorf("got %s, want %s", untainted, tt.expect)
|
||||
}
|
||||
if err != nil && !tt.wanterr {
|
||||
t.Errorf("got error: %s", err)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user