github.com/opendevstack/tailor@v1.3.5-0.20220119161809-cab064e60a67/pkg/cli/oc_version_test.go (about) 1 package cli 2 3 import ( 4 "testing" 5 6 "github.com/opendevstack/tailor/internal/test/helper" 7 ) 8 9 type mockOcVersionClient struct { 10 t *testing.T 11 fixture string 12 } 13 14 func (c *mockOcVersionClient) Version() ([]byte, []byte, error) { 15 content := helper.ReadFixtureFile(c.t, "version/"+c.fixture) 16 return content, []byte(""), nil 17 } 18 19 func TestOcVersion(t *testing.T) { 20 tests := map[string]struct { 21 fixture string 22 expectedClient string 23 expectedServer string 24 }{ 25 "client=3.9 and server=3.11": { 26 fixture: "client-3_9-and-server-3_11.txt", 27 expectedClient: "v3.9", 28 expectedServer: "v3.11", 29 }, 30 "client=3.11 and server=3.11": { 31 fixture: "client-3_11-and-server-3_11.txt", 32 expectedClient: "v3.11", 33 expectedServer: "v3.11", 34 }, 35 "client=3.11 and server=?": { 36 fixture: "client-3_11-and-server-unknown.txt", 37 expectedClient: "v3.11", 38 expectedServer: "?", 39 }, 40 } 41 42 for name, tc := range tests { 43 t.Run(name, func(t *testing.T) { 44 c := &mockOcVersionClient{t: t, fixture: tc.fixture} 45 ov := ocVersion(c) 46 if ov.client != tc.expectedClient { 47 t.Fatalf("Expected client version: '%s', got: '%s'", tc.expectedClient, ov.client) 48 } 49 if ov.server != tc.expectedServer { 50 t.Fatalf("Expected client version: '%s', got: '%s'", tc.expectedServer, ov.server) 51 } 52 }) 53 } 54 }