github.com/tonto/cli@v0.0.0-20180104210444-aec958fa47db/bump_test.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"os/exec"
     6  	"testing"
     7  )
     8  
     9  func TestBump(t *testing.T) {
    10  	tmp := cdToTmp(t)
    11  
    12  	// create a func.yaml
    13  	res, err := exec.Command(fnTestBin, "init", "--runtime", "go").CombinedOutput()
    14  	if err != nil {
    15  		fmt.Println(string(res))
    16  		t.Fatal(err)
    17  	}
    18  	err = verifyVersion(tmp, "0.0.1")
    19  	if err != nil {
    20  		t.Fatal(err)
    21  	}
    22  
    23  	res, err = exec.Command(fnTestBin, "bump").CombinedOutput()
    24  	if err != nil {
    25  		fmt.Println(string(res))
    26  		t.Fatal(err)
    27  	}
    28  	err = verifyVersion(tmp, "0.0.2")
    29  	if err != nil {
    30  		t.Fatal(err)
    31  	}
    32  	res, err = exec.Command(fnTestBin, "bump", "--minor").CombinedOutput()
    33  	if err != nil {
    34  		fmt.Println(string(res))
    35  		t.Fatal(err)
    36  	}
    37  	err = verifyVersion(tmp, "0.1.0")
    38  	if err != nil {
    39  		t.Fatal(err)
    40  	}
    41  	res, err = exec.Command(fnTestBin, "bump", "--major").CombinedOutput()
    42  	if err != nil {
    43  		fmt.Println(string(res))
    44  		t.Fatal(err)
    45  	}
    46  	err = verifyVersion(tmp, "1.0.0")
    47  	if err != nil {
    48  		t.Fatal(err)
    49  	}
    50  
    51  }
    52  
    53  func verifyVersion(tmp, version string) error {
    54  	_, ff, err := loadFuncfile()
    55  	if err != nil {
    56  		return err
    57  	}
    58  	if ff.Version != version {
    59  		return fmt.Errorf("funcfile version %v does not match expected version %v", ff.Version, version)
    60  	}
    61  	return nil
    62  }