145 lines
3.5 KiB
Go
145 lines
3.5 KiB
Go
|
|
package live_test
|
||
|
|
|
||
|
|
import (
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"cloud.o-forge.io/core/oc-lib/models/live"
|
||
|
|
"cloud.o-forge.io/core/oc-lib/models/utils"
|
||
|
|
"cloud.o-forge.io/core/oc-lib/tools"
|
||
|
|
"github.com/stretchr/testify/assert"
|
||
|
|
)
|
||
|
|
|
||
|
|
// ---- AbstractLive (via LiveDatacenter embedding) ----
|
||
|
|
|
||
|
|
func TestAbstractLive_StoreDraftDefault(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
dc.StoreDraftDefault()
|
||
|
|
assert.True(t, dc.IsDraft)
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestAbstractLive_CanDelete_Draft(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
dc.IsDraft = true
|
||
|
|
assert.True(t, dc.CanDelete())
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestAbstractLive_CanDelete_NonDraft(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
dc.IsDraft = false
|
||
|
|
assert.False(t, dc.CanDelete())
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestAbstractLive_GetMonitorPath(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
dc.MonitorPath = "/metrics"
|
||
|
|
assert.Equal(t, "/metrics", dc.GetMonitorPath())
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestAbstractLive_GetResourcesID_Empty(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
assert.Empty(t, dc.GetResourcesID())
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestAbstractLive_SetResourcesID_Append(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
dc.SetResourcesID("res-1")
|
||
|
|
assert.Equal(t, []string{"res-1"}, dc.GetResourcesID())
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestAbstractLive_SetResourcesID_NoDuplication(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
dc.SetResourcesID("res-1")
|
||
|
|
dc.SetResourcesID("res-1") // second call should not duplicate
|
||
|
|
assert.Len(t, dc.GetResourcesID(), 1)
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestAbstractLive_SetResourcesID_MultipleDistinct(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
dc.SetResourcesID("res-1")
|
||
|
|
dc.SetResourcesID("res-2")
|
||
|
|
assert.Len(t, dc.GetResourcesID(), 2)
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestAbstractLive_GetResourceType(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
assert.Equal(t, tools.INVALID, dc.GetResourceType())
|
||
|
|
}
|
||
|
|
|
||
|
|
// ---- LiveDatacenter ----
|
||
|
|
|
||
|
|
func TestLiveDatacenter_GetAccessor(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
acc := dc.GetAccessor(&tools.APIRequest{})
|
||
|
|
assert.NotNil(t, acc)
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLiveDatacenter_GetAccessor_NilRequest(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
acc := dc.GetAccessor(nil)
|
||
|
|
assert.NotNil(t, acc)
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLiveDatacenter_GetResource(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
res := dc.GetResource()
|
||
|
|
assert.NotNil(t, res)
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLiveDatacenter_GetResourceInstance(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
inst := dc.GetResourceInstance()
|
||
|
|
assert.NotNil(t, inst)
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLiveDatacenter_IDAndName(t *testing.T) {
|
||
|
|
dc := &live.LiveDatacenter{}
|
||
|
|
dc.AbstractLive.AbstractObject = utils.AbstractObject{UUID: "dc-id", Name: "dc-name"}
|
||
|
|
assert.Equal(t, "dc-id", dc.GetID())
|
||
|
|
assert.Equal(t, "dc-name", dc.GetName())
|
||
|
|
}
|
||
|
|
|
||
|
|
// ---- LiveStorage ----
|
||
|
|
|
||
|
|
func TestLiveStorage_StoreDraftDefault(t *testing.T) {
|
||
|
|
s := &live.LiveStorage{}
|
||
|
|
s.StoreDraftDefault()
|
||
|
|
assert.True(t, s.IsDraft)
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLiveStorage_CanDelete_Draft(t *testing.T) {
|
||
|
|
s := &live.LiveStorage{}
|
||
|
|
s.IsDraft = true
|
||
|
|
assert.True(t, s.CanDelete())
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLiveStorage_CanDelete_NonDraft(t *testing.T) {
|
||
|
|
s := &live.LiveStorage{}
|
||
|
|
s.IsDraft = false
|
||
|
|
assert.False(t, s.CanDelete())
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLiveStorage_GetAccessor(t *testing.T) {
|
||
|
|
s := &live.LiveStorage{}
|
||
|
|
acc := s.GetAccessor(&tools.APIRequest{})
|
||
|
|
assert.NotNil(t, acc)
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLiveStorage_GetResource(t *testing.T) {
|
||
|
|
s := &live.LiveStorage{}
|
||
|
|
res := s.GetResource()
|
||
|
|
assert.NotNil(t, res)
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLiveStorage_GetResourceInstance(t *testing.T) {
|
||
|
|
s := &live.LiveStorage{}
|
||
|
|
inst := s.GetResourceInstance()
|
||
|
|
assert.NotNil(t, inst)
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLiveStorage_SetResourcesID_NoDuplication(t *testing.T) {
|
||
|
|
s := &live.LiveStorage{}
|
||
|
|
s.SetResourcesID("storage-1")
|
||
|
|
s.SetResourcesID("storage-1")
|
||
|
|
assert.Len(t, s.GetResourcesID(), 1)
|
||
|
|
}
|