package controllers import ( "bytes" "encoding/json" "net/http" "net/http/httptest" "testing" "github.com/gin-gonic/gin" "github.com/stretchr/testify/assert" ) func testXSSAttempt(t *testing.T) { gin.SetMode(gin.TestMode) router := gin.New() router.POST("/register", Uc.RegisterUser) xssPayload := "" user := getBaseUser() user.FirstName = xssPayload user.Email = "user@xss.hack" jsonData, _ := json.Marshal(RegistrationData{User: user}) req, _ := http.NewRequest("POST", "/register", bytes.NewBuffer(jsonData)) req.Header.Set("Content-Type", "application/json") w := httptest.NewRecorder() router.ServeHTTP(w, req) assert.Equal(t, http.StatusBadRequest, w.Code) assert.NotContains(t, w.Body.String(), xssPayload) }