zotregistry.dev/zot@v1.4.4-0.20240314164342-eec277e14d20/pkg/cli/client/flags_test.go (about)

     1  //go:build search
     2  // +build search
     3  
     4  package client_test
     5  
     6  import (
     7  	"testing"
     8  
     9  	. "github.com/smartystreets/goconvey/convey"
    10  
    11  	. "zotregistry.dev/zot/pkg/cli/client"
    12  	gql_gen "zotregistry.dev/zot/pkg/extensions/search/gql_generated"
    13  )
    14  
    15  func TestSortFlagsMapping(t *testing.T) {
    16  	// We do this to not import the whole gql_gen in the CLI
    17  	Convey("Make sure the sort-by values map correctly to the gql enum type", t, func() {
    18  		So(Flag2SortCriteria(SortByRelevance), ShouldResemble, string(gql_gen.SortCriteriaRelevance))
    19  		So(Flag2SortCriteria(SortByUpdateTime), ShouldResemble, string(gql_gen.SortCriteriaUpdateTime))
    20  		So(Flag2SortCriteria(SortByAlphabeticAsc), ShouldResemble, string(gql_gen.SortCriteriaAlphabeticAsc))
    21  		So(Flag2SortCriteria(SortByAlphabeticDsc), ShouldResemble, string(gql_gen.SortCriteriaAlphabeticDsc))
    22  		So(Flag2SortCriteria(SortBySeverity), ShouldResemble, string(gql_gen.SortCriteriaSeverity))
    23  	})
    24  }
    25  
    26  func TestSortFlags(t *testing.T) {
    27  	Convey("Flags", t, func() {
    28  		cveSortFlag := CVEListSortFlag("")
    29  		err := cveSortFlag.Set("bad-flag")
    30  		So(err, ShouldNotBeNil)
    31  
    32  		imageListSortFlag := ImageListSortFlag("")
    33  		err = imageListSortFlag.Set("bad-flag")
    34  		So(err, ShouldNotBeNil)
    35  
    36  		imageSearchSortFlag := ImageSearchSortFlag("")
    37  		err = imageSearchSortFlag.Set("bad-flag")
    38  		So(err, ShouldNotBeNil)
    39  
    40  		repoListSearchFlag := RepoListSortFlag("")
    41  		err = repoListSearchFlag.Set("bad-flag")
    42  		So(err, ShouldNotBeNil)
    43  	})
    44  
    45  	Convey("Flag2SortCriteria", t, func() {
    46  		So(Flag2SortCriteria("bad-flag"), ShouldResemble, "BAD_SORT_CRITERIA")
    47  	})
    48  }