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")
+ }
+}