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: us...@infra.apache.org With regards, Apache Git Services