You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by mi...@apache.org on 2019/04/20 01:41:10 UTC
[trafficcontrol] branch master updated: Changed permissions of
steering role to be PrivLevelSteering (#3507)
This is an automated email from the ASF dual-hosted git repository.
mitchell852 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 9bbd14d Changed permissions of steering role to be PrivLevelSteering (#3507)
9bbd14d is described below
commit 9bbd14d65b3c3466afc6b0e7bea6a5fd3cd4d093
Author: Matthew Allen Moltzau <Ma...@comcast.com>
AuthorDate: Fri Apr 19 19:41:06 2019 -0600
Changed permissions of steering role to be PrivLevelSteering (#3507)
* Changed permissions of steering role to be PrivLevelSteering
* Steering targets test now logs in with steering session
* Made SetupSteeringTargets the steering create method for WithObjs
---
traffic_ops/testing/api/v14/steering_test.go | 2 +-
.../testing/api/v14/steeringtargets_test.go | 50 +++++++++++++++-------
traffic_ops/testing/api/v14/tc-fixtures.json | 22 ++++++++++
traffic_ops/testing/api/v14/withobjs.go | 4 +-
traffic_ops/traffic_ops_golang/routing/routes.go | 6 +--
5 files changed, 63 insertions(+), 21 deletions(-)
diff --git a/traffic_ops/testing/api/v14/steering_test.go b/traffic_ops/testing/api/v14/steering_test.go
index aed4ba3..68fcc24 100644
--- a/traffic_ops/testing/api/v14/steering_test.go
+++ b/traffic_ops/testing/api/v14/steering_test.go
@@ -20,7 +20,7 @@ import (
)
func TestSteering(t *testing.T) {
- WithObjs(t, []TCObj{CDNs, Types, Tenants, Parameters, Profiles, Statuses, Divisions, Regions, PhysLocations, CacheGroups, Servers, DeliveryServices, SteeringTargets}, func() {
+ WithObjs(t, []TCObj{CDNs, Types, Tenants, Parameters, Profiles, Statuses, Divisions, Regions, PhysLocations, CacheGroups, Servers, DeliveryServices, Users, SteeringTargets}, func() {
GetTestSteering(t)
})
}
diff --git a/traffic_ops/testing/api/v14/steeringtargets_test.go b/traffic_ops/testing/api/v14/steeringtargets_test.go
index d0435e0..8568860 100644
--- a/traffic_ops/testing/api/v14/steeringtargets_test.go
+++ b/traffic_ops/testing/api/v14/steeringtargets_test.go
@@ -17,16 +17,36 @@ package v14
import (
"testing"
+ "time"
"github.com/apache/trafficcontrol/lib/go-log"
"github.com/apache/trafficcontrol/lib/go-util"
+ "github.com/apache/trafficcontrol/traffic_ops/client"
)
+var SteeringUserSession *client.Session
+
func TestSteeringTargets(t *testing.T) {
- WithObjs(t, []TCObj{CDNs, Types, Tenants, Parameters, Profiles, Statuses, Divisions, Regions, PhysLocations, CacheGroups, Servers, DeliveryServices, SteeringTargets}, func() {
+
+ WithObjs(t, []TCObj{CDNs, Types, Tenants, Parameters, Profiles, Statuses, Divisions, Regions, PhysLocations, CacheGroups, Servers, DeliveryServices, Users, SteeringTargets}, func() {
GetTestSteeringTargets(t)
UpdateTestSteeringTargets(t)
})
+
+}
+
+// SetupSteeringTargets calls the CreateSteeringTargets test. It also sets the steering user session
+// with the logged in steering user. SteeringUserSession is used by steering target test functions.
+// Running this function depends on CreateTestUsers.
+func SetupSteeringTargets(t *testing.T) {
+ var err error
+ toReqTimeout := time.Second * time.Duration(Config.Default.Session.TimeoutInSecs)
+ SteeringUserSession, _, err = client.LoginWithAgent(TOSession.URL, "steering", "pa$$word", true, "to-api-v14-client-tests/steering", true, toReqTimeout)
+ if err != nil {
+ t.Fatalf("failed to get log in with steering user: %v", err.Error())
+ }
+
+ CreateTestSteeringTargets(t)
}
func CreateTestSteeringTargets(t *testing.T) {
@@ -42,7 +62,7 @@ func CreateTestSteeringTargets(t *testing.T) {
}
{
- respTypes, _, err := TOSession.GetTypeByName(*st.Type)
+ respTypes, _, err := SteeringUserSession.GetTypeByName(*st.Type)
if err != nil {
t.Errorf("creating steering target: getting type: %v\n", err)
} else if len(respTypes) < 1 {
@@ -51,7 +71,7 @@ func CreateTestSteeringTargets(t *testing.T) {
st.TypeID = util.IntPtr(respTypes[0].ID)
}
{
- respDS, _, err := TOSession.GetDeliveryServiceByXMLID(string(*st.DeliveryService))
+ respDS, _, err := SteeringUserSession.GetDeliveryServiceByXMLID(string(*st.DeliveryService))
if err != nil {
t.Errorf("creating steering target: getting ds: %v\n", err)
} else if len(respDS) < 1 {
@@ -61,7 +81,7 @@ func CreateTestSteeringTargets(t *testing.T) {
st.DeliveryServiceID = &dsID
}
{
- respTarget, _, err := TOSession.GetDeliveryServiceByXMLID(string(*st.Target))
+ respTarget, _, err := SteeringUserSession.GetDeliveryServiceByXMLID(string(*st.Target))
if err != nil {
t.Errorf("creating steering target: getting target ds: %v\n", err)
} else if len(respTarget) < 1 {
@@ -71,7 +91,7 @@ func CreateTestSteeringTargets(t *testing.T) {
st.TargetID = &targetID
}
- resp, _, err := TOSession.CreateSteeringTarget(st)
+ resp, _, err := SteeringUserSession.CreateSteeringTarget(st)
log.Debugln("Response: ", resp)
if err != nil {
t.Errorf("creating steering target: %v\n", err)
@@ -91,7 +111,7 @@ func UpdateTestSteeringTargets(t *testing.T) {
t.Errorf("updating steering target: test data missing target\n")
}
- respDS, _, err := TOSession.GetDeliveryServiceByXMLID(string(*st.DeliveryService))
+ respDS, _, err := SteeringUserSession.GetDeliveryServiceByXMLID(string(*st.DeliveryService))
if err != nil {
t.Errorf("updating steering target: getting ds: %v\n", err)
}
@@ -100,7 +120,7 @@ func UpdateTestSteeringTargets(t *testing.T) {
}
dsID := respDS[0].ID
- sts, _, err := TOSession.GetSteeringTargets(dsID)
+ sts, _, err := SteeringUserSession.GetSteeringTargets(dsID)
if err != nil {
t.Errorf("updating steering targets: getting steering target: %v\n", err)
}
@@ -115,12 +135,12 @@ func UpdateTestSteeringTargets(t *testing.T) {
}
st.Value = &expected
- _, _, err = TOSession.UpdateSteeringTarget(st)
+ _, _, err = SteeringUserSession.UpdateSteeringTarget(st)
if err != nil {
t.Errorf("updating steering targets: updating: %+v\n", err)
}
- sts, _, err = TOSession.GetSteeringTargets(dsID)
+ sts, _, err = SteeringUserSession.GetSteeringTargets(dsID)
if err != nil {
t.Errorf("updating steering targets: getting updated steering target: %v\n", err)
}
@@ -175,7 +195,7 @@ func GetTestSteeringTargets(t *testing.T) {
t.Errorf("updating steering target: test data missing ds\n")
}
- respDS, _, err := TOSession.GetDeliveryServiceByXMLID(string(*st.DeliveryService))
+ respDS, _, err := SteeringUserSession.GetDeliveryServiceByXMLID(string(*st.DeliveryService))
if err != nil {
t.Errorf("creating steering target: getting ds: %v\n", err)
} else if len(respDS) < 1 {
@@ -183,7 +203,7 @@ func GetTestSteeringTargets(t *testing.T) {
}
dsID := respDS[0].ID
- sts, _, err := TOSession.GetSteeringTargets(dsID)
+ sts, _, err := SteeringUserSession.GetSteeringTargets(dsID)
if err != nil {
t.Errorf("steering target get: getting steering target: %v\n", err)
}
@@ -232,7 +252,7 @@ func DeleteTestSteeringTargets(t *testing.T) {
t.Errorf("deleting steering target: test data missing target\n")
}
- respDS, _, err := TOSession.GetDeliveryServiceByXMLID(string(*st.DeliveryService))
+ respDS, _, err := SteeringUserSession.GetDeliveryServiceByXMLID(string(*st.DeliveryService))
if err != nil {
t.Errorf("deleting steering target: getting ds: %v\n", err)
} else if len(respDS) < 1 {
@@ -243,7 +263,7 @@ func DeleteTestSteeringTargets(t *testing.T) {
dsIDs = append(dsIDs, dsID)
- respTarget, _, err := TOSession.GetDeliveryServiceByXMLID(string(*st.Target))
+ respTarget, _, err := SteeringUserSession.GetDeliveryServiceByXMLID(string(*st.Target))
if err != nil {
t.Errorf("deleting steering target: getting target ds: %v\n", err)
} else if len(respTarget) < 1 {
@@ -252,14 +272,14 @@ func DeleteTestSteeringTargets(t *testing.T) {
targetID := uint64(respTarget[0].ID)
st.TargetID = &targetID
- _, _, err = TOSession.DeleteSteeringTarget(int(*st.DeliveryServiceID), int(*st.TargetID))
+ _, _, err = SteeringUserSession.DeleteSteeringTarget(int(*st.DeliveryServiceID), int(*st.TargetID))
if err != nil {
t.Errorf("deleting steering target: deleting: %+v\n", err)
}
}
for _, dsID := range dsIDs {
- sts, _, err := TOSession.GetSteeringTargets(int(dsID))
+ sts, _, err := SteeringUserSession.GetSteeringTargets(int(dsID))
if err != nil {
t.Errorf("deleting steering targets: getting steering target: %v\n", err)
}
diff --git a/traffic_ops/testing/api/v14/tc-fixtures.json b/traffic_ops/testing/api/v14/tc-fixtures.json
index 6fe45e4..e4d0281 100644
--- a/traffic_ops/testing/api/v14/tc-fixtures.json
+++ b/traffic_ops/testing/api/v14/tc-fixtures.json
@@ -2033,6 +2033,28 @@
"tenant": "root",
"uid": 0,
"username": "opsuser"
+ },
+ {
+ "addressLine1": "address of steering",
+ "addressLine2": "place",
+ "city": "somewhere",
+ "company": "else",
+ "country": "UK",
+ "email": "steering@example.com",
+ "fullName": "Steering User",
+ "gid": 0,
+ "localPasswd": "pa$$word",
+ "confirmLocalPasswd": "pa$$word",
+ "newUser": false,
+ "phoneNumber": "",
+ "postalCode": "",
+ "publicSshKey": "",
+ "registrationSent": "",
+ "role": 3,
+ "stateOrProvince": "",
+ "tenant": "root",
+ "uid": 0,
+ "username": "steering"
}
],
"steeringTargets": [
diff --git a/traffic_ops/testing/api/v14/withobjs.go b/traffic_ops/testing/api/v14/withobjs.go
index 515d398..e39d0d8 100644
--- a/traffic_ops/testing/api/v14/withobjs.go
+++ b/traffic_ops/testing/api/v14/withobjs.go
@@ -85,9 +85,9 @@ var withFuncs = map[TCObj]TCObjFuncs{
Servers: {CreateTestServers, DeleteTestServers},
Statuses: {CreateTestStatuses, DeleteTestStatuses},
StaticDNSEntries: {CreateTestStaticDNSEntries, DeleteTestStaticDNSEntries},
- SteeringTargets: {CreateTestSteeringTargets, DeleteTestSteeringTargets},
+ SteeringTargets: {SetupSteeringTargets, DeleteTestSteeringTargets},
Tenants: {CreateTestTenants, DeleteTestTenants},
Types: {CreateTestTypes, DeleteTestTypes},
Users: {CreateTestUsers, ForceDeleteTestUsers},
- UsersDeliveryServices: {CreateTestUsersDeliveryServices, DeleteTestUsersDeliveryServices},
+ UsersDeliveryServices: {CreateTestUsersDeliveryServices, DeleteTestUsersDeliveryServices},
}
diff --git a/traffic_ops/traffic_ops_golang/routing/routes.go b/traffic_ops/traffic_ops_golang/routing/routes.go
index 999ce4a..aeb8594 100644
--- a/traffic_ops/traffic_ops_golang/routing/routes.go
+++ b/traffic_ops/traffic_ops_golang/routing/routes.go
@@ -424,9 +424,9 @@ func Routes(d ServerData) ([]Route, []RawRoute, http.Handler, error) {
{1.1, http.MethodGet, `steering/{deliveryservice}/targets/?(\.json)?$`, api.ReadHandler(&steeringtargets.TOSteeringTargetV11{}), auth.PrivLevelReadOnly, Authenticated, nil},
{1.1, http.MethodGet, `steering/{deliveryservice}/targets/{target}$`, api.ReadHandler(&steeringtargets.TOSteeringTargetV11{}), auth.PrivLevelReadOnly, Authenticated, nil},
- {1.1, http.MethodPost, `steering/{deliveryservice}/targets/?(\.json)?$`, api.CreateHandler(&steeringtargets.TOSteeringTargetV11{}), auth.PrivLevelOperations, Authenticated, nil},
- {1.1, http.MethodPut, `steering/{deliveryservice}/targets/{target}/?(\.json)?$`, api.UpdateHandler(&steeringtargets.TOSteeringTargetV11{}), auth.PrivLevelOperations, Authenticated, nil},
- {1.1, http.MethodDelete, `steering/{deliveryservice}/targets/{target}/?(\.json)?$`, api.DeleteHandler(&steeringtargets.TOSteeringTargetV11{}), auth.PrivLevelOperations, Authenticated, nil},
+ {1.1, http.MethodPost, `steering/{deliveryservice}/targets/?(\.json)?$`, api.CreateHandler(&steeringtargets.TOSteeringTargetV11{}), auth.PrivLevelSteering, Authenticated, nil},
+ {1.1, http.MethodPut, `steering/{deliveryservice}/targets/{target}/?(\.json)?$`, api.UpdateHandler(&steeringtargets.TOSteeringTargetV11{}), auth.PrivLevelSteering, Authenticated, nil},
+ {1.1, http.MethodDelete, `steering/{deliveryservice}/targets/{target}/?(\.json)?$`, api.DeleteHandler(&steeringtargets.TOSteeringTargetV11{}), auth.PrivLevelSteering, Authenticated, nil},
//Pattern based consistent hashing endpoint
{1.4, http.MethodPost, `consistenthash/?$`, consistenthash.Post, auth.PrivLevelReadOnly, Authenticated, nil},