You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by el...@apache.org on 2018/07/06 17:22:52 UTC

[trafficcontrol] 02/02: Add TO GO ds/eligible client func, tests

This is an automated email from the ASF dual-hosted git repository.

elsloo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git

commit a44e9f9ac96a585b8df422730ba3005a1dea427e
Author: Robert Butts <ro...@apache.org>
AuthorDate: Sat Jun 30 17:57:23 2018 -0600

    Add TO GO ds/eligible client func, tests
---
 traffic_ops/client/v13/deliveryservice.go          | 12 ++++
 .../api/v13/deliveryservicesideligible_test.go     | 64 ++++++++++++++++++++++
 2 files changed, 76 insertions(+)

diff --git a/traffic_ops/client/v13/deliveryservice.go b/traffic_ops/client/v13/deliveryservice.go
index a4bee7b..0ad4599 100644
--- a/traffic_ops/client/v13/deliveryservice.go
+++ b/traffic_ops/client/v13/deliveryservice.go
@@ -261,3 +261,15 @@ func (to *Session) GetDeliveryServiceMatches() ([]tc.DeliveryServicePatterns, Re
 	}
 	return resp.Response, reqInf, nil
 }
+
+func (to *Session) GetDeliveryServicesEligible(dsID int) ([]tc.DSServer, ReqInf, error) {
+	resp := struct {
+		Response []tc.DSServer `json:"response"`
+	}{Response: []tc.DSServer{}}
+	uri := apiBase + `/deliveryservices/` + strconv.Itoa(dsID) + `/servers/eligible`
+	reqInf, err := get(to, uri, &resp)
+	if err != nil {
+		return nil, reqInf, err
+	}
+	return resp.Response, reqInf, nil
+}
diff --git a/traffic_ops/testing/api/v13/deliveryservicesideligible_test.go b/traffic_ops/testing/api/v13/deliveryservicesideligible_test.go
new file mode 100644
index 0000000..1af7069
--- /dev/null
+++ b/traffic_ops/testing/api/v13/deliveryservicesideligible_test.go
@@ -0,0 +1,64 @@
+package v13
+
+/*
+
+   Licensed 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.
+*/
+
+import (
+	"testing"
+)
+
+func TestDeliveryServicesEligible(t *testing.T) {
+	CreateTestCDNs(t)
+	CreateTestTypes(t)
+	CreateTestProfiles(t)
+	CreateTestStatuses(t)
+	CreateTestDivisions(t)
+	CreateTestRegions(t)
+	CreateTestPhysLocations(t)
+	CreateTestCacheGroups(t)
+	CreateTestServers(t)
+	CreateTestDeliveryServices(t)
+
+	GetTestDeliveryServicesEligible(t)
+
+	DeleteTestDeliveryServices(t)
+	DeleteTestServers(t)
+	DeleteTestCacheGroups(t)
+	DeleteTestPhysLocations(t)
+	DeleteTestRegions(t)
+	DeleteTestDivisions(t)
+	DeleteTestStatuses(t)
+	DeleteTestProfiles(t)
+	DeleteTestTypes(t)
+	DeleteTestCDNs(t)
+}
+
+func GetTestDeliveryServicesEligible(t *testing.T) {
+	dses, _, err := TOSession.GetDeliveryServices()
+	if err != nil {
+		t.Fatalf("cannot GET DeliveryServices: %v\n", err)
+	}
+	if len(dses) == 0 {
+		t.Fatalf("GET DeliveryServices returned no delivery services, need at least 1 to test")
+	}
+	dsID := dses[0].ID
+	servers, _, err := TOSession.GetDeliveryServicesEligible(dsID)
+	if err != nil {
+		t.Fatalf("getting delivery services eligible: %v\n", err)
+	}
+	if len(servers) == 0 {
+		t.Fatalf("getting delivery services eligible returned no servers\n")
+	}
+}