75 lines
1.5 KiB
Go
75 lines
1.5 KiB
Go
package updater
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestNewUpdater(t *testing.T) {
|
|
u := NewUpdater()
|
|
assert.NotNil(t, u)
|
|
assert.Equal(t, "OmnTeam", u.Owner)
|
|
assert.Equal(t, "server", u.Repo)
|
|
assert.NotNil(t, u.HTTPClient)
|
|
}
|
|
|
|
func TestCompareVersions(t *testing.T) {
|
|
u := NewUpdater()
|
|
|
|
tests := []struct {
|
|
name string
|
|
newVersion string
|
|
currentVersion string
|
|
expected bool
|
|
}{
|
|
{
|
|
name: "same version",
|
|
newVersion: "v1.0.0",
|
|
currentVersion: "v1.0.0",
|
|
expected: false,
|
|
},
|
|
{
|
|
name: "different version",
|
|
newVersion: "v1.1.0",
|
|
currentVersion: "v1.0.0",
|
|
expected: true,
|
|
},
|
|
{
|
|
name: "unknown current version",
|
|
newVersion: "v1.0.0",
|
|
currentVersion: "unknown version",
|
|
expected: true,
|
|
},
|
|
{
|
|
name: "version without v prefix",
|
|
newVersion: "1.1.0",
|
|
currentVersion: "1.0.0",
|
|
expected: true,
|
|
},
|
|
{
|
|
name: "empty current version",
|
|
newVersion: "v1.0.0",
|
|
currentVersion: "",
|
|
expected: true,
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
result := u.compareVersions(tt.newVersion, tt.currentVersion)
|
|
assert.Equal(t, tt.expected, result)
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestGetAssetName(t *testing.T) {
|
|
u := NewUpdater()
|
|
u.CurrentVersion = "v1.0.0"
|
|
|
|
assetName := u.getAssetName()
|
|
assert.NotEmpty(t, assetName)
|
|
assert.Contains(t, assetName, "ppanel-server")
|
|
assert.Contains(t, assetName, "v1.0.0")
|
|
}
|