v1.12.2
This commit is contained in:
@@ -17,12 +17,15 @@ import (
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/lb"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/locations"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/rg"
|
||||
securitygroup "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/security_group"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/sep"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/stack"
|
||||
storagepolicy "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/storage_policy"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/tasks"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/trunk"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/vins"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/zone"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/sdn/acsgroups"
|
||||
|
||||
account_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/account"
|
||||
audit_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/audit"
|
||||
@@ -39,8 +42,10 @@ import (
|
||||
node_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/node"
|
||||
pcidevice_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/pcidevice"
|
||||
rg_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/rg"
|
||||
securitygroup_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/security_group"
|
||||
sep_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/sep"
|
||||
stack_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/stack"
|
||||
storagepolicy_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/storage_policy"
|
||||
tasks_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/tasks"
|
||||
trunk_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/trunk"
|
||||
vins_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/vins"
|
||||
@@ -301,6 +306,46 @@ func TestGetListCloudAPI(t *testing.T) {
|
||||
}
|
||||
getResult("Stack list", bytes, stack.ListStacks{}, t)
|
||||
|
||||
// Storage policy
|
||||
// List
|
||||
bytes, err = client.CloudAPI().StoragePolicy().ListRaw(context.Background(), storagepolicy.ListRequest{})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
getResult("Storage policy list", bytes, storagepolicy.ListStoragePolicies{}, t)
|
||||
// Get
|
||||
listStoragePolicies, _ := client.CloudAPI().StoragePolicy().List(context.Background(), storagepolicy.ListRequest{})
|
||||
if len(listStoragePolicies.Data) > 0 {
|
||||
id := listStoragePolicies.Data[0].ID
|
||||
bytes, err = client.CloudAPI().StoragePolicy().GetRaw(context.Background(), storagepolicy.GetRequest{StoragePolicyID: id})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
getResult("Storage policy get", bytes, storagepolicy.InfoStoragePolicy{}, t)
|
||||
} else {
|
||||
t.Errorf("Can not test Storage policy get because Storage policy list is empty")
|
||||
}
|
||||
|
||||
// Security group
|
||||
// List
|
||||
bytes, err = client.CloudAPI().SecurityGroup().ListRaw(context.Background(), securitygroup.ListRequest{})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
getResult("Security group list", bytes, securitygroup.ListSecurityGroups{}, t)
|
||||
// Get
|
||||
listSecurityGroups, _ := client.CloudAPI().SecurityGroup().List(context.Background(), securitygroup.ListRequest{})
|
||||
if len(listSecurityGroups.Data) > 0 {
|
||||
id := listSecurityGroups.Data[0].ID
|
||||
bytes, err = client.CloudAPI().SecurityGroup().GetRaw(context.Background(), securitygroup.GetRequest{SecurityGroupID: id})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
getResult("Security group get", bytes, securitygroup.RecordSecurityGroup{}, t)
|
||||
} else {
|
||||
t.Errorf("Can not test Security group get because Security group list is empty")
|
||||
}
|
||||
|
||||
// Tasks
|
||||
// List
|
||||
bytes, err = client.CloudAPI().Tasks().ListRaw(context.Background(), tasks.ListRequest{})
|
||||
@@ -681,6 +726,26 @@ func TestGetListCloudbroker(t *testing.T) {
|
||||
t.Errorf("Can not test RG get because RG list is empty")
|
||||
}
|
||||
|
||||
// Security group
|
||||
// List
|
||||
bytes, err = client.CloudBroker().SecurityGroup().ListRaw(context.Background(), securitygroup_cb.ListRequest{})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
getResult("Security group list", bytes, securitygroup_cb.ListSecurityGroups{}, t)
|
||||
// Get
|
||||
listSecurityGroups, _ := client.CloudBroker().SecurityGroup().List(context.Background(), securitygroup_cb.ListRequest{})
|
||||
if len(listSecurityGroups.Data) > 0 {
|
||||
id := listSecurityGroups.Data[0].ID
|
||||
bytes, err = client.CloudBroker().SecurityGroup().GetRaw(context.Background(), securitygroup_cb.GetRequest{SecurityGroupID: id})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
getResult("Security group get", bytes, securitygroup_cb.RecordSecurityGroup{}, t)
|
||||
} else {
|
||||
t.Errorf("Can not test Security group get because Security group list is empty")
|
||||
}
|
||||
|
||||
// SEP
|
||||
// List
|
||||
bytes, err = client.CloudBroker().SEP().ListRaw(context.Background(), sep_cb.ListRequest{})
|
||||
@@ -727,6 +792,26 @@ func TestGetListCloudbroker(t *testing.T) {
|
||||
t.Errorf("Can not test Stack get because Stack list is empty")
|
||||
}
|
||||
|
||||
// Storage policy
|
||||
// List
|
||||
bytes, err = client.CloudBroker().StoragePolicy().ListRaw(context.Background(), storagepolicy_cb.ListRequest{})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
getResult("Storage policy list", bytes, storagepolicy_cb.ListStoragePolicies{}, t)
|
||||
// Get
|
||||
listStoragePolicies, _ := client.CloudBroker().StoragePolicy().List(context.Background(), storagepolicy_cb.ListRequest{})
|
||||
if len(listStoragePolicies.Data) > 0 {
|
||||
id := listStoragePolicies.Data[0].ID
|
||||
bytes, err = client.CloudBroker().StoragePolicy().GetRaw(context.Background(), storagepolicy_cb.GetRequest{StoragePolicyID: id})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
getResult("Storage policy get", bytes, storagepolicy_cb.InfoStoragePolicy{}, t)
|
||||
} else {
|
||||
t.Errorf("Can not test Storage policy get because Storage policy list is empty")
|
||||
}
|
||||
|
||||
// Tasks
|
||||
// List
|
||||
bytes, err = client.CloudBroker().Tasks().ListRaw(context.Background(), tasks_cb.ListRequest{})
|
||||
@@ -796,6 +881,40 @@ func TestGetListCloudbroker(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// TestGetListSDNAPI tests platforms responses vs. json tags of golang structures in cloudapi get/list methods
|
||||
func TestGetListSDNAPI(t *testing.T) {
|
||||
var bytes []byte
|
||||
var err error
|
||||
client, err := getClient()
|
||||
if err != nil {
|
||||
t.Fatalf("Cannot get client: %v", err)
|
||||
}
|
||||
|
||||
// AccessGroups
|
||||
// List
|
||||
bytes, err = client.SDN().AccessGroups().ListRaw(context.Background(), acsgroups.ListGroupsRequest{})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
getResult("access groups list", bytes, acsgroups.AccessGroup{}, t)
|
||||
|
||||
// Users AccessGroups
|
||||
// list
|
||||
listAcsGroups, _ := client.SDN().AccessGroups().List(context.Background(), acsgroups.ListGroupsRequest{})
|
||||
if len(listAcsGroups.AccessGroups) > 0 {
|
||||
id := listAcsGroups.AccessGroups[0].ID
|
||||
bytes, err = client.SDN().AccessGroups().UserListRaw(context.Background(), acsgroups.UsersListRequest{AccessGroupID: id})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
getResult("access groups users list", bytes, acsgroups.User{}, t)
|
||||
} else {
|
||||
t.Errorf("Can not test users get because acs groups list is empty")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// TestRequestsCloudAPI tests platform requests vs. golang request structures in sdk for cloudapi requests
|
||||
func TestRequestsCloudAPI(t *testing.T) {
|
||||
bytes := getBytesFromJSON("input.json", t)
|
||||
@@ -808,6 +927,11 @@ func TestRequestsCloudbroker(t *testing.T) {
|
||||
getErrorsFromJSON(bytes, t, "cloudbroker")
|
||||
}
|
||||
|
||||
func TestRequestsSDN(t *testing.T) {
|
||||
bytes := getBytesFromJSON("input.json", t)
|
||||
getErrorsFromJSON(bytes, t, "sdn")
|
||||
}
|
||||
|
||||
// TestGetAllPaths tests if platform has any handlers that golang sdk doesn't. In this case, list of missing handlers is provided.
|
||||
// Note that DEPRECATED_GROUPS stores list of groups that are considered deprecated. You can add additional grops to DEPRECATED_GROUPS if required.
|
||||
func TestGetAllPaths(t *testing.T) {
|
||||
@@ -839,8 +963,9 @@ func TestGetAllPaths(t *testing.T) {
|
||||
|
||||
caTestUrls := getRequestsMapCloudAPI()
|
||||
cbTestUrls := getRequestsMapCloudbroker()
|
||||
sdnTestUrls := getRequestsMapSDN()
|
||||
|
||||
urlsInTest := make([]string, len(caTestUrls)+len(cbTestUrls))
|
||||
urlsInTest := make([]string, len(caTestUrls)+len(cbTestUrls)+len(sdnTestUrls))
|
||||
|
||||
i := 0
|
||||
for k := range caTestUrls {
|
||||
@@ -851,6 +976,10 @@ func TestGetAllPaths(t *testing.T) {
|
||||
urlsInTest[i] = k
|
||||
i++
|
||||
}
|
||||
for k := range sdnTestUrls {
|
||||
urlsInTest[i] = k
|
||||
i++
|
||||
}
|
||||
|
||||
missingUrls = getMissingDecortUrls(jsonUrls, urlsInTest)
|
||||
if len(missingUrls) > 0 {
|
||||
|
||||
@@ -18,14 +18,17 @@ import (
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/pcidevice"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/prometheus"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/rg"
|
||||
securitygroup "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/security_group"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/sep"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/stack"
|
||||
storagepolicy "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/storage_policy"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/tasks"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/trunk"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/user"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/vfpool"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/vins"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/zone"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/sdn/acsgroups"
|
||||
|
||||
account_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/account"
|
||||
apiaccess_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/apiaccess"
|
||||
@@ -47,8 +50,10 @@ import (
|
||||
pcidevice_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/pcidevice"
|
||||
prometheus_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/prometheus"
|
||||
rg_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/rg"
|
||||
securitygroup_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/security_group"
|
||||
sep_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/sep"
|
||||
stack_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/stack"
|
||||
storagepolicy_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/storage_policy"
|
||||
tasks_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/tasks"
|
||||
trunk_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/trunk"
|
||||
user_cb "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/user"
|
||||
@@ -141,6 +146,7 @@ func getRequestsMapCloudAPI() map[string]interface{} {
|
||||
"/restmachine/cloudapi/compute/cdEject": compute.CDEjectRequest{},
|
||||
"/restmachine/cloudapi/compute/cdInsert": compute.CDInsertRequest{},
|
||||
"/restmachine/cloudapi/compute/changeLinkState": compute.ChangeLinkStateRequest{},
|
||||
"/restmachine/cloudapi/compute/change_security_groups": compute.ChangeSecGroupsRequest{},
|
||||
"/restmachine/cloudapi/compute/clone": compute.CloneRequest{},
|
||||
"/restmachine/cloudapi/compute/createTemplate": compute.CreateTemplateRequest{},
|
||||
"/restmachine/cloudapi/compute/createTemplateFromBlank": compute.CreateTemplateFromBlankRequest{},
|
||||
@@ -207,31 +213,32 @@ func getRequestsMapCloudAPI() map[string]interface{} {
|
||||
"/restmachine/cloudapi/compute/guest_agent_feature_update": compute.GuestAgentFeatureUpdateRequest{},
|
||||
|
||||
// disks
|
||||
"/restmachine/cloudapi/disks/create": disks.CreateRequest{},
|
||||
"/restmachine/cloudapi/disks/delete": disks.DeleteRequest{},
|
||||
"/restmachine/cloudapi/disks/deleteDisks": disks.DisksDeleteRequest{},
|
||||
"/restmachine/cloudapi/disks/fromPlatformDisk": disks.FromPlatformDiskRequest{},
|
||||
"/restmachine/cloudapi/disks/get": disks.GetRequest{},
|
||||
"/restmachine/cloudapi/disks/limitIO": disks.LimitIORequest{},
|
||||
"/restmachine/cloudapi/disks/list": disks.ListRequest{},
|
||||
"/restmachine/cloudapi/disks/listDeleted": disks.ListDeletedRequest{},
|
||||
"/restmachine/cloudapi/disks/listTypes": disks.ListTypesRequest{},
|
||||
"/restmachine/cloudapi/disks/listUnattached": disks.ListUnattachedRequest{},
|
||||
"/restmachine/cloudapi/disks/rename": disks.RenameRequest{},
|
||||
"/restmachine/cloudapi/disks/replicate": disks.ReplicateRequest{},
|
||||
"/restmachine/cloudapi/disks/replicationResume": disks.ReplicationResumeRequest{},
|
||||
"/restmachine/cloudapi/disks/replicationReverse": disks.ReplicationReverseRequest{},
|
||||
"/restmachine/cloudapi/disks/replicationStart": disks.ReplicationStartRequest{},
|
||||
"/restmachine/cloudapi/disks/replicationStatus": disks.ReplicationStatusRequest{},
|
||||
"/restmachine/cloudapi/disks/replicationStop": disks.ReplicationStopRequest{},
|
||||
"/restmachine/cloudapi/disks/replicationSuspend": disks.ReplicationSuspendRequest{},
|
||||
"/restmachine/cloudapi/disks/resize2": disks.ResizeRequest{},
|
||||
"/restmachine/cloudapi/disks/restore": disks.RestoreRequest{},
|
||||
"/restmachine/cloudapi/disks/search": disks.SearchRequest{},
|
||||
"/restmachine/cloudapi/disks/share": disks.ShareRequest{},
|
||||
"/restmachine/cloudapi/disks/snapshotDelete": disks.SnapshotDeleteRequest{},
|
||||
"/restmachine/cloudapi/disks/snapshotRollback": disks.SnapshotRollbackRequest{},
|
||||
"/restmachine/cloudapi/disks/unshare": disks.UnshareRequest{},
|
||||
"/restmachine/cloudapi/disks/change_disk_storage_policy": disks.ChangeDiskStoragePolicyRequest{},
|
||||
"/restmachine/cloudapi/disks/create": disks.CreateRequest{},
|
||||
"/restmachine/cloudapi/disks/delete": disks.DeleteRequest{},
|
||||
"/restmachine/cloudapi/disks/deleteDisks": disks.DisksDeleteRequest{},
|
||||
"/restmachine/cloudapi/disks/fromPlatformDisk": disks.FromPlatformDiskRequest{},
|
||||
"/restmachine/cloudapi/disks/get": disks.GetRequest{},
|
||||
"/restmachine/cloudapi/disks/limitIO": disks.LimitIORequest{},
|
||||
"/restmachine/cloudapi/disks/list": disks.ListRequest{},
|
||||
"/restmachine/cloudapi/disks/listDeleted": disks.ListDeletedRequest{},
|
||||
"/restmachine/cloudapi/disks/listTypes": disks.ListTypesRequest{},
|
||||
"/restmachine/cloudapi/disks/listUnattached": disks.ListUnattachedRequest{},
|
||||
"/restmachine/cloudapi/disks/rename": disks.RenameRequest{},
|
||||
"/restmachine/cloudapi/disks/replicate": disks.ReplicateRequest{},
|
||||
"/restmachine/cloudapi/disks/replicationResume": disks.ReplicationResumeRequest{},
|
||||
"/restmachine/cloudapi/disks/replicationReverse": disks.ReplicationReverseRequest{},
|
||||
"/restmachine/cloudapi/disks/replicationStart": disks.ReplicationStartRequest{},
|
||||
"/restmachine/cloudapi/disks/replicationStatus": disks.ReplicationStatusRequest{},
|
||||
"/restmachine/cloudapi/disks/replicationStop": disks.ReplicationStopRequest{},
|
||||
"/restmachine/cloudapi/disks/replicationSuspend": disks.ReplicationSuspendRequest{},
|
||||
"/restmachine/cloudapi/disks/resize2": disks.ResizeRequest{},
|
||||
"/restmachine/cloudapi/disks/restore": disks.RestoreRequest{},
|
||||
"/restmachine/cloudapi/disks/search": disks.SearchRequest{},
|
||||
"/restmachine/cloudapi/disks/share": disks.ShareRequest{},
|
||||
"/restmachine/cloudapi/disks/snapshotDelete": disks.SnapshotDeleteRequest{},
|
||||
"/restmachine/cloudapi/disks/snapshotRollback": disks.SnapshotRollbackRequest{},
|
||||
"/restmachine/cloudapi/disks/unshare": disks.UnshareRequest{},
|
||||
|
||||
//dpdknet
|
||||
"/restmachine/cloudapi/dpdknet/get": dpdknet.GetRequest{},
|
||||
@@ -254,13 +261,14 @@ func getRequestsMapCloudAPI() map[string]interface{} {
|
||||
"/restmachine/cloudapi/flipgroup/list": flipgroup.ListRequest{},
|
||||
|
||||
// image
|
||||
"/restmachine/cloudapi/image/create": image.CreateRequest{},
|
||||
"/restmachine/cloudapi/image/createVirtual": image.CreateVirtualRequest{},
|
||||
"/restmachine/cloudapi/image/delete": image.DeleteRequest{},
|
||||
"/restmachine/cloudapi/image/get": image.GetRequest{},
|
||||
"/restmachine/cloudapi/image/link": image.LinkRequest{},
|
||||
"/restmachine/cloudapi/image/list": image.ListRequest{},
|
||||
"/restmachine/cloudapi/image/rename": image.RenameRequest{},
|
||||
"/restmachine/cloudapi/image/change_storage_policy": image.ChangeStoragePolicyRequest{},
|
||||
"/restmachine/cloudapi/image/create": image.CreateRequest{},
|
||||
"/restmachine/cloudapi/image/createVirtual": image.CreateVirtualRequest{},
|
||||
"/restmachine/cloudapi/image/delete": image.DeleteRequest{},
|
||||
"/restmachine/cloudapi/image/get": image.GetRequest{},
|
||||
"/restmachine/cloudapi/image/link": image.LinkRequest{},
|
||||
"/restmachine/cloudapi/image/list": image.ListRequest{},
|
||||
"/restmachine/cloudapi/image/rename": image.RenameRequest{},
|
||||
|
||||
// k8ci, k8s
|
||||
"/restmachine/cloudapi/k8ci/get": k8ci.GetRequest{},
|
||||
@@ -375,6 +383,15 @@ func getRequestsMapCloudAPI() map[string]interface{} {
|
||||
"/restmachine/cloudapi/rg/usage": rg.UsageRequest{},
|
||||
"/restmachine/cloudapi/rg/removeDefNet": rg.RemoveDefNetRequest{},
|
||||
|
||||
// security_group
|
||||
"/restmachine/cloudapi/security_group/create": securitygroup.CreateRequest{},
|
||||
"/restmachine/cloudapi/security_group/create_rule": securitygroup.CreateRuleRequest{},
|
||||
"/restmachine/cloudapi/security_group/delete": securitygroup.DeleteRequest{},
|
||||
"/restmachine/cloudapi/security_group/delete_rule": securitygroup.DeleteRuleRequest{},
|
||||
"/restmachine/cloudapi/security_group/get": securitygroup.GetRequest{},
|
||||
"/restmachine/cloudapi/security_group/list": securitygroup.ListRequest{},
|
||||
"/restmachine/cloudapi/security_group/update": securitygroup.UpdateRequest{},
|
||||
|
||||
// sep
|
||||
"/restmachine/cloudapi/sep/listAvailableSepAndPools": sep.ListAvailableSEPAndPoolsRequest{},
|
||||
|
||||
@@ -384,6 +401,10 @@ func getRequestsMapCloudAPI() map[string]interface{} {
|
||||
"/restmachine/cloudapi/tasks/get": tasks.GetRequest{},
|
||||
"/restmachine/cloudapi/tasks/list": tasks.ListRequest{},
|
||||
|
||||
// storage policy
|
||||
"/restmachine/cloudapi/storage_policy/get": storagepolicy.GetRequest{},
|
||||
"/restmachine/cloudapi/storage_policy/list": storagepolicy.ListRequest{},
|
||||
|
||||
// trunk
|
||||
"/restmachine/cloudapi/trunk/get": trunk.GetRequest{},
|
||||
"/restmachine/cloudapi/trunk/list": trunk.ListRequest{},
|
||||
@@ -442,8 +463,10 @@ func getRequestsMapCloudbroker() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
// account_cb
|
||||
"/restmachine/cloudbroker/account/addUser": account_cb.AddUserRequest{},
|
||||
"/restmachine/cloudbroker/account/add_storage_policy": account_cb.AddStoragePolicyRequest{},
|
||||
"/restmachine/cloudbroker/account/audits": account_cb.AuditsRequest{},
|
||||
"/restmachine/cloudbroker/account/create": account_cb.CreateRequest{},
|
||||
"/restmachine/cloudbroker/account/del_storage_policy": account_cb.DelStoragePolicyRequest{},
|
||||
"/restmachine/cloudbroker/account/delete": account_cb.DeleteRequest{},
|
||||
"/restmachine/cloudbroker/account/deleteAccounts": account_cb.DeleteAccountsRequest{},
|
||||
"/restmachine/cloudbroker/account/deleteUser": account_cb.DeleteUserRequest{},
|
||||
@@ -527,6 +550,7 @@ func getRequestsMapCloudbroker() map[string]interface{} {
|
||||
"/restmachine/cloudbroker/compute/cdInsert": compute_cb.CDInsertRequest{},
|
||||
"/restmachine/cloudbroker/compute/changeLinkState": compute_cb.ChangeLinkStateRequest{},
|
||||
"/restmachine/cloudbroker/compute/change_mtu": compute_cb.ChangeMTURequest{},
|
||||
"/restmachine/cloudbroker/compute/change_security_groups": compute_cb.ChangeSecGroupsRequest{},
|
||||
"/restmachine/cloudbroker/compute/clone": compute_cb.CloneRequest{},
|
||||
"/restmachine/cloudbroker/compute/computeciSet": compute_cb.ComputeCISetRequest{},
|
||||
"/restmachine/cloudbroker/compute/computeciUnset": compute_cb.ComputeCIUnsetRequest{},
|
||||
@@ -608,33 +632,34 @@ func getRequestsMapCloudbroker() map[string]interface{} {
|
||||
"/restmachine/cloudbroker/compute/guest_agent_feature_update": compute_cb.GuestAgentFeatureUpdateRequest{},
|
||||
|
||||
// disks
|
||||
"/restmachine/cloudbroker/disks/create": disks_cb.CreateRequest{},
|
||||
"/restmachine/cloudbroker/disks/delete": disks_cb.DeleteRequest{},
|
||||
"/restmachine/cloudbroker/disks/deleteDisks": disks_cb.DeleteDisksRequest{},
|
||||
"/restmachine/cloudbroker/disks/depresent": disks_cb.DepresentRequest{},
|
||||
"/restmachine/cloudbroker/disks/fromPlatformDisk": disks_cb.FromPlatformDiskRequest{},
|
||||
"/restmachine/cloudbroker/disks/get": disks_cb.GetRequest{},
|
||||
"/restmachine/cloudbroker/disks/limitIO": disks_cb.LimitIORequest{},
|
||||
"/restmachine/cloudbroker/disks/list": disks_cb.ListRequest{},
|
||||
"/restmachine/cloudbroker/disks/listDeleted": disks_cb.ListDeletedRequest{},
|
||||
"/restmachine/cloudbroker/disks/listTypes": disks_cb.ListTypesRequest{},
|
||||
"/restmachine/cloudbroker/disks/listUnattached": disks_cb.ListUnattachedRequest{},
|
||||
"/restmachine/cloudbroker/disks/rename": disks_cb.RenameRequest{},
|
||||
"/restmachine/cloudbroker/disks/present": disks_cb.PresentRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicate": disks_cb.ReplicateRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicationResume": disks_cb.ReplicationResumeRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicationReverse": disks_cb.ReplicationReverseRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicationStart": disks_cb.ReplicationStartRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicationStatus": disks_cb.ReplicationStatusRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicationStop": disks_cb.ReplicationStopRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicationSuspend": disks_cb.ReplicationSuspendRequest{},
|
||||
"/restmachine/cloudbroker/disks/resize2": disks_cb.ResizeRequest{},
|
||||
"/restmachine/cloudbroker/disks/restore": disks_cb.RestoreRequest{},
|
||||
"/restmachine/cloudbroker/disks/search": disks_cb.SearchRequest{},
|
||||
"/restmachine/cloudbroker/disks/share": disks_cb.ShareRequest{},
|
||||
"/restmachine/cloudbroker/disks/snapshotDelete": disks_cb.SnapshotDeleteRequest{},
|
||||
"/restmachine/cloudbroker/disks/snapshotRollback": disks_cb.SnapshotRollbackRequest{},
|
||||
"/restmachine/cloudbroker/disks/unshare": disks_cb.UnshareRequest{},
|
||||
"/restmachine/cloudbroker/disks/change_disk_storage_policy": disks_cb.ChangeDiskStoragePolicyRequest{},
|
||||
"/restmachine/cloudbroker/disks/create": disks_cb.CreateRequest{},
|
||||
"/restmachine/cloudbroker/disks/delete": disks_cb.DeleteRequest{},
|
||||
"/restmachine/cloudbroker/disks/deleteDisks": disks_cb.DeleteDisksRequest{},
|
||||
"/restmachine/cloudbroker/disks/depresent": disks_cb.DepresentRequest{},
|
||||
"/restmachine/cloudbroker/disks/fromPlatformDisk": disks_cb.FromPlatformDiskRequest{},
|
||||
"/restmachine/cloudbroker/disks/get": disks_cb.GetRequest{},
|
||||
"/restmachine/cloudbroker/disks/limitIO": disks_cb.LimitIORequest{},
|
||||
"/restmachine/cloudbroker/disks/list": disks_cb.ListRequest{},
|
||||
"/restmachine/cloudbroker/disks/listDeleted": disks_cb.ListDeletedRequest{},
|
||||
"/restmachine/cloudbroker/disks/listTypes": disks_cb.ListTypesRequest{},
|
||||
"/restmachine/cloudbroker/disks/listUnattached": disks_cb.ListUnattachedRequest{},
|
||||
"/restmachine/cloudbroker/disks/rename": disks_cb.RenameRequest{},
|
||||
"/restmachine/cloudbroker/disks/present": disks_cb.PresentRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicate": disks_cb.ReplicateRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicationResume": disks_cb.ReplicationResumeRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicationReverse": disks_cb.ReplicationReverseRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicationStart": disks_cb.ReplicationStartRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicationStatus": disks_cb.ReplicationStatusRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicationStop": disks_cb.ReplicationStopRequest{},
|
||||
"/restmachine/cloudbroker/disks/replicationSuspend": disks_cb.ReplicationSuspendRequest{},
|
||||
"/restmachine/cloudbroker/disks/resize2": disks_cb.ResizeRequest{},
|
||||
"/restmachine/cloudbroker/disks/restore": disks_cb.RestoreRequest{},
|
||||
"/restmachine/cloudbroker/disks/search": disks_cb.SearchRequest{},
|
||||
"/restmachine/cloudbroker/disks/share": disks_cb.ShareRequest{},
|
||||
"/restmachine/cloudbroker/disks/snapshotDelete": disks_cb.SnapshotDeleteRequest{},
|
||||
"/restmachine/cloudbroker/disks/snapshotRollback": disks_cb.SnapshotRollbackRequest{},
|
||||
"/restmachine/cloudbroker/disks/unshare": disks_cb.UnshareRequest{},
|
||||
|
||||
// dpdknet
|
||||
"/restmachine/cloudbroker/dpdknet/get": dpdknet_cb.GetRequest{},
|
||||
@@ -717,26 +742,27 @@ func getRequestsMapCloudbroker() map[string]interface{} {
|
||||
"/restmachine/cloudbroker/group/list": group_cb.ListRequest{},
|
||||
|
||||
// image
|
||||
"/restmachine/cloudbroker/image/computeciSet": image_cb.ComputeCISetRequest{},
|
||||
"/restmachine/cloudbroker/image/computeciUnset": image_cb.ComputeCIUnsetRequest{},
|
||||
"/restmachine/cloudbroker/image/createCDROMImage": image_cb.CreateCDROMImageRequest{},
|
||||
"/restmachine/cloudbroker/image/createImage": image_cb.CreateRequest{},
|
||||
"/restmachine/cloudbroker/image/createVirtual": image_cb.CreateVirtualRequest{},
|
||||
"/restmachine/cloudbroker/image/delete": image_cb.DeleteRequest{},
|
||||
"/restmachine/cloudbroker/image/deleteCDROMImage": image_cb.DeleteCDROMImageRequest{},
|
||||
"/restmachine/cloudbroker/image/deleteImages": image_cb.DeleteImagesRequest{},
|
||||
"/restmachine/cloudbroker/image/disable": image_cb.DisableRequest{},
|
||||
"/restmachine/cloudbroker/image/edit": image_cb.EditRequest{},
|
||||
"/restmachine/cloudbroker/image/enable": image_cb.EnableRequest{},
|
||||
"/restmachine/cloudbroker/image/get": image_cb.GetRequest{},
|
||||
"/restmachine/cloudbroker/image/grantAccess": image_cb.GrantAccessRequest{},
|
||||
"/restmachine/cloudbroker/image/link": image_cb.LinkRequest{},
|
||||
"/restmachine/cloudbroker/image/list": image_cb.ListRequest{},
|
||||
"/restmachine/cloudbroker/image/listStacks": image_cb.ListStacksRequest{},
|
||||
"/restmachine/cloudbroker/image/rename": image_cb.RenameRequest{},
|
||||
"/restmachine/cloudbroker/image/revokeAccess": image_cb.RevokeAccessRequest{},
|
||||
"/restmachine/cloudbroker/image/share": image_cb.ShareRequest{},
|
||||
"/restmachine/cloudbroker/image/updateNodes": image_cb.UpdateNodesRequest{},
|
||||
"/restmachine/cloudbroker/image/change_storage_policy": image_cb.ChangeStoragePolicyRequest{},
|
||||
"/restmachine/cloudbroker/image/computeciSet": image_cb.ComputeCISetRequest{},
|
||||
"/restmachine/cloudbroker/image/computeciUnset": image_cb.ComputeCIUnsetRequest{},
|
||||
"/restmachine/cloudbroker/image/createCDROMImage": image_cb.CreateCDROMImageRequest{},
|
||||
"/restmachine/cloudbroker/image/createImage": image_cb.CreateRequest{},
|
||||
"/restmachine/cloudbroker/image/createVirtual": image_cb.CreateVirtualRequest{},
|
||||
"/restmachine/cloudbroker/image/delete": image_cb.DeleteRequest{},
|
||||
"/restmachine/cloudbroker/image/deleteCDROMImage": image_cb.DeleteCDROMImageRequest{},
|
||||
"/restmachine/cloudbroker/image/deleteImages": image_cb.DeleteImagesRequest{},
|
||||
"/restmachine/cloudbroker/image/disable": image_cb.DisableRequest{},
|
||||
"/restmachine/cloudbroker/image/edit": image_cb.EditRequest{},
|
||||
"/restmachine/cloudbroker/image/enable": image_cb.EnableRequest{},
|
||||
"/restmachine/cloudbroker/image/get": image_cb.GetRequest{},
|
||||
"/restmachine/cloudbroker/image/grantAccess": image_cb.GrantAccessRequest{},
|
||||
"/restmachine/cloudbroker/image/link": image_cb.LinkRequest{},
|
||||
"/restmachine/cloudbroker/image/list": image_cb.ListRequest{},
|
||||
"/restmachine/cloudbroker/image/listStacks": image_cb.ListStacksRequest{},
|
||||
"/restmachine/cloudbroker/image/rename": image_cb.RenameRequest{},
|
||||
"/restmachine/cloudbroker/image/revokeAccess": image_cb.RevokeAccessRequest{},
|
||||
"/restmachine/cloudbroker/image/share": image_cb.ShareRequest{},
|
||||
"/restmachine/cloudbroker/image/updateNodes": image_cb.UpdateNodesRequest{},
|
||||
|
||||
// k8ci
|
||||
"/restmachine/cloudbroker/k8ci/accessAdd": k8ci_cb.AccessAddRequest{},
|
||||
@@ -855,11 +881,13 @@ func getRequestsMapCloudbroker() map[string]interface{} {
|
||||
// rg
|
||||
"/restmachine/cloudbroker/rg/accessGrant": rg_cb.AccessGrantRequest{},
|
||||
"/restmachine/cloudbroker/rg/accessRevoke": rg_cb.AccessRevokeRequest{},
|
||||
"/restmachine/cloudbroker/rg/add_storage_policy": rg_cb.AddStoragePolicyRequest{},
|
||||
"/restmachine/cloudbroker/rg/affinityGroupComputes": rg_cb.AffinityGroupComputesRequest{},
|
||||
"/restmachine/cloudbroker/rg/affinityGroupsGet": rg_cb.AffinityGroupsGetRequest{},
|
||||
"/restmachine/cloudbroker/rg/affinityGroupsList": rg_cb.AffinityGroupsListRequest{},
|
||||
"/restmachine/cloudbroker/rg/audits": rg_cb.AuditsRequest{},
|
||||
"/restmachine/cloudbroker/rg/create": rg_cb.CreateRequest{},
|
||||
"/restmachine/cloudbroker/rg/del_storage_policy": rg_cb.DelStoragePolicyRequest{},
|
||||
"/restmachine/cloudbroker/rg/delete": rg_cb.DeleteRequest{},
|
||||
"/restmachine/cloudbroker/rg/disable": rg_cb.DisableRequest{},
|
||||
"/restmachine/cloudbroker/rg/enable": rg_cb.EnableRequest{},
|
||||
@@ -885,6 +913,15 @@ func getRequestsMapCloudbroker() map[string]interface{} {
|
||||
"/restmachine/cloudbroker/rg/usage": rg_cb.UsageRequest{},
|
||||
"/restmachine/cloudbroker/rg/removeDefNet": rg_cb.RemoveDefNetRequest{},
|
||||
|
||||
// security_group
|
||||
"/restmachine/cloudbroker/security_group/create": securitygroup_cb.CreateRequest{},
|
||||
"/restmachine/cloudbroker/security_group/create_rule": securitygroup_cb.CreateRuleRequest{},
|
||||
"/restmachine/cloudbroker/security_group/delete": securitygroup_cb.DeleteRequest{},
|
||||
"/restmachine/cloudbroker/security_group/delete_rule": securitygroup_cb.DeleteRuleRequest{},
|
||||
"/restmachine/cloudbroker/security_group/get": securitygroup_cb.GetRequest{},
|
||||
"/restmachine/cloudbroker/security_group/list": securitygroup_cb.ListRequest{},
|
||||
"/restmachine/cloudbroker/security_group/update": securitygroup_cb.UpdateRequest{},
|
||||
|
||||
// sep
|
||||
"/restmachine/cloudbroker/sep/accessGrant": sep_cb.AccessGrantRequest{},
|
||||
"/restmachine/cloudbroker/sep/accessGrantToPool": sep_cb.AccessGrantToPoolRequest{},
|
||||
@@ -920,6 +957,17 @@ func getRequestsMapCloudbroker() map[string]interface{} {
|
||||
"/restmachine/cloudbroker/stack/setCpuAllocationRatio": stack_cb.SetCpuAllocationRatioRequest{},
|
||||
"/restmachine/cloudbroker/stack/setMemAllocationRatio": stack_cb.SetMemAllocationRatioRequest{},
|
||||
|
||||
// storage_policy
|
||||
"/restmachine/cloudbroker/storage_policy/get": storagepolicy_cb.GetRequest{},
|
||||
"/restmachine/cloudbroker/storage_policy/list": storagepolicy_cb.ListRequest{},
|
||||
"/restmachine/cloudbroker/storage_policy/create": storagepolicy_cb.CreateRequest{},
|
||||
"/restmachine/cloudbroker/storage_policy/update": storagepolicy_cb.UpdateRequest{},
|
||||
"/restmachine/cloudbroker/storage_policy/add_pool": storagepolicy_cb.AddPoolRequest{},
|
||||
"/restmachine/cloudbroker/storage_policy/delete": storagepolicy_cb.DeleteRequest{},
|
||||
"/restmachine/cloudbroker/storage_policy/disable": storagepolicy_cb.DisableRequest{},
|
||||
"/restmachine/cloudbroker/storage_policy/enable": storagepolicy_cb.EnableRequest{},
|
||||
"/restmachine/cloudbroker/storage_policy/delete_pool": storagepolicy_cb.DeletePollRequest{},
|
||||
|
||||
// tasks
|
||||
"/restmachine/cloudbroker/tasks/get": tasks_cb.GetRequest{},
|
||||
"/restmachine/cloudbroker/tasks/list": tasks_cb.ListRequest{},
|
||||
@@ -1000,6 +1048,7 @@ func getRequestsMapCloudbroker() map[string]interface{} {
|
||||
"/restmachine/cloudbroker/vins/staticRouteAdd": vins_cb.StaticRouteAddRequest{},
|
||||
"/restmachine/cloudbroker/vins/staticRouteDel": vins_cb.StaticRouteDelRequest{},
|
||||
"/restmachine/cloudbroker/vins/staticRouteList": vins_cb.StaticRouteListRequest{},
|
||||
"/restmachine/cloudbroker/vins/update": vins_cb.UpdateRequest{},
|
||||
"/restmachine/cloudbroker/vins/vnfdevRedeploy": vins_cb.VNFDevRedeployRequest{},
|
||||
"/restmachine/cloudbroker/vins/vnfdevRestart": vins_cb.VNFDevRestartRequest{},
|
||||
"/restmachine/cloudbroker/vins/vnfdevReset": vins_cb.VNFDevResetRequest{},
|
||||
@@ -1016,3 +1065,18 @@ func getRequestsMapCloudbroker() map[string]interface{} {
|
||||
"/restmachine/cloudbroker/zone/delNode": zone_cb.DelNodeRequest{},
|
||||
}
|
||||
}
|
||||
|
||||
// getRequestsMapSDN maps request path with request golang sdk structures for sdn most used requests
|
||||
func getRequestsMapSDN() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
// access_groups
|
||||
"/restmachine/sdn/access_group/list": acsgroups.ListGroupsRequest{},
|
||||
"/restmachine/sdn/access_group/user_list": acsgroups.UsersListRequest{},
|
||||
"/restmachine/sdn/access_group/create": acsgroups.CreateRequest{},
|
||||
"/restmachine/sdn/access_group/delete": acsgroups.DeleteRequest{},
|
||||
"/restmachine/sdn/access_group/user_add": acsgroups.UserAddRequest{},
|
||||
"/restmachine/sdn/access_group/patch": acsgroups.PatchRequest{},
|
||||
"/restmachine/sdn/access_group/user_delete": acsgroups.UserDeleteRequest{},
|
||||
"/restmachine/sdn/access_group/update_role": acsgroups.UserUpdateRoleRequest{},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,22 +72,25 @@ func getResult(testName string, bytes []byte, structure any, t *testing.T) strin
|
||||
t.Errorf(result)
|
||||
return result
|
||||
}
|
||||
return ""
|
||||
result := fmt.Sprint(testName, ": ok")
|
||||
t.Log(result)
|
||||
return result
|
||||
}
|
||||
|
||||
// getDifference tells which fields are present in bytesMap and not present in structMap and vice versa.
|
||||
func getDifference(testName string, bytesMap, structMap map[string]interface{}) string {
|
||||
var result string
|
||||
bytesFields, _ := evaluate(bytesMap, structMap)
|
||||
// structFields, _ := evaluate(structMap, bytesMap)
|
||||
result += fmt.Sprintf("%s: ", testName)
|
||||
|
||||
if len(bytesFields) > 0 {
|
||||
result += fmt.Sprintf("\nPlatform has these fields that golang struct doesn't: %v\n", bytesFields)
|
||||
}
|
||||
|
||||
//if len(structFields) > 0 {
|
||||
// result += fmt.Sprintf("Golang struct has these fields that platform doesn't: %v\n", structFields)
|
||||
//}
|
||||
// if len(structFields) > 0 {
|
||||
// result += fmt.Sprintf("Golang struct has these fields that platform doesn't: %v\n", structFields)
|
||||
// }
|
||||
|
||||
if len(bytesFields) == 0 {
|
||||
result += "OK"
|
||||
@@ -172,13 +175,25 @@ func appendSelectedElements(slice []string, elements []string) []string {
|
||||
|
||||
// GetMapFromBytes converts []byte to map[string]interface{}
|
||||
func GetMapFromBytes(bytes []byte) (map[string]interface{}, error) {
|
||||
var x map[string]interface{}
|
||||
err := json.Unmarshal(bytes, &x)
|
||||
var unmarshalMaps map[string]interface{}
|
||||
err := json.Unmarshal(bytes, &unmarshalMaps)
|
||||
if err != nil {
|
||||
var unmarshalSlice []interface{}
|
||||
err = json.Unmarshal(bytes, &unmarshalSlice)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
t, ok := unmarshalSlice[0].(map[string]interface{})
|
||||
if !ok {
|
||||
return nil, err
|
||||
}
|
||||
unmarshalMaps = t
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return getMapBytes(x), nil
|
||||
return getMapBytes(unmarshalMaps), nil
|
||||
}
|
||||
|
||||
func getMapBytes(value map[string]interface{}) map[string]interface{} {
|
||||
|
||||
@@ -11,12 +11,24 @@ import (
|
||||
|
||||
func getParameters(input map[string]interface{}) []interface{} {
|
||||
var emptySlice []interface{}
|
||||
post, ok := input["post"]
|
||||
if !ok {
|
||||
methods := []string{"get", "post", "put", "delete", "patch", "head", "options"}
|
||||
|
||||
var methodData interface{}
|
||||
found := false
|
||||
|
||||
for _, method := range methods {
|
||||
if data, ok := input[method]; ok {
|
||||
methodData = data
|
||||
found = true
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if !found {
|
||||
return emptySlice
|
||||
}
|
||||
|
||||
parameters, ok := post.(map[string]interface{})
|
||||
parameters, ok := methodData.(map[string]interface{})
|
||||
if !ok {
|
||||
return emptySlice
|
||||
}
|
||||
@@ -30,7 +42,47 @@ func getParameters(input map[string]interface{}) []interface{} {
|
||||
if !ok {
|
||||
return emptySlice
|
||||
}
|
||||
|
||||
// Check if there's a body parameter
|
||||
for _, p := range res {
|
||||
param, ok := p.(map[string]interface{})
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
if param["name"] == "body" {
|
||||
schema, ok := param["schema"].(map[string]interface{})
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
properties, ok := schema["properties"].(map[string]interface{})
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
requiredFields := make(map[string]bool)
|
||||
if req, ok := schema["required"].([]interface{}); ok {
|
||||
for _, r := range req {
|
||||
requiredFields[r.(string)] = true
|
||||
}
|
||||
}
|
||||
var newParams []interface{}
|
||||
for name, prop := range properties {
|
||||
propMap, ok := prop.(map[string]interface{})
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
newParam := make(map[string]interface{})
|
||||
newParam["name"] = name
|
||||
newParam["type"] = propMap["type"]
|
||||
newParam["required"] = requiredFields[name]
|
||||
if propMap["type"] == "array" {
|
||||
if items, ok := propMap["items"].(map[string]interface{}); ok {
|
||||
newParam["items"] = items
|
||||
}
|
||||
}
|
||||
newParams = append(newParams, newParam)
|
||||
}
|
||||
return newParams
|
||||
}
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
@@ -57,8 +109,10 @@ func getErrorsFromJSON(bytes []byte, t *testing.T, cloud string) {
|
||||
requests = getRequestsMapCloudAPI()
|
||||
case "cloudbroker":
|
||||
requests = getRequestsMapCloudbroker()
|
||||
case "sdn":
|
||||
requests = getRequestsMapSDN()
|
||||
default:
|
||||
t.Fatalf("Wrong cloud provided, expected `cloudapi` or `cloudbroker`, got %s", cloud)
|
||||
t.Fatalf("Wrong cloud provided, expected `cloudapi`, `cloudbroker` or `sdn`, got %s", cloud)
|
||||
}
|
||||
|
||||
var dataLogs []string
|
||||
@@ -96,12 +150,18 @@ func getErrorsFromJSON(bytes []byte, t *testing.T, cloud string) {
|
||||
continue
|
||||
}
|
||||
|
||||
name := param["name"].(string)
|
||||
name, ok := param["name"].(string)
|
||||
if !ok {
|
||||
name = ""
|
||||
}
|
||||
required, ok := param["required"].(bool)
|
||||
if !ok {
|
||||
required = false
|
||||
}
|
||||
typ := p.(map[string]interface{})["type"].(string)
|
||||
typ, ok := p.(map[string]interface{})["type"].(string)
|
||||
if !ok {
|
||||
typ = ""
|
||||
}
|
||||
|
||||
var items string
|
||||
if p.(map[string]interface{})["items"] != nil {
|
||||
@@ -109,7 +169,10 @@ func getErrorsFromJSON(bytes []byte, t *testing.T, cloud string) {
|
||||
if itemsTemp != nil {
|
||||
itemsType := itemsTemp.(map[string]interface{})["type"]
|
||||
if itemsType != nil {
|
||||
items = itemsType.(string)
|
||||
items, ok = itemsType.(string)
|
||||
if !ok {
|
||||
items = ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -143,7 +206,7 @@ func getErrorsFromJSON(bytes []byte, t *testing.T, cloud string) {
|
||||
}
|
||||
|
||||
if len(requests) != i {
|
||||
msg := fmt.Sprintf("Amount of structure checked (%d) is not the same as amount of platform requests available (%d), please check getRequestsMapCloudAPI func in code.",
|
||||
msg := fmt.Sprintf("Amount of structure checked (%d) is not the same as amount of platform requests available (%d), please check getRequests func in code.",
|
||||
i, len(requests))
|
||||
t.Error(msg)
|
||||
dataLogs = append(dataLogs, msg)
|
||||
|
||||
@@ -67,7 +67,7 @@ func getUrlsFromBytes(bytes []byte) ([]string, error) {
|
||||
}
|
||||
|
||||
func validateUrlFromJson(url string) bool {
|
||||
if !strings.HasPrefix(url, "/restmachine/cloudapi/") && !strings.HasPrefix(url, "/restmachine/cloudbroker/") {
|
||||
if !strings.HasPrefix(url, "/restmachine/cloudapi/") && !strings.HasPrefix(url, "/restmachine/cloudbroker/") && !strings.HasPrefix(url, "/restmachine/sdn/") {
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -189,6 +189,11 @@ func readUrlFromFile(fileName string) ([]string, error) {
|
||||
url := strings.Trim(scanner.Text()[indexStart:], `"`)
|
||||
result = append(result, "/restmachine"+url)
|
||||
}
|
||||
if strings.Contains(scanner.Text(), `"/sdn/`) {
|
||||
indexStart := strings.Index(scanner.Text(), "/sdn/")
|
||||
url := strings.Trim(scanner.Text()[indexStart:], `"`)
|
||||
result = append(result, "/restmachine"+url)
|
||||
}
|
||||
}
|
||||
|
||||
if len(result) == 0 {
|
||||
|
||||
Reference in New Issue
Block a user