Error when generating invite codes for a confirmed remote cluster (#28337)

This commit is contained in:
Miguel de la Cruz 2024-10-02 07:37:04 +02:00 committed by GitHub
parent 76021c76a0
commit acc9093072
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 24 additions and 1 deletions

View File

@ -115,6 +115,8 @@
description: |
The password generated by the server if none was
sent on the create request
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":

View File

@ -533,6 +533,11 @@ func generateRemoteClusterInvite(c *Context, w http.ResponseWriter, r *http.Requ
return
}
if rc.IsConfirmed() {
c.Err = model.NewAppError("generateRemoteClusterInvite", "api.remote_cluster.generate_invite_cluster_is_confirmed", nil, "", http.StatusBadRequest)
return
}
inviteCode, invErr := c.App.CreateRemoteClusterInvite(rc.RemoteId, url, rc.Token, password)
if invErr != nil {
c.Err = invErr

View File

@ -358,7 +358,7 @@ func TestGenerateRemoteClusterInvite(t *testing.T) {
newRC := &model.RemoteCluster{
Name: "remotecluster",
SiteURL: "http://example.com",
SiteURL: model.SiteURLPending + model.NewId(),
Token: model.NewId(),
}
@ -429,6 +429,18 @@ func TestGenerateRemoteClusterInvite(t *testing.T) {
require.Equal(t, rc.RemoteId, invite.RemoteId)
require.Equal(t, rc.Token, invite.Token)
})
t.Run("should return bad request if the cluster is already confirmed", func(t *testing.T) {
rc.SiteURL = "http://example.com"
savedRC, appErr := th.App.UpdateRemoteCluster(rc)
require.Nil(t, appErr)
require.Equal(t, rc.SiteURL, savedRC.SiteURL)
inviteCode, resp, err := th.SystemAdminClient.GenerateRemoteClusterInvite(context.Background(), rc.RemoteId, password)
CheckBadRequestStatus(t, resp)
require.Error(t, err)
require.Empty(t, inviteCode)
})
}
func TestGetRemoteCluster(t *testing.T) {

View File

@ -2754,6 +2754,10 @@
"id": "api.remote_cluster.encrypt_invite_error",
"translation": "Could not encrypt the remote cluster invite using the provided password"
},
{
"id": "api.remote_cluster.generate_invite_cluster_is_confirmed",
"translation": "Cannot generate invite code for a confirmed cluster"
},
{
"id": "api.remote_cluster.get.app_error",
"translation": "We encountered an error retrieving a secure connection."