mitchell852 closed pull request #2119: Fixed the DSR tests by attaching CDNs
and Types to the DSRs
URL: https://github.com/apache/incubator-trafficcontrol/pull/2119
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/traffic_ops/testing/api/v13/deliveryservice_requests_test.go
b/traffic_ops/testing/api/v13/deliveryservice_requests_test.go
index 4d9c57285..af8a842df 100644
--- a/traffic_ops/testing/api/v13/deliveryservice_requests_test.go
+++ b/traffic_ops/testing/api/v13/deliveryservice_requests_test.go
@@ -76,6 +76,8 @@ func CreateTestDeliveryServiceRequests(t *testing.T) {
func TestDeliveryServiceRequestRequired(t *testing.T) {
+ CreateTestCDNs(t)
+ CreateTestTypes(t)
dsr := testData.DeliveryServiceRequests[dsrRequired]
alerts, _, err := TOSession.CreateDeliveryServiceRequest(dsr)
if err != nil {
@@ -99,10 +101,15 @@ func TestDeliveryServiceRequestRequired(t *testing.T) {
}
utils.Compare(t, expected, alerts.ToStrings())
+ DeleteTestTypes(t)
+ DeleteTestCDNs(t)
}
func TestDeliveryServiceRequestRules(t *testing.T) {
+
+ CreateTestCDNs(t)
+ CreateTestTypes(t)
routingName := strings.Repeat("X", 1) + "." + strings.Repeat("X", 48)
// Test the xmlId length and form
XMLID := "X " + strings.Repeat("X", 46)
@@ -112,6 +119,25 @@ func TestDeliveryServiceRequestRules(t *testing.T) {
dsr.DeliveryService.DisplayName = displayName
dsr.DeliveryService.RoutingName = routingName
dsr.DeliveryService.XMLID = XMLID
+
+ // Attach Types
+ typ := testData.Types[3]
+ rt, _, err := TOSession.GetTypeByName(typ.Name)
+ if err != nil {
+ t.Errorf("cannot GET Type by name: %v - %v\n", typ.Name, err)
+ }
+ respType := rt[0]
+
+ // Attach CDNs
+ cdn := testData.CDNs[3]
+ resp, _, err := TOSession.GetCDNByName(cdn.Name)
+ if err != nil {
+ t.Errorf("cannot GET CDN by name: %v - %v\n", cdn.Name, err)
+ }
+ respCDN := resp[0]
+ dsr.DeliveryService.TypeID = respType.ID
+ dsr.DeliveryService.CDNID = respCDN.ID
+
alerts, _, err := TOSession.CreateDeliveryServiceRequest(dsr)
if err != nil {
t.Errorf("Error occurred %v", err)
@@ -124,13 +150,36 @@ func TestDeliveryServiceRequestRules(t *testing.T) {
}
utils.Compare(t, expected, alerts.ToStrings())
+ DeleteTestTypes(t)
+ DeleteTestCDNs(t)
}
func TestDeliveryServiceRequestTypeFields(t *testing.T) {
+ CreateTestCDNs(t)
+ CreateTestTypes(t)
CreateTestParameters(t)
dsr := testData.DeliveryServiceRequests[dsrBadTenant]
+
+ // Attach Types
+ typ := testData.Types[3]
+ rt, _, err := TOSession.GetTypeByName(typ.Name)
+ if err != nil {
+ t.Errorf("cannot GET Type by name: %v - %v\n", typ.Name, err)
+ }
+ respType := rt[0]
+
+ // Attach CDNs
+ cdn := testData.CDNs[3]
+ resp, _, err := TOSession.GetCDNByName(cdn.Name)
+ if err != nil {
+ t.Errorf("cannot GET CDN by name: %v - %v\n", cdn.Name, err)
+ }
+ respCDN := resp[0]
+ dsr.DeliveryService.TypeID = respType.ID
+ dsr.DeliveryService.CDNID = respCDN.ID
+
alerts, _, err := TOSession.CreateDeliveryServiceRequest(dsr)
if err != nil {
t.Errorf("Error occurred %v", err)
@@ -143,10 +192,14 @@ func TestDeliveryServiceRequestTypeFields(t *testing.T) {
utils.Compare(t, expected, alerts.ToStrings())
DeleteTestParameters(t)
+ DeleteTestTypes(t)
+ DeleteTestCDNs(t)
}
func TestDeliveryServiceRequestBad(t *testing.T) {
+ CreateTestCDNs(t)
+ CreateTestTypes(t)
// try to create non-draft/submitted
src := testData.DeliveryServiceRequests[dsrDraft]
s, err := tc.RequestStatusFromString("pending")
@@ -154,6 +207,25 @@ func TestDeliveryServiceRequestBad(t *testing.T) {
t.Errorf(`unable to create Status from string "pending"`)
}
src.Status = s
+
+ // Attach Types
+ typ := testData.Types[3]
+ rt, _, err := TOSession.GetTypeByName(typ.Name)
+ if err != nil {
+ t.Errorf("cannot GET Type by name: %v - %v\n", typ.Name, err)
+ }
+ respType := rt[0]
+
+ // Attach CDNs
+ cdn := testData.CDNs[3]
+ resp, _, err := TOSession.GetCDNByName(cdn.Name)
+ if err != nil {
+ t.Errorf("cannot GET CDN by name: %v - %v\n", cdn.Name, err)
+ }
+ respCDN := resp[0]
+ src.DeliveryService.TypeID = respType.ID
+ src.DeliveryService.CDNID = respCDN.ID
+
alerts, _, err := TOSession.CreateDeliveryServiceRequest(src)
if err != nil {
t.Errorf("Error creating DeliveryServiceRequest %v", err)
@@ -162,11 +234,15 @@ func TestDeliveryServiceRequestBad(t *testing.T) {
`'status' invalid transition from draft to pending`,
}
utils.Compare(t, expected, alerts.ToStrings())
+ DeleteTestTypes(t)
+ DeleteTestCDNs(t)
}
// TestDeliveryServiceRequestWorkflow tests that transitions of Status are
func TestDeliveryServiceRequestWorkflow(t *testing.T) {
+ CreateTestCDNs(t)
+ CreateTestTypes(t)
// test empty request table
dsrs, _, err := TOSession.GetDeliveryServiceRequests()
if err != nil {
@@ -182,6 +258,24 @@ func TestDeliveryServiceRequestWorkflow(t *testing.T) {
// Create a draft request
src := testData.DeliveryServiceRequests[dsrDraft]
+ // Attach Types
+ typ := testData.Types[3]
+ rt, _, err := TOSession.GetTypeByName(typ.Name)
+ if err != nil {
+ t.Errorf("cannot GET Type by name: %v - %v\n", typ.Name, err)
+ }
+ respType := rt[0]
+
+ // Attach CDNs
+ cdn := testData.CDNs[3]
+ resp, _, err := TOSession.GetCDNByName(cdn.Name)
+ if err != nil {
+ t.Errorf("cannot GET CDN by name: %v - %v\n", cdn.Name, err)
+ }
+ respCDN := resp[0]
+ src.DeliveryService.TypeID = respType.ID
+ src.DeliveryService.CDNID = respCDN.ID
+
alerts, _, err := TOSession.CreateDeliveryServiceRequest(src)
if err != nil {
t.Errorf("Error creating DeliveryServiceRequest %v", err)
@@ -217,6 +311,8 @@ func TestDeliveryServiceRequestWorkflow(t *testing.T) {
if dsr.Status != tc.RequestStatus("submitted") {
t.Errorf("expected status=submitted, got %s",
string(dsr.Status))
}
+ DeleteTestTypes(t)
+ DeleteTestCDNs(t)
}
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services