@@ -29,6 +29,63 @@ import (
2929 fabricopsv1alpha1 "github.com/LF-Decentralized-Trust-labs/FabricOps/api/v1alpha1"
3030)
3131
32+ func TestRunVersionPrintsDevelopmentVersion (t * testing.T ) {
33+ var stdout , stderr bytes.Buffer
34+ if err := run ([]string {"version" }, & stdout , & stderr ); err != nil {
35+ t .Fatalf ("run(version) error = %v" , err )
36+ }
37+ if got , want := strings .TrimSpace (stdout .String ()), "fabricopsctl development" ; got != want {
38+ t .Fatalf ("stdout = %q, want %q" , got , want )
39+ }
40+ if stderr .Len () != 0 {
41+ t .Fatalf ("stderr = %q, want empty" , stderr .String ())
42+ }
43+ }
44+
45+ func TestRunVersionPrintsInjectedVersion (t * testing.T ) {
46+ originalVersion := version
47+ t .Cleanup (func () { version = originalVersion })
48+ version = "0.2.0"
49+
50+ var stdout , stderr bytes.Buffer
51+ if err := run ([]string {"version" }, & stdout , & stderr ); err != nil {
52+ t .Fatalf ("run(version) error = %v" , err )
53+ }
54+ if got , want := strings .TrimSpace (stdout .String ()), "fabricopsctl 0.2.0" ; got != want {
55+ t .Fatalf ("stdout = %q, want %q" , got , want )
56+ }
57+ if stderr .Len () != 0 {
58+ t .Fatalf ("stderr = %q, want empty" , stderr .String ())
59+ }
60+ }
61+
62+ func TestRunVersionRejectsArguments (t * testing.T ) {
63+ var stdout , stderr bytes.Buffer
64+ err := run ([]string {"version" , "extra" }, & stdout , & stderr )
65+ if ! errors .Is (err , errUsage ) {
66+ t .Fatalf ("run(version extra) error = %v, want errUsage" , err )
67+ }
68+ if stdout .Len () != 0 {
69+ t .Fatalf ("stdout = %q, want empty" , stdout .String ())
70+ }
71+ if got , want := strings .TrimSpace (stderr .String ()), "Usage: fabricopsctl version" ; got != want {
72+ t .Fatalf ("stderr = %q, want %q" , got , want )
73+ }
74+ }
75+
76+ func TestHelpListsVersionCommand (t * testing.T ) {
77+ var stdout , stderr bytes.Buffer
78+ if err := run ([]string {"--help" }, & stdout , & stderr ); err != nil {
79+ t .Fatalf ("run(--help) error = %v" , err )
80+ }
81+ if ! strings .Contains (stdout .String (), "fabricopsctl version" ) {
82+ t .Fatalf ("stdout does not list version command:\n %s" , stdout .String ())
83+ }
84+ if stderr .Len () != 0 {
85+ t .Fatalf ("stderr = %q, want empty" , stderr .String ())
86+ }
87+ }
88+
3289func TestWaitForFabricNetworkReadyReturnsOnReadyCondition (t * testing.T ) {
3390 var stdout , stderr bytes.Buffer
3491 err := waitForFabricNetworkReady (
0 commit comments