Files
airshipctl/pkg/remote/remote_direct_test.go
Alexander Hughes 7bfdea075e [#12] Implement RedfishConfigError interface
Implement RedfishConfigError
Rename RedfishConfigError to follow airship norms IE ErrRedfish...
Update unit tests

Change-Id: I49051315460b5d261186f32bae6101a752740eae
2020-02-12 21:29:58 +00:00

74 lines
1.5 KiB
Go

package remote
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"opendev.org/airship/airshipctl/pkg/config"
"opendev.org/airship/airshipctl/pkg/environment"
"opendev.org/airship/airshipctl/pkg/remote/redfish"
)
func initSettings(t *testing.T, rd *config.RemoteDirect, testdata string) *environment.AirshipCTLSettings {
settings := &environment.AirshipCTLSettings{}
settings.SetConfig(config.DummyConfig())
bi, err := settings.Config().CurrentContextBootstrapInfo()
require.NoError(t, err)
bi.RemoteDirect = rd
cm, err := settings.Config().CurrentContextManifest()
require.NoError(t, err)
cm.TargetPath = "testdata/" + testdata
return settings
}
func TestUnknownRemoteType(t *testing.T) {
s := initSettings(
t,
&config.RemoteDirect{
RemoteType: "new-remote",
IsoURL: "/test.iso",
},
"base",
)
err := DoRemoteDirect(s)
_, ok := err.(*RemoteDirectError)
assert.True(t, ok)
}
func TestRedfishRemoteDirectWithEmptyURL(t *testing.T) {
s := initSettings(
t,
&config.RemoteDirect{
RemoteType: "redfish",
IsoURL: "/test.iso",
},
"emptyurl",
)
err := DoRemoteDirect(s)
_, ok := err.(redfish.ErrRedfishMissingConfig)
assert.True(t, ok)
}
func TestRedfishRemoteDirectWithEmptyIsoPath(t *testing.T) {
s := initSettings(
t,
&config.RemoteDirect{
RemoteType: "redfish",
IsoURL: "",
},
"base",
)
err := DoRemoteDirect(s)
_, ok := err.(redfish.ErrRedfishMissingConfig)
assert.True(t, ok)
}