Skip to content
Open
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions fdbkubernetesmonitor/api/version_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,42 @@ import (
)

var _ = Describe("[api] FDBVersion", func() {
When("marshaling and unmarshaling a Version as JSON", func() {
It("should round-trip a stable version", func() {
original := Version{Major: 7, Minor: 3, Patch: 27}
Comment thread
Ronitsabhaya75 marked this conversation as resolved.
data, err := json.Marshal(&original)
Expect(err).NotTo(HaveOccurred())
Expect(string(data)).To(Equal(`"7.3.27"`))

var decoded Version
Expect(json.Unmarshal(data, &decoded)).To(Succeed())
Expect(decoded).To(Equal(original))
})

It("should round-trip a release candidate version", func() {
original := Version{Major: 7, Minor: 0, Patch: 0, ReleaseCandidate: 3}
data, err := json.Marshal(&original)
Expect(err).NotTo(HaveOccurred())
Expect(string(data)).To(Equal(`"7.0.0-rc3"`))

var decoded Version
Expect(json.Unmarshal(data, &decoded)).To(Succeed())
Expect(decoded).To(Equal(original))
})

It("should return an error when unmarshaling an invalid version string", func() {
var decoded Version
err := json.Unmarshal([]byte(`"not-a-version"`), &decoded)
Expect(err).To(HaveOccurred())
})

It("should return an error when unmarshaling a version with missing patch", func() {
var decoded Version
err := json.Unmarshal([]byte(`"7.3"`), &decoded)
Expect(err).To(HaveOccurred())
})
Comment thread
Ronitsabhaya75 marked this conversation as resolved.
Outdated
})

When("checking if the protocol and the version are compatible", func() {
It("should return the correct compatibility", func() {
version := Version{Major: 6, Minor: 2, Patch: 20}
Expand Down
Loading