1 package client
2
3 import (
4 "testing"
5
6 "github.com/google/uuid"
7 "github.com/stretchr/testify/assert"
8 )
9
10 func TestNewChariotMessage(t *testing.T) {
11 actual := &ChariotMessage{}
12 expected := NewChariotMessage()
13 assert.Equal(t, expected, actual)
14 }
15
16 func TestSetBanner(t *testing.T) {
17 expectedBannerGUID := uuid.NewString()
18 expectedChariotMessage := &ChariotMessage{
19 Banner: expectedBannerGUID,
20 }
21 actualBannerGUID := uuid.NewString()
22 expectedChariotMessage.SetBanner(actualBannerGUID)
23 assert.Equal(t, expectedChariotMessage.Banner, actualBannerGUID)
24 }
25
26 func TestSetCluster(t *testing.T) {
27 expectedClusterGUID := uuid.NewString()
28 expectedChariotMessage := &ChariotMessage{
29 Cluster: expectedClusterGUID,
30 }
31 actualClusterGUID := uuid.NewString()
32 expectedChariotMessage.SetCluster(actualClusterGUID)
33 assert.Equal(t, expectedChariotMessage.Cluster, actualClusterGUID)
34 }
35
36 func TestSetOperation(t *testing.T) {
37 expectedChariotMessage := &ChariotMessage{
38 Operation: Create.String(),
39 }
40 expectedChariotMessage.SetOperation(Delete)
41 assert.Equal(t, expectedChariotMessage.Operation, Delete.String())
42 }
43
44 func TestSetOwner(t *testing.T) {
45 expectedChariotMessage := &ChariotMessage{
46 Owner: "BFFUser",
47 }
48 expectedChariotMessage.SetOwner("EdgeUser")
49 assert.Equal(t, expectedChariotMessage.Owner, "EdgeUser")
50 }
51
52 func TestSetObjects(t *testing.T) {
53 expectedObjects := []string{"Sm9l", "QWxhZ29h"}
54 expectedChariotMessage := &ChariotMessage{
55 Objects: expectedObjects,
56 }
57 actualObjects := []string{"aGVsbG8=", "V29ybGQ="}
58 expectedChariotMessage.SetObjects(actualObjects)
59 assert.Equal(t, expectedChariotMessage.Objects, actualObjects)
60 }
61
62 func TestAddObject(t *testing.T) {
63 expectedObjects := []string{"Sm9l"}
64 expectedChariotMessage := &ChariotMessage{
65 Objects: expectedObjects,
66 }
67 newObject := "QWxhZ29h"
68 expectedChariotMessage.AddObject(newObject)
69 assert.Contains(t, expectedChariotMessage.Objects, newObject)
70 }
71
72 func TestSetDir(t *testing.T) {
73 expected := []byte("{\"objects\":null,\"banner\":\"\",\"cluster\":\"\",\"operation\":\"\",\"owner\":\"\",\"dir\":\"directory\"}")
74 cm := &ChariotMessage{}
75 cm = cm.SetDir("directory")
76 bits, err := cm.ToByte()
77 assert.NoError(t, err)
78 assert.Equal(t, expected, bits)
79 }
80
81 func TestSetEmptyDir(t *testing.T) {
82 expected := []byte("{\"objects\":null,\"banner\":\"\",\"cluster\":\"\",\"operation\":\"\",\"owner\":\"\"}")
83 cm := &ChariotMessage{}
84 cm = cm.SetDir("")
85 bits, err := cm.ToByte()
86 assert.NoError(t, err)
87 assert.Equal(t, expected, bits)
88 }
89
90 func TestToByte(t *testing.T) {
91 expectedObjects := []string{"Sm9l", "QWxhZ29h"}
92 expectedChariotMessage := &ChariotMessage{
93 Banner: uuid.NewString(),
94 Cluster: uuid.NewString(),
95 Objects: expectedObjects,
96 }
97 byteResponse, err := expectedChariotMessage.ToByte()
98 assert.NoError(t, err)
99 assert.NotEmpty(t, byteResponse)
100 }
101
View as plain text