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

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


The following commit(s) were added to refs/heads/master by this push:
     new d536e58970  Refactor Delivery Services ID Eligible tests (#6747)
d536e58970 is described below

commit d536e58970d2fe3d102577116eb945a9ff6506d2
Author: Eric Holguin <[email protected]>
AuthorDate: Fri Apr 22 10:45:18 2022 -0600

     Refactor Delivery Services ID Eligible tests (#6747)
---
 .../api/v3/deliveryservicesideligible_test.go      | 65 +++++++++------------
 .../api/v4/deliveryservicesideligible_test.go      | 66 ++++++++--------------
 2 files changed, 52 insertions(+), 79 deletions(-)

diff --git a/traffic_ops/testing/api/v3/deliveryservicesideligible_test.go 
b/traffic_ops/testing/api/v3/deliveryservicesideligible_test.go
index 0f6f34833e..58b66aca45 100644
--- a/traffic_ops/testing/api/v3/deliveryservicesideligible_test.go
+++ b/traffic_ops/testing/api/v3/deliveryservicesideligible_test.go
@@ -18,47 +18,36 @@ package v3
 import (
        "net/http"
        "testing"
-       "time"
 
-       "github.com/apache/trafficcontrol/lib/go-rfc"
+       "github.com/apache/trafficcontrol/lib/go-tc"
+       "github.com/apache/trafficcontrol/traffic_ops/testing/api/utils"
 )
 
 func TestDeliveryServicesEligible(t *testing.T) {
-       WithObjs(t, []TCObj{CDNs, Types, Tenants, Parameters, Profiles, 
Statuses, Divisions, Regions, PhysLocations, CacheGroups, Servers, Topologies, 
DeliveryServices}, func() {
-               GetTestDeliveryServicesEligibleIMS(t)
-               GetTestDeliveryServicesEligible(t)
+       WithObjs(t, []TCObj{CDNs, Types, Tenants, Parameters, Profiles, 
Statuses, Divisions, Regions, PhysLocations, CacheGroups, Servers, Topologies, 
ServiceCategories, DeliveryServices}, func() {
+
+               methodTests := utils.V3TestCase{
+                       "GET": {
+                               "OK when VALID request": {
+                                       EndpointId: GetDeliveryServiceId(t, 
"ds1"), ClientSession: TOSession,
+                                       Expectations: 
utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), 
utils.ResponseLengthGreaterOrEqual(1)),
+                               },
+                       },
+               }
+               for method, testCases := range methodTests {
+                       t.Run(method, func(t *testing.T) {
+                               for name, testCase := range testCases {
+                                       switch method {
+                                       case "GET":
+                                               t.Run(name, func(t *testing.T) {
+                                                       resp, reqInf, err := 
testCase.ClientSession.GetDeliveryServicesEligibleWithHdr(testCase.EndpointId(),
 testCase.RequestHeaders)
+                                                       for _, check := range 
testCase.Expectations {
+                                                               check(t, 
reqInf, resp, tc.Alerts{}, err)
+                                                       }
+                                               })
+                                       }
+                               }
+                       })
+               }
        })
 }
-
-func GetTestDeliveryServicesEligibleIMS(t *testing.T) {
-       var header http.Header
-       header = make(map[string][]string)
-       futureTime := time.Now().AddDate(0, 0, 1)
-       time := futureTime.Format(time.RFC1123)
-       header.Set(rfc.IfModifiedSince, time)
-       _, reqInf, err := TOSession.GetDeliveryServicesNullableWithHdr(header)
-       if err != nil {
-               t.Fatalf("could not GET eligible delivery services: %v", err)
-       }
-       if reqInf.StatusCode != http.StatusNotModified {
-               t.Fatalf("Expected 304 status code, got %v", reqInf.StatusCode)
-       }
-}
-
-func GetTestDeliveryServicesEligible(t *testing.T) {
-       dses, _, err := TOSession.GetDeliveryServicesNullable()
-       if err != nil {
-               t.Errorf("cannot GET DeliveryServices: %v", err)
-       }
-       if len(dses) == 0 {
-               t.Error("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.Errorf("getting delivery services eligible: %v", err)
-       }
-       if len(servers) == 0 {
-               t.Error("getting delivery services eligible returned no 
servers")
-       }
-}
diff --git a/traffic_ops/testing/api/v4/deliveryservicesideligible_test.go 
b/traffic_ops/testing/api/v4/deliveryservicesideligible_test.go
index 2ce8294c7f..6c6f2d5a41 100644
--- a/traffic_ops/testing/api/v4/deliveryservicesideligible_test.go
+++ b/traffic_ops/testing/api/v4/deliveryservicesideligible_test.go
@@ -18,51 +18,35 @@ package v4
 import (
        "net/http"
        "testing"
-       "time"
 
-       "github.com/apache/trafficcontrol/lib/go-rfc"
-       client "github.com/apache/trafficcontrol/traffic_ops/v4-client"
+       "github.com/apache/trafficcontrol/traffic_ops/testing/api/utils"
 )
 
 func TestDeliveryServicesEligible(t *testing.T) {
        WithObjs(t, []TCObj{CDNs, Types, Tenants, Parameters, Profiles, 
Statuses, Divisions, Regions, PhysLocations, CacheGroups, Servers, Topologies, 
ServiceCategories, DeliveryServices}, func() {
-               GetTestDeliveryServicesEligibleIMS(t)
-               GetTestDeliveryServicesEligible(t)
-       })
-}
-
-func GetTestDeliveryServicesEligibleIMS(t *testing.T) {
-       futureTime := time.Now().AddDate(0, 0, 1)
-       time := futureTime.Format(time.RFC1123)
 
-       opts := client.NewRequestOptions()
-       opts.Header.Set(rfc.IfModifiedSince, time)
-       resp, reqInf, err := TOSession.GetDeliveryServices(opts)
-       if err != nil {
-               t.Fatalf("could not get eligible delivery services: %v - 
alerts: %+v", err, resp.Alerts)
-       }
-       if reqInf.StatusCode != http.StatusNotModified {
-               t.Fatalf("Expected 304 status code, got %v", reqInf.StatusCode)
-       }
-}
-
-func GetTestDeliveryServicesEligible(t *testing.T) {
-       dses, _, err := TOSession.GetDeliveryServices(client.RequestOptions{})
-       if err != nil {
-               t.Errorf("cannot get Delivery Services: %v - alerts: %+v", err, 
dses.Alerts)
-       }
-       if len(dses.Response) == 0 {
-               t.Fatal("GET DeliveryServices returned no delivery services, 
need at least 1 to test")
-       }
-       dsID := dses.Response[0].ID
-       if dsID == nil {
-               t.Fatal("Traffic Ops returned a representation of a Delivery 
Service that had null or undefined ID")
-       }
-       servers, _, err := TOSession.GetDeliveryServicesEligible(*dsID, 
client.RequestOptions{})
-       if err != nil {
-               t.Errorf("getting Delivery Services eligible: %v - alerts: 
%+v", err, servers.Alerts)
-       }
-       if len(servers.Response) == 0 {
-               t.Error("getting delivery services eligible returned no 
servers")
-       }
+               methodTests := utils.V4TestCase{
+                       "GET": {
+                               "OK when VALID request": {
+                                       EndpointId: GetDeliveryServiceId(t, 
"ds1"), ClientSession: TOSession,
+                                       Expectations: 
utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), 
utils.ResponseLengthGreaterOrEqual(1)),
+                               },
+                       },
+               }
+               for method, testCases := range methodTests {
+                       t.Run(method, func(t *testing.T) {
+                               for name, testCase := range testCases {
+                                       switch method {
+                                       case "GET":
+                                               t.Run(name, func(t *testing.T) {
+                                                       resp, reqInf, err := 
testCase.ClientSession.GetDeliveryServicesEligible(testCase.EndpointId(), 
testCase.RequestOpts)
+                                                       for _, check := range 
testCase.Expectations {
+                                                               check(t, 
reqInf, resp.Response, resp.Alerts, err)
+                                                       }
+                                               })
+                                       }
+                               }
+                       })
+               }
+       })
 }

Reply via email to