@@ -17,78 +17,72 @@ limitations under the License.
packagemain
import(
"bytes"
"strings"
"io"
"testing"
"github.com/spf13/cobra"
"k8s.io/helm/pkg/helm"
)
funcTestSearchCmd(t*testing.T){
tests:=[]struct{
namestring
args[]string
flags[]string
expectstring
regexpbool
failbool
}{
tests:=[]releaseCase{
{
name:"search for 'maria', expect one match",
args:[]string{"maria"},
expect:"NAME \tCHART VERSION\tAPP VERSION\tDESCRIPTION \ntesting/mariadb\t0.3.0 \t\tChart for MariaDB",
name:"search for 'maria', expect one match",
args:[]string{"maria"},
expected:"NAME \tCHART VERSION\tAPP VERSION\tDESCRIPTION \ntesting/mariadb\t0.3.0 \t\tChart for MariaDB",
},
{
name:"search for 'alpine', expect two matches",
args:[]string{"alpine"},
expect:"NAME \tCHART VERSION\tAPP VERSION\tDESCRIPTION \ntesting/alpine\t0.2.0 \t2.3.4 \tDeploy a basic Alpine Linux pod",
name:"search for 'alpine', expect two matches",
args:[]string{"alpine"},
expected:"NAME \tCHART VERSION\tAPP VERSION\tDESCRIPTION \ntesting/alpine\t0.2.0 \t2.3.4 \tDeploy a basic Alpine Linux pod",
},
{
name:"search for 'alpine' with versions, expect three matches",
args:[]string{"alpine"},
flags:[]string{"--versions"},
expect:"NAME \tCHART VERSION\tAPP VERSION\tDESCRIPTION \ntesting/alpine\t0.2.0 \t2.3.4 \tDeploy a basic Alpine Linux pod\ntesting/alpine\t0.1.0 \t1.2.3 \tDeploy a basic Alpine Linux pod",
name:"search for 'alpine' with versions, expect three matches",
args:[]string{"alpine"},
flags:[]string{"--versions"},
expected:"NAME \tCHART VERSION\tAPP VERSION\tDESCRIPTION \ntesting/alpine\t0.2.0 \t2.3.4 \tDeploy a basic Alpine Linux pod\ntesting/alpine\t0.1.0 \t1.2.3 \tDeploy a basic Alpine Linux pod",
},
{
name:"search for 'alpine' with version constraint, expect one match with version 0.1.0",
args:[]string{"alpine"},
flags:[]string{"--version",">= 0.1, < 0.2"},
expect:"NAME \tCHART VERSION\tAPP VERSION\tDESCRIPTION \ntesting/alpine\t0.1.0 \t1.2.3 \tDeploy a basic Alpine Linux pod",
name:"search for 'alpine' with version constraint, expect one match with version 0.1.0",
args:[]string{"alpine"},
flags:[]string{"--version",">= 0.1, < 0.2"},
expected:"NAME \tCHART VERSION\tAPP VERSION\tDESCRIPTION \ntesting/alpine\t0.1.0 \t1.2.3 \tDeploy a basic Alpine Linux pod",
},
{
name:"search for 'alpine' with version constraint, expect one match with version 0.1.0",
expect:"NAME \tCHART VERSION\tAPP VERSION\tDESCRIPTION \ntesting/alpine\t0.2.0 \t2.3.4 \tDeploy a basic Alpine Linux pod\ntesting/alpine\t0.1.0 \t1.2.3 \tDeploy a basic Alpine Linux pod",
name:"search for 'alpine' with version constraint and --versions, expect two matches",
expected:"NAME \tCHART VERSION\tAPP VERSION\tDESCRIPTION \ntesting/alpine\t0.2.0 \t2.3.4 \tDeploy a basic Alpine Linux pod\ntesting/alpine\t0.1.0 \t1.2.3 \tDeploy a basic Alpine Linux pod",
},
{
name:"search for 'syzygy', expect no matches",
args:[]string{"syzygy"},
expect:"No results found",
name:"search for 'syzygy', expect no matches",
args:[]string{"syzygy"},
expected:"No results found",
},
{
name:"search for 'alp[a-z]+', expect two matches",
args:[]string{"alp[a-z]+"},
flags:[]string{"--regexp"},
expect:"NAME \tCHART VERSION\tAPP VERSION\tDESCRIPTION \ntesting/alpine\t0.2.0 \t2.3.4 \tDeploy a basic Alpine Linux pod",
regexp:true,
name:"search for 'alp[a-z]+', expect two matches",
args:[]string{"alp[a-z]+"},
flags:[]string{"--regexp"},
expected:"NAME \tCHART VERSION\tAPP VERSION\tDESCRIPTION \ntesting/alpine\t0.2.0 \t2.3.4 \tDeploy a basic Alpine Linux pod",
},
{
name:"search for 'alp[', expect failure to compile regexp",
args:[]string{"alp["},
flags:[]string{"--regexp"},
regexp:true,
fail:true,
name:"search for 'alp[', expect failure to compile regexp",