mirror of
https://github.com/safing/portmaster
synced 2025-04-21 11:29:09 +00:00
57 lines
1.4 KiB
Go
57 lines
1.4 KiB
Go
package updater
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
var (
|
|
oldFormat = `{
|
|
"all/ui/modules/assets.zip": "0.3.0",
|
|
"all/ui/modules/portmaster.zip": "0.2.4",
|
|
"linux_amd64/core/portmaster-core": "0.8.13"
|
|
}`
|
|
|
|
newFormat = `{
|
|
"Channel": "stable",
|
|
"Published": "2022-01-02T00:00:00Z",
|
|
"Releases": {
|
|
"all/ui/modules/assets.zip": "0.3.0",
|
|
"all/ui/modules/portmaster.zip": "0.2.4",
|
|
"linux_amd64/core/portmaster-core": "0.8.13"
|
|
}
|
|
}`
|
|
|
|
formatTestChannel = "stable"
|
|
formatTestReleases = map[string]string{
|
|
"all/ui/modules/assets.zip": "0.3.0",
|
|
"all/ui/modules/portmaster.zip": "0.2.4",
|
|
"linux_amd64/core/portmaster-core": "0.8.13",
|
|
}
|
|
)
|
|
|
|
func TestIndexParsing(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
lastRelease, err := time.Parse(time.RFC3339, "2022-01-01T00:00:00Z")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
oldIndexFile, err := ParseIndexFile([]byte(oldFormat), formatTestChannel, lastRelease)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
newIndexFile, err := ParseIndexFile([]byte(newFormat), formatTestChannel, lastRelease)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
assert.Equal(t, formatTestChannel, oldIndexFile.Channel, "channel should be the same")
|
|
assert.Equal(t, formatTestChannel, newIndexFile.Channel, "channel should be the same")
|
|
assert.Equal(t, formatTestReleases, oldIndexFile.Releases, "releases should be the same")
|
|
assert.Equal(t, formatTestReleases, newIndexFile.Releases, "releases should be the same")
|
|
}
|