diff --git a/packages/integration-tests/src/connector-api.ts b/packages/integration-tests/src/connector-api.ts index 8d0fdc9ce..b7cc61fb1 100644 --- a/packages/integration-tests/src/connector-api.ts +++ b/packages/integration-tests/src/connector-api.ts @@ -16,9 +16,15 @@ export const updateConnectorConfig = async (connectorId: string, config: Record< .json(); export const enableConnector = async (connectorId: string) => + updateConnectorEnabledProperty(connectorId, true); + +export const disableConnector = async (connectorId: string) => + updateConnectorEnabledProperty(connectorId, false); + +const updateConnectorEnabledProperty = (connectorId: string, enabled: boolean) => authedAdminApi .patch({ url: `connectors/${connectorId}/enabled`, - json: { enabled: true }, + json: { enabled }, }) .json(); diff --git a/packages/integration-tests/tests/connectors.test.ts b/packages/integration-tests/tests/connectors.test.ts index 28517fa9b..7b11f4b8d 100644 --- a/packages/integration-tests/tests/connectors.test.ts +++ b/packages/integration-tests/tests/connectors.test.ts @@ -2,6 +2,7 @@ import { ConnectorType } from '@logto/schemas'; import { HTTPError } from 'got'; import { + disableConnector, enableConnector, getConnector, listConnectors, @@ -207,8 +208,18 @@ test('connector flow', async () => { const aliyunEmailConnector = await getConnector(aliyunEmailConnectorId); expect(aliyunEmailConnector.config).toEqual(aliyunEmailConnectorConfig); + /* + * Delete (i.e. disable) a connector + * + * We have not provided the API to delete a connector for now. + * Deleting a connector using Admin Console means disabling a connector using Management API. + */ + const disabledSendgridEmailConnector = await disableConnector(sendgridEmailConnectorId); + expect(disabledSendgridEmailConnector.enabled).toBeFalsy(); + const sendgridEmailConnector = await getConnector(sendgridEmailConnectorId); + expect(sendgridEmailConnector.enabled).toBeFalsy(); + // Next up: - // - delete (i.e. disable) connector // - send sms/email test message // - list all connectors after manually setting up connectors });