Skip to content

Commit 91a922d

Browse files
committed
feat: add new test for RetriveStatsBySourceIdAndTeamProject
...to ensure 403 is returned when HasAccessToTeamProject returns false
1 parent d4f3520 commit 91a922d

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

tests/controllers_tests/controllers_test.go

+21-1
Original file line numberDiff line numberDiff line change
@@ -472,11 +472,31 @@ func TestRetriveStatsBySourceIdAndTeamProjectCheckMandatoryTeamProject(t *testin
472472
}
473473
}
474474

475+
func TestRetriveStatsBySourceIdAndTeamProjectAuthorizationError(t *testing.T) {
476+
setUp(t)
477+
requestContext := new(gin.Context)
478+
requestContext.Params = append(requestContext.Params, gin.Param{Key: "sourceid", Value: strconv.Itoa(tests.GetTestSourceId())})
479+
requestContext.Request = &http.Request{URL: &url.URL{}}
480+
teamProject := "/test/dummyname/dummy-team-project"
481+
requestContext.Request.URL.RawQuery = "team-project=" + teamProject
482+
requestContext.Writer = new(tests.CustomResponseWriter)
483+
cohortDefinitionControllerWithFailingTeamProjectAuthz.RetriveStatsBySourceIdAndTeamProject(requestContext)
484+
result := requestContext.Writer.(*tests.CustomResponseWriter)
485+
if !requestContext.IsAborted() {
486+
t.Errorf("Expected aborted request")
487+
}
488+
if result.Status() != http.StatusForbidden {
489+
t.Errorf("Expected StatusForbidden, got %d", result.Status())
490+
}
491+
if !strings.Contains(result.CustomResponseWriterOut, "access denied") {
492+
t.Errorf("Expected 'access denied' in response")
493+
}
494+
}
495+
475496
func TestRetriveStatsBySourceIdAndTeamProject(t *testing.T) {
476497
setUp(t)
477498
requestContext := new(gin.Context)
478499
requestContext.Params = append(requestContext.Params, gin.Param{Key: "sourceid", Value: strconv.Itoa(tests.GetTestSourceId())})
479-
//requestContext.Params = append(requestContext.Params, gin.Param{Key: "teamproject", Value: "dummy-team-project"})
480500
requestContext.Request = &http.Request{URL: &url.URL{}}
481501
teamProject := "/test/dummyname/dummy-team-project"
482502
requestContext.Request.URL.RawQuery = "team-project=" + teamProject

0 commit comments

Comments
 (0)