feat(postgres): added more tests
All checks were successful
Gitea Build Check / Build (push) Successful in 10m40s
All checks were successful
Gitea Build Check / Build (push) Successful in 10m40s
Signed-off-by: SoXX <soxx@fenpa.ws>
This commit is contained in:
parent
57729359d2
commit
30fa03ef9a
60
internal/utils/slices_test.go
Normal file
60
internal/utils/slices_test.go
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
package utils
|
||||||
|
|
||||||
|
import (
|
||||||
|
"reflect"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestGetOrDefault(t *testing.T) {
|
||||||
|
type args struct {
|
||||||
|
data map[string]any
|
||||||
|
key string
|
||||||
|
defaultVal any
|
||||||
|
}
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
args args
|
||||||
|
want any
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "Test 1: Nil map",
|
||||||
|
args: args{
|
||||||
|
data: nil,
|
||||||
|
key: "key1",
|
||||||
|
defaultVal: "default",
|
||||||
|
},
|
||||||
|
want: "default",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Test 2: Existing key",
|
||||||
|
args: args{
|
||||||
|
data: map[string]interface{}{
|
||||||
|
"key1": "value1",
|
||||||
|
"key2": "value2",
|
||||||
|
},
|
||||||
|
key: "key1",
|
||||||
|
defaultVal: "default",
|
||||||
|
},
|
||||||
|
want: "value1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Test 3: Non-existing key",
|
||||||
|
args: args{
|
||||||
|
data: map[string]interface{}{
|
||||||
|
"key1": "value1",
|
||||||
|
"key2": "value2",
|
||||||
|
},
|
||||||
|
key: "key3",
|
||||||
|
defaultVal: "default",
|
||||||
|
},
|
||||||
|
want: "default",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
if got := GetOrDefault(tt.args.data, tt.args.key, tt.args.defaultVal); !reflect.DeepEqual(got, tt.want) {
|
||||||
|
t.Errorf("GetOrDefault() = %v, want %v", got, tt.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
@ -40,6 +40,8 @@ func (p *postgresqlConnection) Connect(_ context.Context, config models.Database
|
|||||||
localSSL = "disable"
|
localSSL = "disable"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
p.debug = config.Debug
|
||||||
|
|
||||||
dsn := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%d sslmode=%s TimeZone=%s", config.Endpoint, config.Username, config.Password, config.Database, config.Port, localSSL, config.Timezone)
|
dsn := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%d sslmode=%s TimeZone=%s", config.Endpoint, config.Username, config.Password, config.Database, config.Port, localSSL, config.Timezone)
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
|
26
pkg/database/postgres_test.go
Normal file
26
pkg/database/postgres_test.go
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
package database
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestNewPostgresqlConnection(t *testing.T) {
|
||||||
|
// Test
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
want OtterSpace
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "Test 1: Create new postgresql connection",
|
||||||
|
want: nil,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
if tt.want != NewPostgresqlConnection() {
|
||||||
|
} else {
|
||||||
|
t.Errorf("NewPostgresqlConnection() = %s", tt.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
59
pkg/models/const_test.go
Normal file
59
pkg/models/const_test.go
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
package models
|
||||||
|
|
||||||
|
import (
|
||||||
|
"reflect"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestRating_Convert(t *testing.T) {
|
||||||
|
type args struct {
|
||||||
|
e621Rating string
|
||||||
|
}
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
r *Rating
|
||||||
|
args args
|
||||||
|
want Rating
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "Test 1: NSFW Rating",
|
||||||
|
r: new(Rating),
|
||||||
|
args: args{
|
||||||
|
e621Rating: "e",
|
||||||
|
},
|
||||||
|
want: NSFW,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Test 2: Questionable Rating",
|
||||||
|
r: new(Rating),
|
||||||
|
args: args{
|
||||||
|
e621Rating: "q",
|
||||||
|
},
|
||||||
|
want: Questionable,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Test 3: SFW Rating",
|
||||||
|
r: new(Rating),
|
||||||
|
args: args{
|
||||||
|
e621Rating: "s",
|
||||||
|
},
|
||||||
|
want: SFW,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Test 4: Unknown Rating",
|
||||||
|
r: new(Rating),
|
||||||
|
args: args{
|
||||||
|
e621Rating: "x",
|
||||||
|
},
|
||||||
|
want: Unknown,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
tt.r.Convert(tt.args.e621Rating)
|
||||||
|
if !reflect.DeepEqual(*tt.r, tt.want) {
|
||||||
|
t.Errorf("Convert() = %v, want %v", *tt.r, tt.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user