@@ -19,12 +19,42 @@ package capabilities
1919import (
2020 "github.com/blang/semver"
2121
22+ barmanApi "github.com/cloudnative-pg/barman-cloud/pkg/api"
23+
2224 . "github.com/onsi/ginkgo/v2"
2325 . "github.com/onsi/gomega"
2426)
2527
2628var _ = Describe ("detect capabilities" , func () {
27- It ("ensures that all capabilities are true for the 3.4 version" , func () {
29+ It ("ensures that all capabilities are true for the 3.12 version" , func () {
30+ version , err := semver .ParseTolerant ("3.12.0" )
31+ Expect (err ).ToNot (HaveOccurred ())
32+ capabilities := detect (& version )
33+ Expect (capabilities ).To (Equal (& Capabilities {
34+ Version : & version ,
35+ hasName : true ,
36+ HasAzure : true ,
37+ HasS3 : true ,
38+ HasGoogle : true ,
39+ HasRetentionPolicy : true ,
40+ HasTags : true ,
41+ HasCheckWalArchive : true ,
42+ HasErrorCodesForWALRestore : true ,
43+ HasErrorCodesForRestore : true ,
44+ HasAzureManagedIdentity : true ,
45+ supportedCompressions : []barmanApi.CompressionType {
46+ barmanApi .CompressionTypeNone ,
47+ barmanApi .CompressionTypeBzip2 ,
48+ barmanApi .CompressionTypeGzip ,
49+ barmanApi .CompressionTypeLz4 ,
50+ barmanApi .CompressionTypeXz ,
51+ barmanApi .CompressionTypeZstd ,
52+ barmanApi .CompressionTypeSnappy ,
53+ },
54+ }))
55+ })
56+
57+ It ("ensures that barman versions 3.4 have no additional compression capabilities" , func () {
2858 version , err := semver .ParseTolerant ("3.4.0" )
2959 Expect (err ).ToNot (HaveOccurred ())
3060 capabilities := detect (& version )
@@ -37,10 +67,15 @@ var _ = Describe("detect capabilities", func() {
3767 HasRetentionPolicy : true ,
3868 HasTags : true ,
3969 HasCheckWalArchive : true ,
40- HasSnappy : true ,
4170 HasErrorCodesForWALRestore : true ,
4271 HasErrorCodesForRestore : true ,
4372 HasAzureManagedIdentity : true ,
73+ supportedCompressions : []barmanApi.CompressionType {
74+ barmanApi .CompressionTypeNone ,
75+ barmanApi .CompressionTypeBzip2 ,
76+ barmanApi .CompressionTypeGzip ,
77+ barmanApi .CompressionTypeSnappy ,
78+ },
4479 }))
4580 })
4681
@@ -56,10 +91,15 @@ var _ = Describe("detect capabilities", func() {
5691 HasRetentionPolicy : true ,
5792 HasTags : true ,
5893 HasCheckWalArchive : true ,
59- HasSnappy : true ,
6094 HasErrorCodesForWALRestore : true ,
6195 HasErrorCodesForRestore : true ,
6296 HasAzureManagedIdentity : true ,
97+ supportedCompressions : []barmanApi.CompressionType {
98+ barmanApi .CompressionTypeNone ,
99+ barmanApi .CompressionTypeBzip2 ,
100+ barmanApi .CompressionTypeGzip ,
101+ barmanApi .CompressionTypeSnappy ,
102+ },
63103 }))
64104 })
65105
@@ -74,14 +114,19 @@ var _ = Describe("detect capabilities", func() {
74114 HasRetentionPolicy : true ,
75115 HasTags : true ,
76116 HasCheckWalArchive : true ,
77- HasSnappy : true ,
78117 HasErrorCodesForWALRestore : true ,
79118 HasErrorCodesForRestore : true ,
80119 HasAzureManagedIdentity : true ,
120+ supportedCompressions : []barmanApi.CompressionType {
121+ barmanApi .CompressionTypeNone ,
122+ barmanApi .CompressionTypeBzip2 ,
123+ barmanApi .CompressionTypeGzip ,
124+ barmanApi .CompressionTypeSnappy ,
125+ },
81126 }))
82127 })
83128
84- It ("ensures that barmans versions below 2.18.0 only return the expected capabilities" , func () {
129+ It ("ensures that barman versions below 2.18.0 only return the expected capabilities" , func () {
85130 version , err := semver .ParseTolerant ("2.17.0" )
86131 Expect (err ).ToNot (HaveOccurred ())
87132 capabilities := detect (& version )
@@ -90,6 +135,11 @@ var _ = Describe("detect capabilities", func() {
90135 HasAzure : true ,
91136 HasS3 : true ,
92137 HasRetentionPolicy : true ,
138+ supportedCompressions : []barmanApi.CompressionType {
139+ barmanApi .CompressionTypeNone ,
140+ barmanApi .CompressionTypeBzip2 ,
141+ barmanApi .CompressionTypeGzip ,
142+ },
93143 }), "unexpected capabilities set to true" )
94144 })
95145
@@ -101,6 +151,11 @@ var _ = Describe("detect capabilities", func() {
101151 Version : & version ,
102152 HasAzure : true ,
103153 HasS3 : true ,
154+ supportedCompressions : []barmanApi.CompressionType {
155+ barmanApi .CompressionTypeNone ,
156+ barmanApi .CompressionTypeBzip2 ,
157+ barmanApi .CompressionTypeGzip ,
158+ },
104159 }))
105160 })
106161
@@ -110,6 +165,11 @@ var _ = Describe("detect capabilities", func() {
110165 capabilities := detect (& version )
111166 Expect (capabilities ).To (Equal (& Capabilities {
112167 Version : & version ,
168+ supportedCompressions : []barmanApi.CompressionType {
169+ barmanApi .CompressionTypeNone ,
170+ barmanApi .CompressionTypeBzip2 ,
171+ barmanApi .CompressionTypeGzip ,
172+ },
113173 }))
114174 })
115175})
0 commit comments