blob: 00131f127b50927ba1aea25ba19a5fea6614b634 [file] [log] [blame]
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
package test
import (
"testing"
"github.com/apache/cloudstack-go/v2/cloudstack"
)
func TestLoadBalancerService(t *testing.T) {
service := "LoadBalancerService"
response, err := readData(service)
if err != nil {
t.Skipf("Skipping test as %v", err)
}
server := CreateTestServer(t, response)
client := cloudstack.NewClient(server.URL, "APIKEY", "SECRETKEY", true)
defer server.Close()
testaddNetscalerLoadBalancer := func(t *testing.T) {
if _, ok := response["addNetscalerLoadBalancer"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewAddNetscalerLoadBalancerParams("networkdevicetype", "password", "physicalnetworkid", "url", "username")
_, err := client.LoadBalancer.AddNetscalerLoadBalancer(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("AddNetscalerLoadBalancer", testaddNetscalerLoadBalancer)
testassignCertToLoadBalancer := func(t *testing.T) {
if _, ok := response["assignCertToLoadBalancer"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewAssignCertToLoadBalancerParams("certid", "lbruleid")
_, err := client.LoadBalancer.AssignCertToLoadBalancer(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("AssignCertToLoadBalancer", testassignCertToLoadBalancer)
testassignToGlobalLoadBalancerRule := func(t *testing.T) {
if _, ok := response["assignToGlobalLoadBalancerRule"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewAssignToGlobalLoadBalancerRuleParams("id", []string{})
_, err := client.LoadBalancer.AssignToGlobalLoadBalancerRule(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("AssignToGlobalLoadBalancerRule", testassignToGlobalLoadBalancerRule)
testassignToLoadBalancerRule := func(t *testing.T) {
if _, ok := response["assignToLoadBalancerRule"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewAssignToLoadBalancerRuleParams("id")
_, err := client.LoadBalancer.AssignToLoadBalancerRule(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("AssignToLoadBalancerRule", testassignToLoadBalancerRule)
testconfigureNetscalerLoadBalancer := func(t *testing.T) {
if _, ok := response["configureNetscalerLoadBalancer"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewConfigureNetscalerLoadBalancerParams("lbdeviceid")
_, err := client.LoadBalancer.ConfigureNetscalerLoadBalancer(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("ConfigureNetscalerLoadBalancer", testconfigureNetscalerLoadBalancer)
testcreateGlobalLoadBalancerRule := func(t *testing.T) {
if _, ok := response["createGlobalLoadBalancerRule"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewCreateGlobalLoadBalancerRuleParams("gslbdomainname", "gslbservicetype", "name", 0)
_, err := client.LoadBalancer.CreateGlobalLoadBalancerRule(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("CreateGlobalLoadBalancerRule", testcreateGlobalLoadBalancerRule)
testcreateLBHealthCheckPolicy := func(t *testing.T) {
if _, ok := response["createLBHealthCheckPolicy"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewCreateLBHealthCheckPolicyParams("lbruleid")
_, err := client.LoadBalancer.CreateLBHealthCheckPolicy(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("CreateLBHealthCheckPolicy", testcreateLBHealthCheckPolicy)
testcreateLBStickinessPolicy := func(t *testing.T) {
if _, ok := response["createLBStickinessPolicy"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewCreateLBStickinessPolicyParams("lbruleid", "methodname", "name")
_, err := client.LoadBalancer.CreateLBStickinessPolicy(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("CreateLBStickinessPolicy", testcreateLBStickinessPolicy)
testcreateLoadBalancer := func(t *testing.T) {
if _, ok := response["createLoadBalancer"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewCreateLoadBalancerParams("algorithm", 0, "name", "networkid", "scheme", "sourceipaddressnetworkid", 0)
_, err := client.LoadBalancer.CreateLoadBalancer(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("CreateLoadBalancer", testcreateLoadBalancer)
testcreateLoadBalancerRule := func(t *testing.T) {
if _, ok := response["createLoadBalancerRule"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewCreateLoadBalancerRuleParams("algorithm", "name", 0, 0)
_, err := client.LoadBalancer.CreateLoadBalancerRule(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("CreateLoadBalancerRule", testcreateLoadBalancerRule)
testdeleteGlobalLoadBalancerRule := func(t *testing.T) {
if _, ok := response["deleteGlobalLoadBalancerRule"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewDeleteGlobalLoadBalancerRuleParams("id")
_, err := client.LoadBalancer.DeleteGlobalLoadBalancerRule(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("DeleteGlobalLoadBalancerRule", testdeleteGlobalLoadBalancerRule)
testdeleteLBHealthCheckPolicy := func(t *testing.T) {
if _, ok := response["deleteLBHealthCheckPolicy"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewDeleteLBHealthCheckPolicyParams("id")
_, err := client.LoadBalancer.DeleteLBHealthCheckPolicy(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("DeleteLBHealthCheckPolicy", testdeleteLBHealthCheckPolicy)
testdeleteLBStickinessPolicy := func(t *testing.T) {
if _, ok := response["deleteLBStickinessPolicy"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewDeleteLBStickinessPolicyParams("id")
_, err := client.LoadBalancer.DeleteLBStickinessPolicy(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("DeleteLBStickinessPolicy", testdeleteLBStickinessPolicy)
testdeleteLoadBalancer := func(t *testing.T) {
if _, ok := response["deleteLoadBalancer"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewDeleteLoadBalancerParams("id")
_, err := client.LoadBalancer.DeleteLoadBalancer(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("DeleteLoadBalancer", testdeleteLoadBalancer)
testdeleteLoadBalancerRule := func(t *testing.T) {
if _, ok := response["deleteLoadBalancerRule"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewDeleteLoadBalancerRuleParams("id")
_, err := client.LoadBalancer.DeleteLoadBalancerRule(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("DeleteLoadBalancerRule", testdeleteLoadBalancerRule)
testdeleteNetscalerLoadBalancer := func(t *testing.T) {
if _, ok := response["deleteNetscalerLoadBalancer"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewDeleteNetscalerLoadBalancerParams("lbdeviceid")
_, err := client.LoadBalancer.DeleteNetscalerLoadBalancer(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("DeleteNetscalerLoadBalancer", testdeleteNetscalerLoadBalancer)
testdeleteSslCert := func(t *testing.T) {
if _, ok := response["deleteSslCert"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewDeleteSslCertParams("id")
_, err := client.LoadBalancer.DeleteSslCert(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("DeleteSslCert", testdeleteSslCert)
testlistGlobalLoadBalancerRules := func(t *testing.T) {
if _, ok := response["listGlobalLoadBalancerRules"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewListGlobalLoadBalancerRulesParams()
_, err := client.LoadBalancer.ListGlobalLoadBalancerRules(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("ListGlobalLoadBalancerRules", testlistGlobalLoadBalancerRules)
testlistLBHealthCheckPolicies := func(t *testing.T) {
if _, ok := response["listLBHealthCheckPolicies"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewListLBHealthCheckPoliciesParams()
_, err := client.LoadBalancer.ListLBHealthCheckPolicies(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("ListLBHealthCheckPolicies", testlistLBHealthCheckPolicies)
testlistLBStickinessPolicies := func(t *testing.T) {
if _, ok := response["listLBStickinessPolicies"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewListLBStickinessPoliciesParams()
_, err := client.LoadBalancer.ListLBStickinessPolicies(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("ListLBStickinessPolicies", testlistLBStickinessPolicies)
testlistLoadBalancerRuleInstances := func(t *testing.T) {
if _, ok := response["listLoadBalancerRuleInstances"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewListLoadBalancerRuleInstancesParams("id")
_, err := client.LoadBalancer.ListLoadBalancerRuleInstances(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("ListLoadBalancerRuleInstances", testlistLoadBalancerRuleInstances)
testlistLoadBalancerRules := func(t *testing.T) {
if _, ok := response["listLoadBalancerRules"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewListLoadBalancerRulesParams()
_, err := client.LoadBalancer.ListLoadBalancerRules(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("ListLoadBalancerRules", testlistLoadBalancerRules)
testlistLoadBalancers := func(t *testing.T) {
if _, ok := response["listLoadBalancers"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewListLoadBalancersParams()
_, err := client.LoadBalancer.ListLoadBalancers(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("ListLoadBalancers", testlistLoadBalancers)
testlistNetscalerLoadBalancers := func(t *testing.T) {
if _, ok := response["listNetscalerLoadBalancers"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewListNetscalerLoadBalancersParams()
_, err := client.LoadBalancer.ListNetscalerLoadBalancers(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("ListNetscalerLoadBalancers", testlistNetscalerLoadBalancers)
testlistSslCerts := func(t *testing.T) {
if _, ok := response["listSslCerts"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewListSslCertsParams()
_, err := client.LoadBalancer.ListSslCerts(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("ListSslCerts", testlistSslCerts)
testremoveCertFromLoadBalancer := func(t *testing.T) {
if _, ok := response["removeCertFromLoadBalancer"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewRemoveCertFromLoadBalancerParams("lbruleid")
_, err := client.LoadBalancer.RemoveCertFromLoadBalancer(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("RemoveCertFromLoadBalancer", testremoveCertFromLoadBalancer)
testremoveFromGlobalLoadBalancerRule := func(t *testing.T) {
if _, ok := response["removeFromGlobalLoadBalancerRule"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewRemoveFromGlobalLoadBalancerRuleParams("id", []string{})
_, err := client.LoadBalancer.RemoveFromGlobalLoadBalancerRule(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("RemoveFromGlobalLoadBalancerRule", testremoveFromGlobalLoadBalancerRule)
testremoveFromLoadBalancerRule := func(t *testing.T) {
if _, ok := response["removeFromLoadBalancerRule"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewRemoveFromLoadBalancerRuleParams("id")
_, err := client.LoadBalancer.RemoveFromLoadBalancerRule(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("RemoveFromLoadBalancerRule", testremoveFromLoadBalancerRule)
testupdateGlobalLoadBalancerRule := func(t *testing.T) {
if _, ok := response["updateGlobalLoadBalancerRule"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewUpdateGlobalLoadBalancerRuleParams("id")
_, err := client.LoadBalancer.UpdateGlobalLoadBalancerRule(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("UpdateGlobalLoadBalancerRule", testupdateGlobalLoadBalancerRule)
testupdateLBHealthCheckPolicy := func(t *testing.T) {
if _, ok := response["updateLBHealthCheckPolicy"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewUpdateLBHealthCheckPolicyParams("id")
_, err := client.LoadBalancer.UpdateLBHealthCheckPolicy(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("UpdateLBHealthCheckPolicy", testupdateLBHealthCheckPolicy)
testupdateLBStickinessPolicy := func(t *testing.T) {
if _, ok := response["updateLBStickinessPolicy"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewUpdateLBStickinessPolicyParams("id")
_, err := client.LoadBalancer.UpdateLBStickinessPolicy(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("UpdateLBStickinessPolicy", testupdateLBStickinessPolicy)
testupdateLoadBalancer := func(t *testing.T) {
if _, ok := response["updateLoadBalancer"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewUpdateLoadBalancerParams("id")
_, err := client.LoadBalancer.UpdateLoadBalancer(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("UpdateLoadBalancer", testupdateLoadBalancer)
testupdateLoadBalancerRule := func(t *testing.T) {
if _, ok := response["updateLoadBalancerRule"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewUpdateLoadBalancerRuleParams("id")
_, err := client.LoadBalancer.UpdateLoadBalancerRule(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("UpdateLoadBalancerRule", testupdateLoadBalancerRule)
testuploadSslCert := func(t *testing.T) {
if _, ok := response["uploadSslCert"]; !ok {
t.Skipf("Skipping as no json response is provided in testdata")
}
p := client.LoadBalancer.NewUploadSslCertParams("certificate", "name", "privatekey")
_, err := client.LoadBalancer.UploadSslCert(p)
if err != nil {
t.Errorf(err.Error())
}
}
t.Run("UploadSslCert", testuploadSslCert)
}