You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by ra...@apache.org on 2018/11/02 15:06:13 UTC
[trafficcontrol] 04/09: more test fixes for IDs
This is an automated email from the ASF dual-hosted git repository.
rawlin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git
commit d083557e1a59cd4620b7652fd2821bf5d18d1ad3
Author: Dan Kirkwood <da...@apache.org>
AuthorDate: Mon Oct 29 17:28:19 2018 -0600
more test fixes for IDs
---
traffic_ops/client/origin.go | 45 +++++++++++++------
traffic_ops/client/staticdnsentry.go | 52 +++++++++++++++++++---
traffic_ops/testing/api/v14/cdnfederations_test.go | 2 +
traffic_ops/testing/api/v14/crconfig_test.go | 2 +
.../api/v14/deliveryservice_requests_test.go | 10 +++++
.../testing/api/v14/deliveryservicematches_test.go | 2 +
.../testing/api/v14/deliveryservices_test.go | 2 +
.../testing/api/v14/deliveryserviceservers_test.go | 2 +
.../api/v14/deliveryservicesideligible_test.go | 2 +
traffic_ops/testing/api/v14/federations_test.go | 3 ++
traffic_ops/testing/api/v14/origins_test.go | 3 +-
.../testing/api/v14/staticdnsentries_test.go | 2 +
.../testing/api/v14/steeringtargets_test.go | 3 ++
traffic_ops/testing/api/v14/tc-fixtures.json | 4 ++
.../testing/api/v14/userdeliveryservices_test.go | 2 +
15 files changed, 115 insertions(+), 21 deletions(-)
diff --git a/traffic_ops/client/origin.go b/traffic_ops/client/origin.go
index 3373183..12ef056 100644
--- a/traffic_ops/client/origin.go
+++ b/traffic_ops/client/origin.go
@@ -29,15 +29,14 @@ const (
API_v13_Origins = "/api/1.3/origins"
)
-// Create an Origin
-func (to *Session) CreateOrigin(origin tc.Origin) (*tc.OriginDetailResponse, ReqInf, error) {
+func originIDs(to *Session, origin *tc.Origin) error {
if origin.CachegroupID == nil && origin.Cachegroup != nil {
p, _, err := to.GetCacheGroupByName(*origin.Cachegroup)
if err != nil {
- return nil, ReqInf{}, err
+ return err
}
if len(p) == 0 {
- return nil, ReqInf{}, errors.New("no cachegroup named " + *origin.Cachegroup)
+ return errors.New("no cachegroup named " + *origin.Cachegroup)
}
origin.CachegroupID = &p[0].ID
}
@@ -45,10 +44,10 @@ func (to *Session) CreateOrigin(origin tc.Origin) (*tc.OriginDetailResponse, Req
if origin.DeliveryServiceID == nil && origin.DeliveryService != nil {
dses, _, err := to.GetDeliveryServiceByXMLID(*origin.DeliveryService)
if err != nil {
- return nil, ReqInf{}, err
+ return err
}
if len(dses) == 0 {
- return nil, ReqInf{}, errors.New("no deliveryservice with name " + *origin.DeliveryService)
+ return errors.New("no deliveryservice with name " + *origin.DeliveryService)
}
origin.DeliveryServiceID = &dses[0].ID
}
@@ -56,10 +55,10 @@ func (to *Session) CreateOrigin(origin tc.Origin) (*tc.OriginDetailResponse, Req
if origin.ProfileID == nil && origin.Profile != nil {
profiles, _, err := to.GetProfileByName(*origin.Profile)
if err != nil {
- return nil, ReqInf{}, err
+ return err
}
if len(profiles) == 0 {
- return nil, ReqInf{}, errors.New("no profile with name " + *origin.Profile)
+ return errors.New("no profile with name " + *origin.Profile)
}
origin.ProfileID = &profiles[0].ID
}
@@ -67,10 +66,10 @@ func (to *Session) CreateOrigin(origin tc.Origin) (*tc.OriginDetailResponse, Req
if origin.CoordinateID == nil && origin.Coordinate != nil {
coordinates, _, err := to.GetCoordinateByName(*origin.Coordinate)
if err != nil {
- return nil, ReqInf{}, err
+ return err
}
if len(coordinates) == 0 {
- return nil, ReqInf{}, errors.New("no coordinate with name " + *origin.Coordinate)
+ return errors.New("no coordinate with name " + *origin.Coordinate)
}
origin.CoordinateID = &coordinates[0].ID
}
@@ -78,14 +77,27 @@ func (to *Session) CreateOrigin(origin tc.Origin) (*tc.OriginDetailResponse, Req
if origin.TenantID == nil && origin.Tenant != nil {
tenant, _, err := to.TenantByName(*origin.Tenant)
if err != nil {
- return nil, ReqInf{}, err
+ return err
}
origin.TenantID = &tenant.ID
}
+ return nil
+}
+
+// Create an Origin
+func (to *Session) CreateOrigin(origin tc.Origin) (*tc.OriginDetailResponse, ReqInf, error) {
var remoteAddr net.Addr
- reqBody, err := json.Marshal(origin)
reqInf := ReqInf{CacheHitStatus: CacheHitStatusMiss, RemoteAddr: remoteAddr}
+
+ fmt.Printf("Origin before: %+v\n", origin)
+ err := originIDs(to, &origin)
+ if err != nil {
+ return nil, reqInf, err
+ }
+ fmt.Printf("Origin after: %+v\n", origin)
+
+ reqBody, err := json.Marshal(origin)
if err != nil {
return nil, reqInf, err
}
@@ -103,10 +115,15 @@ func (to *Session) CreateOrigin(origin tc.Origin) (*tc.OriginDetailResponse, Req
// Update an Origin by ID
func (to *Session) UpdateOriginByID(id int, origin tc.Origin) (*tc.OriginDetailResponse, ReqInf, error) {
-
var remoteAddr net.Addr
- reqBody, err := json.Marshal(origin)
reqInf := ReqInf{CacheHitStatus: CacheHitStatusMiss, RemoteAddr: remoteAddr}
+
+ err := originIDs(to, &origin)
+ if err != nil {
+ return nil, reqInf, err
+ }
+
+ reqBody, err := json.Marshal(origin)
if err != nil {
return nil, reqInf, err
}
diff --git a/traffic_ops/client/staticdnsentry.go b/traffic_ops/client/staticdnsentry.go
index 0479160..3d6e273 100644
--- a/traffic_ops/client/staticdnsentry.go
+++ b/traffic_ops/client/staticdnsentry.go
@@ -17,6 +17,7 @@ package client
import (
"encoding/json"
+ "errors"
"fmt"
"net"
"net/http"
@@ -28,11 +29,49 @@ const (
API_v13_StaticDNSEntries = "/api/1.3/staticdnsentries"
)
-// Create a StaticDNSEntry
-func (to *Session) CreateStaticDNSEntry(cdn tc.StaticDNSEntry) (tc.Alerts, ReqInf, error) {
+func staticDNSEntryIDs(to *Session, sdns *tc.StaticDNSEntry) error {
+ if sdns.CacheGroupID == 0 && sdns.CacheGroupName != "" {
+ p, _, err := to.GetCacheGroupByName(sdns.CacheGroupName)
+ if err != nil {
+ return err
+ }
+ if len(p) == 0 {
+ return errors.New("no CacheGroup named " + sdns.CacheGroupName)
+ }
+ sdns.CacheGroupID = p[0].ID
+ }
+
+ if sdns.DeliveryServiceID == 0 && sdns.DeliveryService != "" {
+ dses, _, err := to.GetDeliveryServiceByXMLID(sdns.DeliveryService)
+ if err != nil {
+ return err
+ }
+ if len(dses) == 0 {
+ return errors.New("no deliveryservice with name " + sdns.DeliveryService)
+ }
+ sdns.DeliveryServiceID = dses[0].ID
+ }
+ if sdns.TypeID == 0 && sdns.Type != "" {
+ types, _, err := to.GetTypeByName(sdns.Type)
+ if err != nil {
+ return err
+ }
+ if len(types) == 0 {
+ return errors.New("no type with name " + sdns.Type)
+ }
+ sdns.TypeID = types[0].ID
+ }
+
+ return nil
+}
+
+// Create a StaticDNSEntry
+func (to *Session) CreateStaticDNSEntry(sdns tc.StaticDNSEntry) (tc.Alerts, ReqInf, error) {
+ // fill in missing IDs from names
+ staticDNSEntryIDs(to, &sdns)
var remoteAddr net.Addr
- reqBody, err := json.Marshal(cdn)
+ reqBody, err := json.Marshal(sdns)
reqInf := ReqInf{CacheHitStatus: CacheHitStatusMiss, RemoteAddr: remoteAddr}
if err != nil {
return tc.Alerts{}, reqInf, err
@@ -48,10 +87,11 @@ func (to *Session) CreateStaticDNSEntry(cdn tc.StaticDNSEntry) (tc.Alerts, ReqIn
}
// Update a StaticDNSEntry by ID
-func (to *Session) UpdateStaticDNSEntryByID(id int, cdn tc.StaticDNSEntry) (tc.Alerts, ReqInf, int, error) {
-
+func (to *Session) UpdateStaticDNSEntryByID(id int, sdns tc.StaticDNSEntry) (tc.Alerts, ReqInf, int, error) {
+ // fill in missing IDs from names
+ staticDNSEntryIDs(to, &sdns)
var remoteAddr net.Addr
- reqBody, err := json.Marshal(cdn)
+ reqBody, err := json.Marshal(sdns)
reqInf := ReqInf{CacheHitStatus: CacheHitStatusMiss, RemoteAddr: remoteAddr}
if err != nil {
return tc.Alerts{}, reqInf, 0, err
diff --git a/traffic_ops/testing/api/v14/cdnfederations_test.go b/traffic_ops/testing/api/v14/cdnfederations_test.go
index 970f4e4..a326fad 100644
--- a/traffic_ops/testing/api/v14/cdnfederations_test.go
+++ b/traffic_ops/testing/api/v14/cdnfederations_test.go
@@ -27,12 +27,14 @@ var fedIDs []int
func TestCDNFederations(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
CreateTestDeliveryServices(t)
CreateTestCDNFederations(t)
UpdateTestCDNFederations(t)
GetTestCDNFederations(t)
DeleteTestCDNFederations(t)
DeleteTestDeliveryServices(t)
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
}
diff --git a/traffic_ops/testing/api/v14/crconfig_test.go b/traffic_ops/testing/api/v14/crconfig_test.go
index 708cfad..70fdff6 100644
--- a/traffic_ops/testing/api/v14/crconfig_test.go
+++ b/traffic_ops/testing/api/v14/crconfig_test.go
@@ -26,6 +26,7 @@ import (
func TestCRConfig(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
CreateTestProfiles(t)
CreateTestStatuses(t)
CreateTestDivisions(t)
@@ -45,6 +46,7 @@ func TestCRConfig(t *testing.T) {
DeleteTestDivisions(t)
DeleteTestStatuses(t)
DeleteTestProfiles(t)
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
}
diff --git a/traffic_ops/testing/api/v14/deliveryservice_requests_test.go b/traffic_ops/testing/api/v14/deliveryservice_requests_test.go
index ac6b757..cd336b2 100644
--- a/traffic_ops/testing/api/v14/deliveryservice_requests_test.go
+++ b/traffic_ops/testing/api/v14/deliveryservice_requests_test.go
@@ -61,6 +61,7 @@ func CreateTestDeliveryServiceRequests(t *testing.T) {
func TestDeliveryServiceRequestRequired(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
dsr := testData.DeliveryServiceRequests[dsrRequired]
alerts, _, err := TOSession.CreateDeliveryServiceRequest(dsr)
if err != nil {
@@ -70,6 +71,7 @@ func TestDeliveryServiceRequestRequired(t *testing.T) {
if len(alerts.Alerts) == 0 {
t.Errorf("Expected: validation error alerts, actual: %+v", alerts)
}
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
}
@@ -78,6 +80,7 @@ func TestDeliveryServiceRequestRules(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
routingName := strings.Repeat("X", 1) + "." + strings.Repeat("X", 48)
// Test the xmlId length and form
XMLID := "X " + strings.Repeat("X", 46)
@@ -95,6 +98,7 @@ func TestDeliveryServiceRequestRules(t *testing.T) {
if len(alerts.Alerts) == 0 {
t.Errorf("Expected: validation error alerts, actual: %+v", alerts)
}
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
@@ -103,6 +107,7 @@ func TestDeliveryServiceRequestRules(t *testing.T) {
func TestDeliveryServiceRequestTypeFields(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
CreateTestParameters(t)
dsr := testData.DeliveryServiceRequests[dsrBadTenant]
@@ -129,6 +134,7 @@ func TestDeliveryServiceRequestTypeFields(t *testing.T) {
}
DeleteTestParameters(t)
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
@@ -137,6 +143,7 @@ func TestDeliveryServiceRequestTypeFields(t *testing.T) {
func TestDeliveryServiceRequestBad(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
// try to create non-draft/submitted
src := testData.DeliveryServiceRequests[dsrDraft]
s, err := tc.RequestStatusFromString("pending")
@@ -153,6 +160,7 @@ func TestDeliveryServiceRequestBad(t *testing.T) {
`'status' invalid transition from draft to pending`,
}
utils.Compare(t, expected, alerts.ToStrings())
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
}
@@ -162,6 +170,7 @@ func TestDeliveryServiceRequestWorkflow(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
// test empty request table
dsrs, _, err := TOSession.GetDeliveryServiceRequests()
if err != nil {
@@ -212,6 +221,7 @@ func TestDeliveryServiceRequestWorkflow(t *testing.T) {
if dsr.Status != tc.RequestStatus("submitted") {
t.Errorf("expected status=submitted, got %s", string(dsr.Status))
}
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
diff --git a/traffic_ops/testing/api/v14/deliveryservicematches_test.go b/traffic_ops/testing/api/v14/deliveryservicematches_test.go
index e530da8..ef98fa5 100644
--- a/traffic_ops/testing/api/v14/deliveryservicematches_test.go
+++ b/traffic_ops/testing/api/v14/deliveryservicematches_test.go
@@ -24,6 +24,7 @@ import (
func TestDeliveryServiceMatches(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
CreateTestProfiles(t)
CreateTestStatuses(t)
CreateTestDivisions(t)
@@ -43,6 +44,7 @@ func TestDeliveryServiceMatches(t *testing.T) {
DeleteTestDivisions(t)
DeleteTestStatuses(t)
DeleteTestProfiles(t)
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
}
diff --git a/traffic_ops/testing/api/v14/deliveryservices_test.go b/traffic_ops/testing/api/v14/deliveryservices_test.go
index f92f40f..6fdfdf3 100644
--- a/traffic_ops/testing/api/v14/deliveryservices_test.go
+++ b/traffic_ops/testing/api/v14/deliveryservices_test.go
@@ -26,6 +26,7 @@ import (
func TestDeliveryServices(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
CreateTestProfiles(t)
CreateTestStatuses(t)
CreateTestDivisions(t)
@@ -45,6 +46,7 @@ func TestDeliveryServices(t *testing.T) {
DeleteTestDivisions(t)
DeleteTestStatuses(t)
DeleteTestProfiles(t)
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
}
diff --git a/traffic_ops/testing/api/v14/deliveryserviceservers_test.go b/traffic_ops/testing/api/v14/deliveryserviceservers_test.go
index 893bcad..fd061ab 100644
--- a/traffic_ops/testing/api/v14/deliveryserviceservers_test.go
+++ b/traffic_ops/testing/api/v14/deliveryserviceservers_test.go
@@ -24,6 +24,7 @@ import (
func TestDeliveryServiceServers(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
CreateTestProfiles(t)
CreateTestStatuses(t)
CreateTestDivisions(t)
@@ -43,6 +44,7 @@ func TestDeliveryServiceServers(t *testing.T) {
DeleteTestDivisions(t)
DeleteTestStatuses(t)
DeleteTestProfiles(t)
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
}
diff --git a/traffic_ops/testing/api/v14/deliveryservicesideligible_test.go b/traffic_ops/testing/api/v14/deliveryservicesideligible_test.go
index ad4a691..26cea53 100644
--- a/traffic_ops/testing/api/v14/deliveryservicesideligible_test.go
+++ b/traffic_ops/testing/api/v14/deliveryservicesideligible_test.go
@@ -22,6 +22,7 @@ import (
func TestDeliveryServicesEligible(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
CreateTestProfiles(t)
CreateTestStatuses(t)
CreateTestDivisions(t)
@@ -41,6 +42,7 @@ func TestDeliveryServicesEligible(t *testing.T) {
DeleteTestDivisions(t)
DeleteTestStatuses(t)
DeleteTestProfiles(t)
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
}
diff --git a/traffic_ops/testing/api/v14/federations_test.go b/traffic_ops/testing/api/v14/federations_test.go
index 02cd4ee..44946c8 100644
--- a/traffic_ops/testing/api/v14/federations_test.go
+++ b/traffic_ops/testing/api/v14/federations_test.go
@@ -24,6 +24,8 @@ import (
func TestFederations(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
+ CreateTestTenants(t)
CreateTestProfiles(t)
CreateTestStatuses(t)
CreateTestDivisions(t)
@@ -46,6 +48,7 @@ func TestFederations(t *testing.T) {
DeleteTestDivisions(t)
DeleteTestStatuses(t)
DeleteTestProfiles(t)
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
}
diff --git a/traffic_ops/testing/api/v14/origins_test.go b/traffic_ops/testing/api/v14/origins_test.go
index c7970c7..82fb881 100644
--- a/traffic_ops/testing/api/v14/origins_test.go
+++ b/traffic_ops/testing/api/v14/origins_test.go
@@ -26,6 +26,8 @@ func TestOrigins(t *testing.T) {
defer DeleteTestCDNs(t)
CreateTestTypes(t)
defer DeleteTestTypes(t)
+ CreateTestTenants(t)
+ defer DeleteTestTenants(t)
CreateTestProfiles(t)
defer DeleteTestProfiles(t)
CreateTestStatuses(t)
@@ -44,7 +46,6 @@ func TestOrigins(t *testing.T) {
defer DeleteTestDeliveryServices(t)
CreateTestCoordinates(t)
defer DeleteTestCoordinates(t)
- // TODO: add tenants once their API integration tests are implemented
CreateTestOrigins(t)
defer DeleteTestOrigins(t)
diff --git a/traffic_ops/testing/api/v14/staticdnsentries_test.go b/traffic_ops/testing/api/v14/staticdnsentries_test.go
index 8fd1736..4d4427c 100644
--- a/traffic_ops/testing/api/v14/staticdnsentries_test.go
+++ b/traffic_ops/testing/api/v14/staticdnsentries_test.go
@@ -27,6 +27,7 @@ func TestStaticDNSEntries(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
CreateTestProfiles(t)
CreateTestStatuses(t)
CreateTestDivisions(t)
@@ -48,6 +49,7 @@ func TestStaticDNSEntries(t *testing.T) {
DeleteTestDivisions(t)
DeleteTestStatuses(t)
DeleteTestProfiles(t)
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
diff --git a/traffic_ops/testing/api/v14/steeringtargets_test.go b/traffic_ops/testing/api/v14/steeringtargets_test.go
index b709ba8..d6d65fe 100644
--- a/traffic_ops/testing/api/v14/steeringtargets_test.go
+++ b/traffic_ops/testing/api/v14/steeringtargets_test.go
@@ -25,6 +25,8 @@ import (
func TestSteeringTargets(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
+ CreateTestTenants(t)
CreateTestProfiles(t)
CreateTestStatuses(t)
CreateTestDivisions(t)
@@ -47,6 +49,7 @@ func TestSteeringTargets(t *testing.T) {
DeleteTestDivisions(t)
DeleteTestStatuses(t)
DeleteTestProfiles(t)
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
}
diff --git a/traffic_ops/testing/api/v14/tc-fixtures.json b/traffic_ops/testing/api/v14/tc-fixtures.json
index 741aaa5..8292694 100644
--- a/traffic_ops/testing/api/v14/tc-fixtures.json
+++ b/traffic_ops/testing/api/v14/tc-fixtures.json
@@ -351,6 +351,8 @@
"origins": [
{
"name": "origin1",
+ "cachegroup": "originCachegroup",
+ "deliveryService": "test-ds1",
"fqdn": "origin1.example.com",
"ipAddress": "1.2.3.4",
"ip6Address": "dead:beef:cafe::42",
@@ -360,6 +362,8 @@
},
{
"name": "origin2",
+ "cachegroup": "originCachegroup",
+ "deliveryService": "test-ds2",
"fqdn": "origin2.example.com",
"ipAddress": "5.6.7.8",
"ip6Address": "cafe::42",
diff --git a/traffic_ops/testing/api/v14/userdeliveryservices_test.go b/traffic_ops/testing/api/v14/userdeliveryservices_test.go
index 3780af8..c832174 100644
--- a/traffic_ops/testing/api/v14/userdeliveryservices_test.go
+++ b/traffic_ops/testing/api/v14/userdeliveryservices_test.go
@@ -23,6 +23,7 @@ import (
func TestUserDeliveryServices(t *testing.T) {
CreateTestCDNs(t)
CreateTestTypes(t)
+ CreateTestTenants(t)
CreateTestProfiles(t)
CreateTestStatuses(t)
CreateTestDivisions(t)
@@ -42,6 +43,7 @@ func TestUserDeliveryServices(t *testing.T) {
DeleteTestDivisions(t)
DeleteTestStatuses(t)
DeleteTestProfiles(t)
+ DeleteTestTenants(t)
DeleteTestTypes(t)
DeleteTestCDNs(t)
}