@ -23,12 +23,17 @@ import (
"helm.sh/helm/v3/pkg/release"
)
const (
noTag string = ""
)
func TestHistoryCmd ( t * testing . T ) {
mk := func ( name string , vers int , status release . Status ) * release . Release {
mk := func ( name , releaseTag string , vers int , status release . Status ) * release . Release {
return release . Mock ( & release . MockReleaseOptions {
Name : name ,
Version : vers ,
Status : status ,
Name : name ,
Version : vers ,
Status : status ,
ReleaseTag : releaseTag ,
} )
}
@ -36,36 +41,62 @@ func TestHistoryCmd(t *testing.T) {
name : "get history for release" ,
cmd : "history angry-bird" ,
rels : [ ] * release . Release {
mk ( "angry-bird" , 4 , release . StatusDeployed ) ,
mk ( "angry-bird" , 3 , release . StatusSuperseded ) ,
mk ( "angry-bird" , 2 , release . StatusSuperseded ) ,
mk ( "angry-bird" , 1 , release . StatusSuperseded ) ,
mk ( "angry-bird" , noTag , 4 , release . StatusDeployed ) ,
mk ( "angry-bird" , noTag , 3 , release . StatusSuperseded ) ,
mk ( "angry-bird" , noTag , 2 , release . StatusSuperseded ) ,
mk ( "angry-bird" , noTag , 1 , release . StatusSuperseded ) ,
} ,
golden : "output/history.txt" ,
} , {
name : "get history with max limit set" ,
cmd : "history angry-bird --max 2" ,
rels : [ ] * release . Release {
mk ( "angry-bird" , 4 , release . StatusDeployed ) ,
mk ( "angry-bird" , 3 , release . StatusSuperseded ) ,
mk ( "angry-bird" , noTag , 4 , release . StatusDeployed ) ,
mk ( "angry-bird" , noTag , 3 , release . StatusSuperseded ) ,
} ,
golden : "output/history-limit.txt" ,
} , {
name : "get history with yaml output format" ,
cmd : "history angry-bird --output yaml" ,
rels : [ ] * release . Release {
mk ( "angry-bird" , 4 , release . StatusDeployed ) ,
mk ( "angry-bird" , 3 , release . StatusSuperseded ) ,
mk ( "angry-bird" , noTag , 4 , release . StatusDeployed ) ,
mk ( "angry-bird" , noTag , 3 , release . StatusSuperseded ) ,
} ,
golden : "output/history.yaml" ,
} , {
name : "get history with json output format" ,
cmd : "history angry-bird --output json" ,
rels : [ ] * release . Release {
mk ( "angry-bird" , 4 , release . StatusDeployed ) ,
mk ( "angry-bird" , 3 , release . StatusSuperseded ) ,
mk ( "angry-bird" , noTag , 4 , release . StatusDeployed ) ,
mk ( "angry-bird" , noTag , 3 , release . StatusSuperseded ) ,
} ,
golden : "output/history.json" ,
} , {
name : "get history for release with release tag" ,
cmd : "history angry-bird" ,
rels : [ ] * release . Release {
mk ( "angry-bird" , "tag-4" , 4 , release . StatusDeployed ) ,
mk ( "angry-bird" , "tag-3" , 3 , release . StatusSuperseded ) ,
mk ( "angry-bird" , "tag-2" , 2 , release . StatusSuperseded ) ,
mk ( "angry-bird" , "tag-1" , 1 , release . StatusSuperseded ) ,
} ,
golden : "output/history-release-tag.txt" ,
} , {
name : "get history with yaml output format" ,
cmd : "history angry-bird --output yaml" ,
rels : [ ] * release . Release {
mk ( "angry-bird" , "tag-4" , 4 , release . StatusDeployed ) ,
mk ( "angry-bird" , "tag-3" , 3 , release . StatusSuperseded ) ,
} ,
golden : "output/history-release-tag.yaml" ,
} , {
name : "get history with yaml output format" ,
cmd : "history angry-bird --output json" ,
rels : [ ] * release . Release {
mk ( "angry-bird" , "tag-4" , 4 , release . StatusDeployed ) ,
mk ( "angry-bird" , "tag-3" , 3 , release . StatusSuperseded ) ,
} ,
golden : "output/history-release-tag.json" ,
} }
runTestCmd ( t , tests )
}