srijeet0406 commented on code in PR #7282:
URL: https://github.com/apache/trafficcontrol/pull/7282#discussion_r1085606049
##########
traffic_ops/traffic_ops_golang/routing/middleware/wrappers_test.go:
##########
@@ -440,4 +440,36 @@ func TestNoOpWhenNoPermissionsRequired(t *testing.T) {
}
}
-// TODO: TestWrapAccessLog, et. al
+func TestGetCookieToken(t *testing.T) {
+ var cookies []http.Cookie
+ var e bytes.Buffer
+
+ mojoCookie := http.Cookie{Name: "mojolicious", Value:
"eyJhdXRoX2RhdGEiOiJhZG1pbiIsImV4cGlyZXMiOjE2NzQyNTY4MjEsImJ5IjoidHJhZmZpY2NvbnRyb2wtZ28tdG9jb29raWUifQ--f7f40f516bfedc888d0ac6bc3c373b21773d1765"}
+ accessToken := http.Cookie{Name: "access_token", Value:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NzQyNTY4MjEsIm1vam9Db29raWUiOiJleUpoZFhSb1gyUmhkR0VpT2lKaFpHMXBiaUlzSW1WNGNHbHlaWE1pT2pFMk56UXlOVFk0TWpFc0ltSjVJam9pZEhKaFptWnBZMk52Ym5SeWIyd3RaMjh0ZEc5amIyOXJhV1VpZlEtLWY3ZjQwZjUxNmJmZWRjODg4ZDBhYzZiYzNjMzczYjIxNzczZDE3NjUifQ.41te1VWlSzHCiH77nZjdqtGQNgc-ad6HwRi5cyffTGc"}
+ bearerToken := "Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NzQ1MjU0OTcsIm1vam9Db29raWUiOiJleUpoZFhSb1gyUmhkR0VpT2lKaFpHMXBiaUlzSW1WNGNHbHlaWE1pT2pFMk56UTFNalUwT1Rjc0ltSjVJam9pZEhKaFptWnBZMk52Ym5SeWIyd3RaMjh0ZEc5amIyOXJhV1VpZlEtLTlmODI1Yzk5MDJhYTU5NDI1ZTQwYzJhYzcyNjhiZTI4NDMyMTg4ZjEifQ.szYraBtmKQ0UB13G6C3WUDcix1kZQyn4uqv27qy0_vY"
+ cookies = append(cookies, mojoCookie, accessToken, http.Cookie{})
+
+ r, err := http.NewRequest("GET", "https://localhost:8888", nil)
+ if err == nil && r != nil {
+ for i := range cookies {
+ if cookies[i].Name != "" {
+ r.AddCookie(&cookies[i])
+ cookie := getCookieToken(r)
+ if cookie != mojoCookie.Value &&
cookies[i].Name == "mojolicious" {
+ e.WriteString("Error: Unable to get
mojolicious cookie. ")
+ } else if cookie != mojoCookie.Value &&
cookies[i].Name == "access_token" {
+ e.WriteString("Error: Unable to get
mojolicious cookie from Access Token. ")
+ }
+ } else {
+ r.Header.Add("Authorization", bearerToken)
+ cookie := getCookieToken(r)
+ if cookie != mojoCookie.Value {
+ e.WriteString("Error: Unable to get
cookie from Bearer Token.")
+ }
+ }
+ }
+ }
+ if e.String() != "" {
Review Comment:
Instead of writing to an error string and then checking it at the end of the
tests, you can just use `t.Errorf(...)` like the other tests do.
##########
traffic_ops/traffic_ops_golang/routing/middleware/wrappers_test.go:
##########
@@ -440,4 +440,36 @@ func TestNoOpWhenNoPermissionsRequired(t *testing.T) {
}
}
-// TODO: TestWrapAccessLog, et. al
+func TestGetCookieToken(t *testing.T) {
+ var cookies []http.Cookie
+ var e bytes.Buffer
+
+ mojoCookie := http.Cookie{Name: "mojolicious", Value:
"eyJhdXRoX2RhdGEiOiJhZG1pbiIsImV4cGlyZXMiOjE2NzQyNTY4MjEsImJ5IjoidHJhZmZpY2NvbnRyb2wtZ28tdG9jb29raWUifQ--f7f40f516bfedc888d0ac6bc3c373b21773d1765"}
+ accessToken := http.Cookie{Name: "access_token", Value:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NzQyNTY4MjEsIm1vam9Db29raWUiOiJleUpoZFhSb1gyUmhkR0VpT2lKaFpHMXBiaUlzSW1WNGNHbHlaWE1pT2pFMk56UXlOVFk0TWpFc0ltSjVJam9pZEhKaFptWnBZMk52Ym5SeWIyd3RaMjh0ZEc5amIyOXJhV1VpZlEtLWY3ZjQwZjUxNmJmZWRjODg4ZDBhYzZiYzNjMzczYjIxNzczZDE3NjUifQ.41te1VWlSzHCiH77nZjdqtGQNgc-ad6HwRi5cyffTGc"}
+ bearerToken := "Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NzQ1MjU0OTcsIm1vam9Db29raWUiOiJleUpoZFhSb1gyUmhkR0VpT2lKaFpHMXBiaUlzSW1WNGNHbHlaWE1pT2pFMk56UTFNalUwT1Rjc0ltSjVJam9pZEhKaFptWnBZMk52Ym5SeWIyd3RaMjh0ZEc5amIyOXJhV1VpZlEtLTlmODI1Yzk5MDJhYTU5NDI1ZTQwYzJhYzcyNjhiZTI4NDMyMTg4ZjEifQ.szYraBtmKQ0UB13G6C3WUDcix1kZQyn4uqv27qy0_vY"
+ cookies = append(cookies, mojoCookie, accessToken, http.Cookie{})
+
+ r, err := http.NewRequest("GET", "https://localhost:8888", nil)
+ if err == nil && r != nil {
+ for i := range cookies {
+ if cookies[i].Name != "" {
+ r.AddCookie(&cookies[i])
+ cookie := getCookieToken(r)
+ if cookie != mojoCookie.Value &&
cookies[i].Name == "mojolicious" {
Review Comment:
The aim of this PR is to make sure that the user gets properly parsed in all
three auth scenarios. So, IMO, it would make more sense if you extracted the
user out of the cookies in each case and made sure that you get back the
expected user every time.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]