Skip to content

Commit ebfe7de

Browse files
guillaumerosepraveenkumar
authored andcommitted
Add unit test for api
1 parent 3697a93 commit ebfe7de

File tree

10 files changed

+2327
-0
lines changed

10 files changed

+2327
-0
lines changed

pkg/crc/api/api.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ func CreateApiServer(socketPath string) (CrcApiServer, error) {
1515
logging.Error("Failed to create socket: ", err.Error())
1616
return CrcApiServer{}, err
1717
}
18+
return createApiServerWithListener(listener)
19+
}
20+
21+
func createApiServerWithListener(listener net.Listener) (CrcApiServer, error) {
1822
apiServer := CrcApiServer{
1923
listener: listener,
2024
clusterOpsRequestsChan: make(chan clusterOpsRequest, 10),

pkg/crc/api/api_test.go

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package api
2+
3+
import (
4+
"encoding/json"
5+
"io/ioutil"
6+
"net"
7+
"os"
8+
"path/filepath"
9+
"testing"
10+
11+
"github.com/code-ready/crc/pkg/crc/machine"
12+
"github.com/code-ready/crc/pkg/crc/version"
13+
"github.com/stretchr/testify/assert"
14+
"github.com/stretchr/testify/require"
15+
)
16+
17+
func TestApi(t *testing.T) {
18+
dir, err := ioutil.TempDir("", "api")
19+
require.NoError(t, err)
20+
defer os.RemoveAll(dir)
21+
22+
socket := filepath.Join(dir, "api.sock")
23+
listener, err := net.Listen("unix", socket)
24+
require.NoError(t, err)
25+
defer listener.Close()
26+
27+
api, err := createApiServerWithListener(listener)
28+
require.NoError(t, err)
29+
go api.Serve()
30+
31+
client, err := net.Dial("unix", socket)
32+
require.NoError(t, err)
33+
34+
jsonReq, err := json.Marshal(commandRequest{
35+
Command: "version",
36+
Args: map[string]string{},
37+
})
38+
assert.NoError(t, err)
39+
_, err = client.Write(jsonReq)
40+
assert.NoError(t, err)
41+
42+
payload := make([]byte, 1024)
43+
n, err := client.Read(payload)
44+
assert.NoError(t, err)
45+
46+
var versionRes machine.VersionResult
47+
assert.NoError(t, json.Unmarshal(payload[0:n], &versionRes))
48+
assert.Equal(t, machine.VersionResult{
49+
CrcVersion: version.GetCRCVersion(),
50+
CommitSha: version.GetCommitSha(),
51+
OpenshiftVersion: version.GetBundleVersion(),
52+
Success: true,
53+
}, versionRes)
54+
}

vendor/github.com/stretchr/testify/require/doc.go

Lines changed: 28 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/stretchr/testify/require/forward_requirements.go

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)