2024-08-31 15:23:21 +02:00
|
|
|
package updater
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
)
|
|
|
|
|
|
2025-08-23 22:14:34 +02:00
|
|
|
func TestGenericUpdater_Files(t *testing.T) {
|
|
|
|
|
assert.Equal(t, []string{"foo.bar", "version.txt"}, Generic([]string{"foo.bar", "version.txt"}).Files())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestGenericUpdater_CreateNewFiles(t *testing.T) {
|
|
|
|
|
assert.False(t, Generic([]string{}).CreateNewFiles())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestGenericUpdater_Update(t *testing.T) {
|
2024-08-31 15:23:21 +02:00
|
|
|
tests := []updaterTestCase{
|
|
|
|
|
{
|
2025-08-23 22:14:34 +02:00
|
|
|
name: "single line",
|
|
|
|
|
content: "v1.0.0 // x-releaser-pleaser-version",
|
2024-08-31 15:23:21 +02:00
|
|
|
info: ReleaseInfo{
|
|
|
|
|
Version: "v1.2.0",
|
|
|
|
|
},
|
|
|
|
|
want: "v1.2.0 // x-releaser-pleaser-version",
|
|
|
|
|
wantErr: assert.NoError,
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-08-23 22:14:34 +02:00
|
|
|
name: "multiline line",
|
|
|
|
|
content: "Foooo\n\v1.2.0\nv1.0.0 // x-releaser-pleaser-version\n",
|
2024-08-31 15:23:21 +02:00
|
|
|
info: ReleaseInfo{
|
|
|
|
|
Version: "v1.2.0",
|
|
|
|
|
},
|
|
|
|
|
want: "Foooo\n\v1.2.0\nv1.2.0 // x-releaser-pleaser-version\n",
|
|
|
|
|
wantErr: assert.NoError,
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-08-23 22:14:34 +02:00
|
|
|
name: "invalid existing version",
|
|
|
|
|
content: "1.0 // x-releaser-pleaser-version",
|
2024-08-31 15:23:21 +02:00
|
|
|
info: ReleaseInfo{
|
|
|
|
|
Version: "v1.2.0",
|
|
|
|
|
},
|
|
|
|
|
want: "1.0 // x-releaser-pleaser-version",
|
|
|
|
|
wantErr: assert.NoError,
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-08-23 22:14:34 +02:00
|
|
|
name: "complicated line",
|
|
|
|
|
content: "version: v1.2.0-alpha.1 => Awesome, isnt it? x-releaser-pleaser-version foobar",
|
2024-08-31 15:23:21 +02:00
|
|
|
info: ReleaseInfo{
|
|
|
|
|
Version: "v1.2.0",
|
|
|
|
|
},
|
|
|
|
|
want: "version: v1.2.0 => Awesome, isnt it? x-releaser-pleaser-version foobar",
|
|
|
|
|
wantErr: assert.NoError,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
for _, tt := range tests {
|
|
|
|
|
t.Run(tt.name, func(t *testing.T) {
|
2025-08-23 22:14:34 +02:00
|
|
|
runUpdaterTest(t, Generic([]string{"version.txt"}), tt)
|
2024-08-31 15:23:21 +02:00
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|