[MM-29731] Fix panic in saveUserTermsOfService (#16044)

* Fix panic in saveUserTermsOfService

* Remove unneeded initialization
This commit is contained in:
Claudio Costa
2020-10-21 17:08:33 +02:00
committed by GitHub
parent 91bb7d3b11
commit e5e2dbdf1a
2 changed files with 21 additions and 2 deletions

View File

@@ -2423,8 +2423,16 @@ func saveUserTermsOfService(c *Context, w http.ResponseWriter, r *http.Request)
props := model.StringInterfaceFromJson(r.Body)
userId := c.App.Session().UserId
termsOfServiceId := props["termsOfServiceId"].(string)
accepted := props["accepted"].(bool)
termsOfServiceId, ok := props["termsOfServiceId"].(string)
if !ok {
c.SetInvalidParam("termsOfServiceId")
return
}
accepted, ok := props["accepted"].(bool)
if !ok {
c.SetInvalidParam("accepted")
return
}
auditRec := c.MakeAuditRecord("saveUserTermsOfService", audit.Fail)
defer c.LogAuditRec(auditRec)

View File

@@ -828,6 +828,17 @@ func TestGetUserByUsernameWithAcceptedTermsOfService(t *testing.T) {
require.Equal(t, tos.Id, ruser.TermsOfServiceId, "Terms of service ID should match")
}
func TestSaveUserTermsOfService(t *testing.T) {
th := Setup(t)
defer th.TearDown()
t.Run("Invalid data", func(t *testing.T) {
resp, err := th.Client.DoApiPost("/users/"+th.BasicUser.Id+"/terms_of_service", "{}")
require.NotNil(t, err)
assert.Equal(t, http.StatusBadRequest, resp.StatusCode)
})
}
func TestGetUserByEmail(t *testing.T) {
th := Setup(t)
defer th.TearDown()