[#12] Implement RedfishConfigError interface
Implement RedfishConfigError Rename RedfishConfigError to follow airship norms IE ErrRedfish... Update unit tests Change-Id: I49051315460b5d261186f32bae6101a752740eae
This commit is contained in:
parent
1399c569f4
commit
7bfdea075e
@ -17,14 +17,12 @@ func NewRedfishClientErrorf(format string, v ...interface{}) error {
|
|||||||
return e
|
return e
|
||||||
}
|
}
|
||||||
|
|
||||||
type RedfishConfigError struct {
|
type ErrRedfishMissingConfig struct {
|
||||||
aerror.AirshipError
|
What string
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewRedfishConfigErrorf(format string, v ...interface{}) error {
|
func (e ErrRedfishMissingConfig) Error() string {
|
||||||
e := &RedfishConfigError{}
|
return "missing configuration: " + e.What
|
||||||
e.Message = fmt.Sprintf(format, v...)
|
|
||||||
return e
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Redfish client return error if response has no body.
|
// Redfish client return error if response has no body.
|
||||||
|
@ -2,6 +2,7 @@ package redfish
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
|
||||||
redfishApi "opendev.org/airship/go-redfish/api"
|
redfishApi "opendev.org/airship/go-redfish/api"
|
||||||
@ -84,17 +85,23 @@ func NewRedfishRemoteDirectClient(ctx context.Context,
|
|||||||
) (RedfishRemoteDirect, error) {
|
) (RedfishRemoteDirect, error) {
|
||||||
if remoteURL == "" {
|
if remoteURL == "" {
|
||||||
return RedfishRemoteDirect{},
|
return RedfishRemoteDirect{},
|
||||||
NewRedfishConfigErrorf("redfish remote url empty")
|
ErrRedfishMissingConfig{
|
||||||
|
What: "redfish remote url empty",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ephNodeID == "" {
|
if ephNodeID == "" {
|
||||||
return RedfishRemoteDirect{},
|
return RedfishRemoteDirect{},
|
||||||
NewRedfishConfigErrorf("redfish ephemeral node id empty")
|
ErrRedfishMissingConfig{
|
||||||
|
What: "redfish ephemeral node id empty",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if isoPath == "" {
|
if isoPath == "" {
|
||||||
return RedfishRemoteDirect{},
|
return RedfishRemoteDirect{},
|
||||||
NewRedfishConfigErrorf("redfish ephemeral node iso Path empty")
|
ErrRedfishMissingConfig{
|
||||||
|
What: "redfish ephemeral node iso Path empty",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg := &redfishClient.Configuration{
|
cfg := &redfishClient.Configuration{
|
||||||
@ -107,7 +114,10 @@ func NewRedfishRemoteDirectClient(ctx context.Context,
|
|||||||
|
|
||||||
parsedUrl, err := url.Parse(remoteURL)
|
parsedUrl, err := url.Parse(remoteURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return RedfishRemoteDirect{}, NewRedfishConfigErrorf("Invalid URL format: %v", err)
|
return RedfishRemoteDirect{},
|
||||||
|
ErrRedfishMissingConfig{
|
||||||
|
What: fmt.Sprintf("invalid url format: %v", err),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
client := RedfishRemoteDirect{
|
client := RedfishRemoteDirect{
|
||||||
|
@ -52,7 +52,7 @@ func TestRedfishRemoteDirectWithEmptyURL(t *testing.T) {
|
|||||||
|
|
||||||
err := DoRemoteDirect(s)
|
err := DoRemoteDirect(s)
|
||||||
|
|
||||||
_, ok := err.(*redfish.RedfishConfigError)
|
_, ok := err.(redfish.ErrRedfishMissingConfig)
|
||||||
assert.True(t, ok)
|
assert.True(t, ok)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,6 +68,6 @@ func TestRedfishRemoteDirectWithEmptyIsoPath(t *testing.T) {
|
|||||||
|
|
||||||
err := DoRemoteDirect(s)
|
err := DoRemoteDirect(s)
|
||||||
|
|
||||||
_, ok := err.(*redfish.RedfishConfigError)
|
_, ok := err.(redfish.ErrRedfishMissingConfig)
|
||||||
assert.True(t, ok)
|
assert.True(t, ok)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user