...

Source file src/edge-infra.dev/pkg/edge/chariot/client/chariotv2_client_test.go

Documentation: edge-infra.dev/pkg/edge/chariot/client

     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