kairos-sdk/versioneer/validate_test.go
Dimitris Karakasilis a8707c113a
1999 list releases (#61)
* Add registry and org to the os-release file

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Extract the software version prefix to a field

and make sure everything still works.
Also implement NoPrereleases method to filter out Kairos pre-releases

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Store RegistryAndOrg on the TagList

to be used in the new PrintImages method that prints full image URLs

This method will be used in the "kairos-agent upgrade list-releases" command

Also fix some relic softarePrefix arguments (Artifact now has that info)

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement sorting in a semver manner

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement FullImages method that returns the tags as full images

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-12-08 14:01:57 +02:00

55 lines
1.4 KiB
Go

package versioneer_test
import (
"github.com/kairos-io/kairos-sdk/versioneer"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)
var _ = Describe("Validate", func() {
var artifact versioneer.Artifact
BeforeEach(func() {
artifact = versioneer.Artifact{
Flavor: "opensuse",
FlavorRelease: "leap-15.5",
Variant: "standard",
Model: "generic",
Arch: "amd64",
Version: "v2.4.2",
}
})
When("artifact is valid", func() {
It("returns nil", func() {
Expect(artifact.Validate()).To(BeNil())
})
})
It("returns an error when FlavorRelease is empty", func() {
artifact.FlavorRelease = ""
Expect(artifact.Validate()).To(MatchError("FlavorRelease is empty"))
})
It("returns an error when Variant is empty", func() {
artifact.Variant = ""
Expect(artifact.Validate()).To(MatchError("Variant is empty"))
})
It("returns an error when Model is empty", func() {
artifact.Model = ""
Expect(artifact.Validate()).To(MatchError("Model is empty"))
})
It("returns an error when Arch is empty", func() {
artifact.Arch = ""
Expect(artifact.Validate()).To(MatchError("Arch is empty"))
})
It("returns an error when SoftwareVersion is not empty but SoftwareVersionPrefix is empty", func() {
artifact.SoftwareVersion = "v1.28.3"
artifact.SoftwareVersionPrefix = ""
Expect(artifact.Validate()).To(MatchError("SoftwareVersionPrefix should be defined when SoftwareVersion is not empty"))
})
})