You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by zr...@apache.org on 2022/04/22 16:45:23 UTC
[trafficcontrol] branch master updated: Refactor Delivery Services ID Eligible tests (#6747)
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 <14...@users.noreply.github.com>
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)
+ }
+ })
+ }
+ }
+ })
+ }
+ })
}