diff --git a/packages/integration-tests/src/api/application.ts b/packages/integration-tests/src/api/application.ts index c0f68b989ec7..b33296ec761c 100644 --- a/packages/integration-tests/src/api/application.ts +++ b/packages/integration-tests/src/api/application.ts @@ -148,6 +148,17 @@ export const getApplicationSecrets = async (applicationId: string) => export const deleteApplicationSecret = async (applicationId: string, secretName: string) => authedAdminApi.delete(`applications/${applicationId}/secrets/${secretName}`); +export const updateApplicationSecret = async ( + applicationId: string, + secretName: string, + body: Record +) => + authedAdminApi + .patch(`applications/${applicationId}/secrets/${secretName}`, { + json: body, + }) + .json(); + export const deleteLegacyApplicationSecret = async (applicationId: string) => authedAdminApi.delete(`applications/${applicationId}/legacy-secret`); diff --git a/packages/integration-tests/src/tests/api/application/application.secrets.test.ts b/packages/integration-tests/src/tests/api/application/application.secrets.test.ts index 40962bccce89..3f4634271e92 100644 --- a/packages/integration-tests/src/tests/api/application/application.secrets.test.ts +++ b/packages/integration-tests/src/tests/api/application/application.secrets.test.ts @@ -8,6 +8,7 @@ import { deleteApplication, deleteApplicationSecret, getApplicationSecrets, + updateApplicationSecret, } from '#src/api/application.js'; import { randomString } from '#src/utils.js'; @@ -157,4 +158,23 @@ describe('application secrets', () => { ]); expect(await getApplicationSecrets(application.id)).toEqual([]); }); + + it('should be able to update application secret', async () => { + const application = await createApplication('application', ApplicationType.MachineToMachine); + const secretName = randomString(); + await createApplicationSecret({ + applicationId: application.id, + name: secretName, + }); + + const newSecretName = randomString(); + const updatedSecret = await updateApplicationSecret(application.id, secretName, { + name: newSecretName, + }); + expect(updatedSecret).toEqual( + expect.objectContaining({ applicationId: application.id, name: newSecretName }) + ); + + await deleteApplicationSecret(application.id, newSecretName); + }); });