From b7f4fee9c18f7699ecceb503fb29a16b6c2d3631 Mon Sep 17 00:00:00 2001 From: anna-cross Date: Thu, 19 Sep 2024 10:42:06 -0400 Subject: [PATCH] Cleanup and ReadMe --- .mockery.yaml | 4 +- README.md | 152 +++--- cmd/connector/acceptance_test.go | 88 ---- cmd/connector/main.go | 2 +- cmd/connector/oauth_client_mock_test.go | 33 -- cmd/connector/streaming_client_mock_test.go | 94 ---- docs/connected_app.png | Bin 0 -> 637772 bytes internal/cometd/client.go | 265 ----------- internal/cometd/requests/connect.go | 32 -- internal/cometd/requests/disconnect.go | 33 -- internal/cometd/requests/handshake.go | 32 -- internal/cometd/requests/interface.go | 22 - .../cometd/requests/subscribe_push_topic.go | 39 -- .../cometd/requests/unsubscribe_push_topic.go | 39 -- internal/cometd/responses/advice.go | 48 -- internal/cometd/responses/connect.go | 74 --- internal/cometd/responses/disconnect.go | 37 -- internal/cometd/responses/ext.go | 19 - internal/cometd/responses/subscribe.go | 59 --- internal/cometd/responses/subscribe_test.go | 71 --- .../cometd/responses/successful_handshake.go | 50 -- internal/cometd/responses/unsubscribe.go | 59 --- internal/cometd/responses/unsubscribe_test.go | 71 --- .../responses/unsuccessful_handshake.go | 50 -- .../responses/unsuccessful_handshake_test.go | 34 -- internal/operation.go | 26 - internal/salesforce/oauth/client.go | 139 ------ internal/salesforce/oauth/client_test.go | 450 ------------------ .../salesforce/oauth/http_client_moq_test.go | 75 --- .../salesforce/oauth/read_closer_moq_test.go | 37 -- internal/salesforce/oauth/response/failure.go | 25 - .../salesforce/oauth/response/failure_test.go | 36 -- internal/salesforce/oauth/response/token.go | 30 -- internal/utils/http_response_decoder.go | 54 --- internal/utils/http_response_decoder_test.go | 126 ----- {source_pubsub => source}/client.go | 2 +- {source_pubsub => source}/client_test.go | 0 source/config.go | 140 +++--- source/config_test.go | 179 ------- .../mock_authenticator_test.go | 0 {source_pubsub => source}/mock_client_test.go | 0 .../mock_pub_sub_client_test.go | 0 .../mock_pub_sub_subscribe_client_test.go | 0 {source_pubsub => source}/oauth.go | 0 {source_pubsub => source}/paramgen_config.go | 0 .../position/position.go | 0 source/source.go | 424 ++++------------- source/source_test.go | 105 +++- source_pubsub/config.go | 119 ----- source_pubsub/source.go | 176 ------- source_pubsub/source_test.go | 124 ----- 51 files changed, 372 insertions(+), 3302 deletions(-) delete mode 100644 cmd/connector/acceptance_test.go delete mode 100644 cmd/connector/oauth_client_mock_test.go delete mode 100644 cmd/connector/streaming_client_mock_test.go create mode 100644 docs/connected_app.png delete mode 100644 internal/cometd/client.go delete mode 100644 internal/cometd/requests/connect.go delete mode 100644 internal/cometd/requests/disconnect.go delete mode 100644 internal/cometd/requests/handshake.go delete mode 100644 internal/cometd/requests/interface.go delete mode 100644 internal/cometd/requests/subscribe_push_topic.go delete mode 100644 internal/cometd/requests/unsubscribe_push_topic.go delete mode 100644 internal/cometd/responses/advice.go delete mode 100644 internal/cometd/responses/connect.go delete mode 100644 internal/cometd/responses/disconnect.go delete mode 100644 internal/cometd/responses/ext.go delete mode 100644 internal/cometd/responses/subscribe.go delete mode 100644 internal/cometd/responses/subscribe_test.go delete mode 100644 internal/cometd/responses/successful_handshake.go delete mode 100644 internal/cometd/responses/unsubscribe.go delete mode 100644 internal/cometd/responses/unsubscribe_test.go delete mode 100644 internal/cometd/responses/unsuccessful_handshake.go delete mode 100644 internal/cometd/responses/unsuccessful_handshake_test.go delete mode 100644 internal/operation.go delete mode 100644 internal/salesforce/oauth/client.go delete mode 100644 internal/salesforce/oauth/client_test.go delete mode 100644 internal/salesforce/oauth/http_client_moq_test.go delete mode 100644 internal/salesforce/oauth/read_closer_moq_test.go delete mode 100644 internal/salesforce/oauth/response/failure.go delete mode 100644 internal/salesforce/oauth/response/failure_test.go delete mode 100644 internal/salesforce/oauth/response/token.go delete mode 100644 internal/utils/http_response_decoder.go delete mode 100644 internal/utils/http_response_decoder_test.go rename {source_pubsub => source}/client.go (99%) rename {source_pubsub => source}/client_test.go (100%) delete mode 100644 source/config_test.go rename {source_pubsub => source}/mock_authenticator_test.go (100%) rename {source_pubsub => source}/mock_client_test.go (100%) rename {source_pubsub => source}/mock_pub_sub_client_test.go (100%) rename {source_pubsub => source}/mock_pub_sub_subscribe_client_test.go (100%) rename {source_pubsub => source}/oauth.go (100%) rename {source_pubsub => source}/paramgen_config.go (100%) rename {source_pubsub => source}/position/position.go (100%) delete mode 100644 source_pubsub/config.go delete mode 100644 source_pubsub/source.go delete mode 100644 source_pubsub/source_test.go diff --git a/.mockery.yaml b/.mockery.yaml index b3abfe5..546ec19 100644 --- a/.mockery.yaml +++ b/.mockery.yaml @@ -10,12 +10,12 @@ packages: interfaces: PubSubClient: config: - dir: source_pubsub + dir: source inpackage: false outpkg: source PubSub_SubscribeClient: config: - dir: source_pubsub + dir: source inpackage: false outpkg: source github.com/conduitio-labs/conduit-connector-salesforce/source: diff --git a/README.md b/README.md index a7ea290..ba9ef6d 100644 --- a/README.md +++ b/README.md @@ -17,63 +17,84 @@ The Source connector subscribes to Salesforce platform events and queries publis This section describes the technical details of how the connector works. +#### PubSub API + +Conduit Source Connector uses [PubSub Api](https://developer.salesforce.com/docs/platform/pub-sub-api/overview) for subscribing to event data. + +##### Platform Events + +The connector is capable of listening to [custom Platform Events](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_intro.htm). + +Platform Events in Salesforce are part of the event-driven architecture, allowing for the exchange of real-time event data between applications. They enable asynchronous communication and data transfer between Salesforce and external systems, as well as among various Salesforce components. Users can define custom Platform Events based on their specific use cases, to which the connector can subscribe. Additionally, users can subscribe to already [existing events](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_objects_list.htm). + +For more information on how to create Platform Events, visit the following link: +[Creating Platform Events](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_publish.htm) + + +###### Setting Platform Events from a Flow + +Steps to Create Platform Events + +1. **Create a Platform Event** + - Navigate to **Setup**. + - Under **Platform Tools**, go to **Integrations** > **Platform Events**. + - Create a new Platform Event and define all the fields for the event to match the desired data structure. + +2. **Create a Flow** + - Go to **Process Automation** > **Flow** and create a new flow. + - Define the source of the data for the previously created event. + - Select **Record-Triggered Flow** if you want to trigger the event based on new, updated, or deleted records on an object. + - Apply any necessary transformations or additional data assignments within the flow. + - End your flow with a **Create Record** element, where you will assign field values for the created event. + #### Authentication The connector authenticates with Salesforce using OAuth credentials. Once successfully authenticated, Salesforce returns: -- `Client ID` - token used in Streaming API requests. +- `AccessToken` - token used in Streaming API requests. - `Instance URL` - Streaming API base URL for given credentials. -#### Streaming API +##### Connected App Configuration -Salesforce uses [CometD](https://docs.cometd.org/current7/reference/#_preface) as a streaming protocol. More details can be found in link below and in References: -https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/using_streaming_api_client_connection.htm +1. Log in into Your Salesforce account, e.g. https://my-demo-app.my.salesforce.com. The environment is `my-demo-app`. +2. First, if not already done, You need to create connected app and enable following settings: + + Under **API (Enable OAuth Settings)** + a. Enable `Enable OAuth Settings` + b. For `Selected OAuth Scope` add following permissions : `Access the Salesforce API Platform` and `Perform requests at any time`. + c. Enable `Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows` + d. Enable `Require Secret for Web Server Flow` + e. Enable `Require Secret for Refresh Token Flow` + c. Enable `Enable Client Credentials Flow` -#### Push Topic events + Under **Custom Connected App Handler** + a. On `Run As` select a user with 'API Enabled' permission privileges. (If user doesn't have them, you can add them under Permission Sets on User settings) -Connector is capable of listening to [custom Push Topics](https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/code_sample_interactive_vfp_create_pushtopic.htm). These are topics created by the user where user specifies in what object's data (e.g. Id, Name, Title) and for which action (e.g. Update, Delete) is interested in. -List of all supported objects can be found here: https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/supported_soql.htm. -All types of notifications are supported: `NotifyForOperationCreate`, `NotifyForOperationUpdate`, `NotifyForOperationUndelete`, `NotifyForOperationDelete`. -For more information about how to create Push Topics go to step-by-step configuration section. + ![Connected App example](docs/connected_app.png) -##### The generated payload +3. Copy **Consumer Key** and **Consumer Secret**. If You need these values once again You can always find them in _Setup -> Apps -> App Manager_, find app on the list and choose _View_ option. + ![View OAuth tokens](docs/view_oauth_tokens.png) -Connector produces [`opencdc.StructuredData`](https://github.com/ConduitIO/conduit-commons/blob/main/opencdc/record.go) data type with information from the received event. The payload entirely depends on the Push Topic's query. -The following data is included: -- `Key` - either `nil` when not configured or the value of payload's `keyField` field. -- `Payload` - Salesforce Push Topic query result; a decoded JSON value. -- `Position` - Event's Replay ID, generated by Salesforce. -- `CreatedAt` - Event's Creation Date, generated by Salesforce. -- `Metadata.channel` - A channel name of the event. -- `Metadata.replyId` - Event's Replay ID. -- `Metadata.action` - Event's action, i.e. the reason why notification was sent (e.g.: `created`, `deleted`). -#### Change Data Capture events +4. Once the app is created, go to _Connected Apps -> Manage Connected Apps_ and edit the application. + Under **Client Credentials Flow** + a. On `Run As` select a user with 'API Enabled' permission privileges. (If user doesn't have them, you can add them under Permission Sets on User settings) -Currently, connector does not support [Change Data Capture](https://developer.salesforce.com/docs/atlas.en-us.change_data_capture.meta/change_data_capture/cdc_subscribe_channels.htm) events. +### Error handling -#### Error handling +The connector will report any errors at startup if authentication credentials are incorrect, which may lead to a server request rejection. -The connector will report any error at a startup in case any of auth credentials is incorrect and caused server to reject request. -Moreover, when any of provided Push Topic does not exist, Salesforce will reject its subscription, and it will also cause connector to fail. -Also, when `keyField` is configured but could not be found in data, error will be returned. -There may be need to reconnect while connector is working. Server returns conditions how to reconnect, but may also terminate the connection. Such cases are also handled and connector tries to reconnect or reports the termination to the user. +If any specified Platform Events do not exist, Salesforce will reject the subscription, resulting in connector failure. -### Configuration Options +If the `keyField` is configured but not found in the data, an error will be returned. -## Destination +While the connector is operational, it may be necessary to reconnect. The server provides conditions for reconnection, but it may also terminate the connection. The connector handles these scenarios by attempting to reconnect or notifying the user of the termination. -| name | description | required | default | -|-------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------| -| `environment` | Authorization service based on Organization’s Domain Name (e.g.: https://MyDomainName.my.salesforce.com -> `MyDomainName`) or `sandbox` for test environment. | `true` | | -| `clientId` | OAuth Client ID (Consumer Key). | `true` | | -| `clientSecret` | OAuth Client Secret (Consumer Secret). | `true` | | -| `username` | Username. | `true` | | -| `password` | Password. | `true` | | -| `securityToken` | Security token as described here: https://help.salesforce.com/s/articleView?id=sf.user_security_token.htm&type=5. | `false` | | -| `pushTopicsNames` | The comma-separated list of names of the Push Topics to listen to. All values will be prefixed with `/topic/`. All values will have white spaces trimmed. Any empty value is skipped. All Topics have to exist for connector to start working. | `true` | | -| `keyField` | The name of the Response's field that should be used as a Payload's Key. Empty value will set it to `nil`. | `false` | `"Id"` | -## Source +### Configuration Options + +With the above set up followed, you can begin configuring the source connector. Refer to the table below on which values to set. + +#### Source | name | description | required | default | @@ -90,7 +111,31 @@ There may be need to reconnect while connector is working. Server returns condit | `insecureSkipVerify` | Disables certificate validation. | `false` | `false` | -### Step-by-step configuration example +##### The generated payload + +Connector produces [`sdk.StructuredData`](https://github.com/ConduitIO/conduit-connector-sdk/blob/main/record.go) data type with information from the received event. The payload entirely depends on the Publish Events fields. +The following data is included: +- `Key` - either `nil` when not configured or the value of payload's `keyField` field. +- `Payload` - Salesforce Publish Events result; a decoded JSON value. +- `Position` - Event's Replay ID, generated by Salesforce. +- `CreatedAt` - Event's Creation Date, generated by Salesforce. +- `Metadata.channel` - A channel name of the event. +- `Metadata.replyId` - Event's Replay ID. +- `Metadata.action` - Event's action, i.e. the reason why notification was sent. Currently, all events will be marked a created. + + +## Destination + +| name | description | required | default | +|-------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------| +| `environment` | Authorization service based on Organization’s Domain Name (e.g.: https://MyDomainName.my.salesforce.com -> `MyDomainName`) or `sandbox` for test environment. | `true` | | +| `clientId` | OAuth Client ID (Consumer Key). | `true` | | +| `clientSecret` | OAuth Client Secret (Consumer Secret). | `true` | | +| `username` | Username. | `true` | | +| `password` | Password. | `true` | | +| `securityToken` | Security token as described here: https://help.salesforce.com/s/articleView?id=sf.user_security_token.htm&type=5. | `false` | | +| `pushTopicsNames` | The comma-separated list of names of the Push Topics to listen to. All values will be prefixed with `/topic/`. All values will have white spaces trimmed. Any empty value is skipped. All Topics have to exist for connector to start working. | `true` | | +| `keyField` | The name of the Response's field that should be used as a Payload's Key. Empty value will set it to `nil`. | `false` | `"Id"` | ## Destination @@ -103,7 +148,7 @@ There are a couple of steps that need to be done to start working with Salesforc Successfully configured app example can be seen below: - ![Connected App example](docs/connect_and_configure_app.png) + ![Connected App example](docs/connected_app.png) 3. Copy **Consumer Key** and **Consumer Secret**. If You need these values once again You can always find them in _Setup -> Apps -> App Manager_, find app on the list and choose _View_ option. ![View OAuth tokens](docs/view_oauth_tokens.png) 4. You may need to configure **Security Token** for Your account. For more details follow instructions: [Reset Your Security Token](https://help.salesforce.com/s/articleView?id=sf.user_security_token.htm&type=5). @@ -126,31 +171,6 @@ There are a couple of steps that need to be done to start working with Salesforc Later, this may be utilized by other connectors, e.g. [Elasticsearch connector](https://github.com/conduitio-labs/conduit-connector-elasticsearch) will create Document with ID of Record's Key when available. -## Source - -1. Log in into Your Salesforce account, e.g. https://my-demo-app.my.salesforce.com. The environment is `my-demo-app`. -2. First, if not already done, You need to create connected app and enable OAuth: [Enable OAuth Settings for API Integration](https://help.salesforce.com/s/articleView?id=sf.connected_app_create_api_integration.htm&type=5). - - The callback URL is required, but not relevant for this connector, so you can put anything there. - - Successfully configured app example can be seen below: - - ![Connected App example](docs/connect_and_configure_app.png) -3. Copy **Consumer Key** and **Consumer Secret**. If You need these values once again You can always find them in _Setup -> Apps -> App Manager_, find app on the list and choose _View_ option. - ![View OAuth tokens](docs/view_oauth_tokens.png) - -4. You will need to set following settings on the application, refer to ![OAuth Client Credentials Flow Requirements](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5) . - Make sure the user you are attaching to the application has "API ENABLED" permission set on their account. - -5. Set up event: - -6. Once done, You can begin with configuring the connector: - 1. Set `oauthEndpount`, it should be a full url to your salesforce, (e.g: https://mysalesforce.salesforce.com ) - 2. Use Step 3 **Consumer Key** value as `clientId` config. - 3. Use Step 3 **Consumer Secret** value as `clientSecret` config. - 4. Set `topicNames` to either one or multiple event topic names the connector will subscribe to, should contain event in topic name such as `/event/Test__e`. - 5. Set any optional config fields as needed. - ## Testing diff --git a/cmd/connector/acceptance_test.go b/cmd/connector/acceptance_test.go deleted file mode 100644 index 2300521..0000000 --- a/cmd/connector/acceptance_test.go +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package main - -import ( - "testing" - - sf "github.com/conduitio-labs/conduit-connector-salesforce" - "github.com/conduitio-labs/conduit-connector-salesforce/internal/cometd" - "github.com/conduitio-labs/conduit-connector-salesforce/internal/salesforce/oauth" - sfSource "github.com/conduitio-labs/conduit-connector-salesforce/source" - "github.com/conduitio/conduit-commons/opencdc" - sdk "github.com/conduitio/conduit-connector-sdk" -) - -type CustomConfigurableAcceptanceTestDriver struct { - sdk.ConfigurableAcceptanceTestDriver - - streamingClient *streamingClientMock -} - -func (d *CustomConfigurableAcceptanceTestDriver) WriteToSource(_ *testing.T, records []opencdc.Record) (results []opencdc.Record) { - d.streamingClient.SetResults(records) - - // No destination connector, return wanted records - for _, record := range records { - record.Key = nil - - results = append(results, record) - } - - return -} - -func TestAcceptance(t *testing.T) { - sourceConfig := map[string]string{ - sfSource.ConfigKeyEnvironment: oauth.EnvironmentSandbox, - sfSource.ConfigKeyClientID: "client-id", - sfSource.ConfigKeyClientSecret: "client-secret", - sfSource.ConfigKeyUsername: "username", - sfSource.ConfigKeyPassword: "password", - sfSource.ConfigKeySecurityToken: "security-token", - sfSource.ConfigKeyPushTopicsNames: "MyTopic1,MyTopic2", - } - - sfSource.OAuthClientFactory = func(_ oauth.Environment, _, _, _, _, _ string) oauth.Client { - return &oAuthClientMock{} - } - - streamingClient := &streamingClientMock{} - sfSource.StreamingClientFactory = func(_, _ string) (cometd.Client, error) { - return streamingClient, nil - } - - sdk.AcceptanceTest(t, &CustomConfigurableAcceptanceTestDriver{ - ConfigurableAcceptanceTestDriver: sdk.ConfigurableAcceptanceTestDriver{ - Config: sdk.ConfigurableAcceptanceTestDriverConfig{ - Connector: sdk.Connector{ - NewSpecification: sf.Specification, - NewSource: sfSource.NewSource, - NewDestination: nil, - }, - - SourceConfig: sourceConfig, - GenerateDataType: sdk.GenerateStructuredData, - - Skip: []string{ - "TestAcceptance/TestSource_Open_ResumeAtPositionCDC", - "TestAcceptance/TestSource_Open_ResumeAtPositionSnapshot", - }, - }, - }, - - streamingClient: streamingClient, - }) -} diff --git a/cmd/connector/main.go b/cmd/connector/main.go index d9611b7..ecd0034 100644 --- a/cmd/connector/main.go +++ b/cmd/connector/main.go @@ -16,7 +16,7 @@ package main import ( sf "github.com/conduitio-labs/conduit-connector-salesforce" - sfSourcePubsub "github.com/conduitio-labs/conduit-connector-salesforce/source_pubsub" + sfSourcePubsub "github.com/conduitio-labs/conduit-connector-salesforce/source" sdk "github.com/conduitio/conduit-connector-sdk" ) diff --git a/cmd/connector/oauth_client_mock_test.go b/cmd/connector/oauth_client_mock_test.go deleted file mode 100644 index a26ef3c..0000000 --- a/cmd/connector/oauth_client_mock_test.go +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package main - -import ( - "context" - - "github.com/conduitio-labs/conduit-connector-salesforce/internal/salesforce/oauth/response" -) - -type oAuthClientMock struct{} - -func (c *oAuthClientMock) Authenticate(_ context.Context) (response.TokenResponse, error) { - return response.TokenResponse{ - AccessToken: "access-token", - InstanceURL: "hxxp://instance.url", - ID: "1", - IssuedAt: "2", - Signature: "3", - }, nil -} diff --git a/cmd/connector/streaming_client_mock_test.go b/cmd/connector/streaming_client_mock_test.go deleted file mode 100644 index b925c55..0000000 --- a/cmd/connector/streaming_client_mock_test.go +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package main - -import ( - "context" - "sync" - - "github.com/conduitio-labs/conduit-connector-salesforce/internal/cometd/responses" - "github.com/conduitio/conduit-commons/opencdc" -) - -type streamingClientMock struct { - results []opencdc.Record - lastIndex int - mutex sync.Mutex -} - -func (s *streamingClientMock) SetResults(results []opencdc.Record) { - s.mutex.Lock() - s.results = results - s.mutex.Unlock() -} - -func (s *streamingClientMock) Handshake(_ context.Context) (responses.SuccessfulHandshakeResponse, error) { - // Make Handshake always successful - return responses.SuccessfulHandshakeResponse{ - Successful: true, - }, nil -} - -func (s *streamingClientMock) Connect(_ context.Context) (responses.ConnectResponse, error) { - s.mutex.Lock() - - response := responses.ConnectResponse{ - Successful: true, - Events: make([]responses.ConnectResponseEvent, 0, len(s.results)), - } - - for _, record := range s.results { - response.Events = append(response.Events, responses.ConnectResponseEvent{ - Data: responses.ConnectResponseEventData{ - Event: responses.ConnectResponseEventDataMetadata{ - ReplayID: s.lastIndex, - }, - SObject: record.Payload.After.(opencdc.StructuredData), - }, - Channel: "MyTopic1", - }) - - s.lastIndex++ - } - - s.results = nil - - s.mutex.Unlock() - - // Make Connect always successful - return response, nil -} - -func (s *streamingClientMock) SubscribeToPushTopic(_ context.Context, pushTopic string) (responses.SubscribeResponse, error) { - // Make SubscribeToPushTopic always successful - return responses.SubscribeResponse{ - Successful: true, - Subscription: []string{pushTopic}, - }, nil -} - -func (s *streamingClientMock) UnsubscribeToPushTopic(context.Context, string) (responses.UnsubscribeResponse, error) { - // Make UnsubscribeToPushTopic always successful - return responses.UnsubscribeResponse{ - Successful: true, - }, nil -} - -func (s *streamingClientMock) Disconnect(context.Context) (responses.DisconnectResponse, error) { - // Make Disconnect always successful - return responses.DisconnectResponse{ - Successful: true, - }, nil -} diff --git a/docs/connected_app.png b/docs/connected_app.png new file mode 100644 index 0000000000000000000000000000000000000000..e9069b2bfec9ab38d79dc9be909b74932f5c1a39 GIT binary patch literal 637772 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

e(Nr1^ucXlUAL0Ws@TrYdec*z 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඿bQ2a-NDNhJUt&s;t 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 RV2NxhGs0*==mTlT= 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

}0BfCv{i`#U=8$V({DFDN8P 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 literal 0 HcmV?d00001 diff --git a/internal/cometd/client.go b/internal/cometd/client.go deleted file mode 100644 index e627c05..0000000 --- a/internal/cometd/client.go +++ /dev/null @@ -1,265 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package cometd - -import ( - "bytes" - "context" - "encoding/json" - "fmt" - "net/http" - "net/http/cookiejar" - - "github.com/conduitio-labs/conduit-connector-salesforce/internal/cometd/requests" - "github.com/conduitio-labs/conduit-connector-salesforce/internal/cometd/responses" - "github.com/conduitio-labs/conduit-connector-salesforce/internal/utils" - "golang.org/x/net/publicsuffix" -) - -type Client interface { - Handshake(ctx context.Context) (responses.SuccessfulHandshakeResponse, error) - Connect(ctx context.Context) (responses.ConnectResponse, error) - SubscribeToPushTopic(ctx context.Context, pushTopic string) (responses.SubscribeResponse, error) - UnsubscribeToPushTopic(ctx context.Context, pushTopic string) (responses.UnsubscribeResponse, error) - Disconnect(ctx context.Context) (responses.DisconnectResponse, error) -} - -func NewDefaultClient(baseURL, accessToken string) (Client, error) { - jar, err := cookiejar.New(&cookiejar.Options{ - PublicSuffixList: publicsuffix.List, - }) - if err != nil { - return nil, err - } - - return &DefaultClient{ - baseURL: baseURL, - accessToken: accessToken, - longPollClient: &http.Client{Jar: jar}, - }, nil -} - -type DefaultClient struct { - baseURL string - accessToken string - clientID string - longPollClient *http.Client -} - -// Handshake performs a handshake request. -// See: https://docs.cometd.org/current7/reference/#_bayeux_meta_handshake -func (s *DefaultClient) Handshake(ctx context.Context) (responses.SuccessfulHandshakeResponse, error) { - // Prepare and send request - responseData, err := s.httpPost(ctx, requests.HandshakeRequest{}) - if err != nil { - return responses.SuccessfulHandshakeResponse{}, err - } - - // Assume the handshake was successful - var successfulResponses []responses.SuccessfulHandshakeResponse - if err := json.Unmarshal(responseData, &successfulResponses); err == nil && len(successfulResponses) > 0 { - s.clientID = successfulResponses[0].ClientID - - return successfulResponses[0], nil - } - - // Assume the handshake was not successful - var unsuccessfulResponses []responses.UnsuccessfulHandshakeResponseError - if err := json.Unmarshal(responseData, &unsuccessfulResponses); err != nil { - return responses.SuccessfulHandshakeResponse{}, fmt.Errorf("unable to process handshake response: %w", err) - } else if len(unsuccessfulResponses) == 0 { - return responses.SuccessfulHandshakeResponse{}, fmt.Errorf("unable to process handshake response: unexpected response") - } - - return responses.SuccessfulHandshakeResponse{}, unsuccessfulResponses[0] -} - -// Connect performs a connect request. -// See: https://docs.cometd.org/current7/reference/#_bayeux_meta_connect -func (s *DefaultClient) Connect(ctx context.Context) (responses.ConnectResponse, error) { - // Prepare and send request - responseData, err := s.httpPost(ctx, requests.ConnectRequest{ - ClientID: s.clientID, - }) - if err != nil { - return responses.ConnectResponse{}, fmt.Errorf("unable to perform connect request: %w", err) - } - - // The response may contain response status alone or with additional response details. - // Cannot be unmarshalled at once - var successfulResponses []json.RawMessage - if err := json.Unmarshal(responseData, &successfulResponses); err != nil { - return responses.ConnectResponse{}, fmt.Errorf("unable to process connect response: %w", err) - } else if len(successfulResponses) == 0 { - return responses.ConnectResponse{}, fmt.Errorf("unable to process connect response: empty response") - } - - connectResponse := responses.ConnectResponse{ - Events: make([]responses.ConnectResponseEvent, 0), - } - - for _, response := range successfulResponses { - // Unmarshal to determine the type - var item map[string]interface{} - if err := json.Unmarshal(response, &item); err != nil { - return responses.ConnectResponse{}, fmt.Errorf("unable to process connect response: %w", err) - } - - // Unmarshal event data - if _, ok := item["data"].(map[string]interface{}); ok { - var event responses.ConnectResponseEvent - if err := json.Unmarshal(response, &event); err != nil { - return responses.ConnectResponse{}, fmt.Errorf("unable to process connect response: %w", err) - } - - connectResponse.Events = append(connectResponse.Events, event) - - continue - } - - // Unmarshal response data - if connectResponse.ClientID != "" { - return responses.ConnectResponse{}, fmt.Errorf("unable to process connect response: multiple responses returned by the server") - } - - if _, ok := item["successful"].(bool); ok { - if err := json.Unmarshal(response, &connectResponse); err != nil { - return responses.ConnectResponse{}, fmt.Errorf("unable to process connect response: %w", err) - } - - continue - } - - return responses.ConnectResponse{}, fmt.Errorf("unable to process connect response: unsupported repsonse data") - } - - return connectResponse, nil -} - -// SubscribeToPushTopic performs a subscribe to topic request. -// See: https://docs.cometd.org/current7/reference/#_bayeux_meta_subscribe -func (s *DefaultClient) SubscribeToPushTopic(ctx context.Context, pushTopic string) (responses.SubscribeResponse, error) { - // Prepare and send request - responseData, err := s.httpPost(ctx, requests.SubscribePushTopicRequest{ - ClientID: s.clientID, - PushTopic: pushTopic, - }) - if err != nil { - return responses.SubscribeResponse{}, fmt.Errorf("unable to perform subscribe request: %w", err) - } - - // Assume is subscribed - var successfulResponses []responses.SubscribeResponse - if err := json.Unmarshal(responseData, &successfulResponses); err != nil { - return responses.SubscribeResponse{}, fmt.Errorf("unable to process subscribe response: %w", err) - } else if len(successfulResponses) == 0 { - return responses.SubscribeResponse{}, fmt.Errorf("unable to process subscribe response: empty response") - } - - return successfulResponses[0], nil -} - -// UnsubscribeToPushTopic performs a unsubscribe from topic request. -// See: https://docs.cometd.org/current7/reference/#_bayeux_meta_unsubscribe -func (s *DefaultClient) UnsubscribeToPushTopic(ctx context.Context, pushTopic string) (responses.UnsubscribeResponse, error) { - // Prepare and send request - responseData, err := s.httpPost(ctx, requests.UnsubscribePushTopicRequest{ - ClientID: s.clientID, - PushTopic: pushTopic, - }) - if err != nil { - return responses.UnsubscribeResponse{}, fmt.Errorf("unable to perform unsubscribe request: %w", err) - } - - // Assert is unsubscribed - var successfulResponses []responses.UnsubscribeResponse - if err := json.Unmarshal(responseData, &successfulResponses); err != nil { - return responses.UnsubscribeResponse{}, fmt.Errorf("unable to process unsubscribe response: %w", err) - } else if len(successfulResponses) == 0 { - return responses.UnsubscribeResponse{}, fmt.Errorf("unable to process unsubscribe response: empty response") - } - - return successfulResponses[0], nil -} - -// Disconnect performs a disconnect request. -// See: https://docs.cometd.org/current7/reference/#_bayeux_meta_disconnect -func (s *DefaultClient) Disconnect(ctx context.Context) (responses.DisconnectResponse, error) { - // Prepare and send request - responseData, err := s.httpPost(ctx, requests.DisconnectRequest{ - ClientID: s.clientID, - }) - if err != nil { - return responses.DisconnectResponse{}, fmt.Errorf("unable to perform disconnect request: %w", err) - } - - // Assert is disconnected - var successfulResponses []responses.DisconnectResponse - if err := json.Unmarshal(responseData, &successfulResponses); err != nil { - return responses.DisconnectResponse{}, fmt.Errorf("unable to process disconnect response: %w", err) - } else if len(successfulResponses) == 0 { - return responses.DisconnectResponse{}, fmt.Errorf("unable to process disconnect response: empty response") - } - - return successfulResponses[0], nil -} - -// httpPost sends a POST request to the CometD server. -func (s *DefaultClient) httpPost(ctx context.Context, payload requests.Request) ([]byte, error) { - // Prepare the payload - requestData, err := payload.MarshalJSON() - if err != nil { - return nil, err - } - - var buff bytes.Buffer - buff.Write(requestData) - - // Prepare the Request - request, err := http.NewRequestWithContext( - ctx, - "POST", - s.baseURL, - &buff, - ) - if err != nil { - return nil, err - } - - // Add headers - request.Header.Set("Authorization", fmt.Sprintf("OAuth %s", s.accessToken)) - request.Header.Set("Accept", "application/json") - request.Header.Set("Accept-Encoding", "gzip;q=1.0, *;q=0.1") - request.Header.Set("Content-Type", "application/json") - request.Header.Set("User-Agent", "ConduitIO/Salesforce-v0.1.0") - - // Execute the Request - resp, err := s.longPollClient.Do(request) - if err != nil { - return nil, err - } - - // Read the body - respBytes, err := utils.DecodeHTTPResponse(resp) - if err != nil { - return nil, fmt.Errorf("could not read response data: %w", err) - } - - if err := resp.Body.Close(); err != nil { - return nil, fmt.Errorf("could not read response data: %w", err) - } - - return respBytes, nil -} diff --git a/internal/cometd/requests/connect.go b/internal/cometd/requests/connect.go deleted file mode 100644 index 9b19d37..0000000 --- a/internal/cometd/requests/connect.go +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package requests - -import "encoding/json" - -// ConnectRequest represents connection request. -// See: https://docs.cometd.org/current7/reference/#_connect_request -type ConnectRequest struct { - // ClientID is the client ID returned in the handshake response - ClientID string -} - -func (r ConnectRequest) MarshalJSON() ([]byte, error) { - return json.Marshal(map[string]interface{}{ - "channel": "/meta/connect", - "clientId": r.ClientID, - "connectionType": "long-polling", - }) -} diff --git a/internal/cometd/requests/disconnect.go b/internal/cometd/requests/disconnect.go deleted file mode 100644 index 1272e2b..0000000 --- a/internal/cometd/requests/disconnect.go +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package requests - -import ( - "encoding/json" -) - -// DisconnectRequest represents disconnection request. -// See: https://docs.cometd.org/current7/reference/#_disconnect_request -type DisconnectRequest struct { - // ClientID is the client ID returned in the handshake response - ClientID string -} - -func (r DisconnectRequest) MarshalJSON() ([]byte, error) { - return json.Marshal(map[string]interface{}{ - "channel": "/meta/disconnect", - "clientId": r.ClientID, - }) -} diff --git a/internal/cometd/requests/handshake.go b/internal/cometd/requests/handshake.go deleted file mode 100644 index 7d1d587..0000000 --- a/internal/cometd/requests/handshake.go +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package requests - -import "encoding/json" - -// HandshakeRequest represents handshake request. -// See: https://docs.cometd.org/current7/reference/#_handshake_request -type HandshakeRequest struct{} - -func (r HandshakeRequest) MarshalJSON() ([]byte, error) { - return json.Marshal(map[string]interface{}{ - "version": "1.0", - "minimumVersion": "1.0", - "channel": "/meta/handshake", - "supportedConnectionTypes": []string{ - "long-polling", - }, - }) -} diff --git a/internal/cometd/requests/interface.go b/internal/cometd/requests/interface.go deleted file mode 100644 index 0581703..0000000 --- a/internal/cometd/requests/interface.go +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package requests - -import "encoding/json" - -// Request is a common interface for CometD requests. -type Request interface { - json.Marshaler -} diff --git a/internal/cometd/requests/subscribe_push_topic.go b/internal/cometd/requests/subscribe_push_topic.go deleted file mode 100644 index 684913f..0000000 --- a/internal/cometd/requests/subscribe_push_topic.go +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package requests - -import ( - "encoding/json" - "fmt" -) - -// SubscribePushTopicRequest represents subscribing to push topic request. -// See: https://docs.cometd.org/current7/reference/#_subscribe_request -type SubscribePushTopicRequest struct { - // ClientID is the client ID returned in the handshake response - ClientID string - - // PushTopic is a channel name to subscribe to. - // Will be prefixed with `/topic/` value. - PushTopic string -} - -func (r SubscribePushTopicRequest) MarshalJSON() ([]byte, error) { - return json.Marshal(map[string]interface{}{ - "channel": "/meta/subscribe", - "clientId": r.ClientID, - "subscription": fmt.Sprintf("/topic/%s", r.PushTopic), - }) -} diff --git a/internal/cometd/requests/unsubscribe_push_topic.go b/internal/cometd/requests/unsubscribe_push_topic.go deleted file mode 100644 index 747befa..0000000 --- a/internal/cometd/requests/unsubscribe_push_topic.go +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package requests - -import ( - "encoding/json" - "fmt" -) - -// UnsubscribePushTopicRequest represents unsubscribing to push topic request. -// See: https://docs.cometd.org/current7/reference/#_unsubscribe_request -type UnsubscribePushTopicRequest struct { - // ClientID is the client ID returned in the handshake response - ClientID string - - // PushTopic is a channel name to unsubscribe from. - // Will be prefixed with `/topic/` value. - PushTopic string -} - -func (r UnsubscribePushTopicRequest) MarshalJSON() ([]byte, error) { - return json.Marshal(map[string]interface{}{ - "channel": "/meta/unsubscribe", - "clientId": r.ClientID, - "subscription": fmt.Sprintf("/topic/%s", r.PushTopic), - }) -} diff --git a/internal/cometd/responses/advice.go b/internal/cometd/responses/advice.go deleted file mode 100644 index f965779..0000000 --- a/internal/cometd/responses/advice.go +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package responses - -type AdviceReconnect string - -const ( - AdviceReconnectRetry AdviceReconnect = "retry" - AdviceReconnectHandshake AdviceReconnect = "handshake" - AdviceReconnectNone AdviceReconnect = "none" -) - -// advice provides a way for servers to inform clients of their preferred mode of client operation so that in conjunction with server-enforced limits, Bayeux implementations can prevent resource exhaustion and inelegant failure modes. -// See: https://docs.cometd.org/current7/reference/#_bayeux_advice -type advice struct { - // Reconnect indicates how the client should act in the case of a failure to connect. - // See: https://docs.cometd.org/current7/reference/#_reconnect_advice_field - Reconnect AdviceReconnect `json:"reconnect,omitempty"` - - // Timeout represents the period of time, in milliseconds, for the server to delay responses to the `/meta/connect` channel. - // See: https://docs.cometd.org/current7/reference/#_timeout_advice_field - Timeout int `json:"timeout,omitempty"` - - // Interval represents the minimum period of time, in milliseconds, for a client to delay subsequent requests to the `/meta/connect` channel. - // A negative period indicates that the message should not be retried. - // See: https://docs.cometd.org/current7/reference/#_interval_advice_field - Interval int `json:"interval,omitempty"` - - // MultipleClients is a boolean field, which when true indicates that the server has detected multiple Bayeux client instances running within the same web client. - // See: https://docs.cometd.org/current7/reference/#_bayeux_multiple_clients_advice - MultipleClients bool `json:"multiple-clients,omitempty"` - - // Hosts when present, indicates a list of host names or IP addresses that MAY be used as alternate servers with which the client may connect. - // See: https://docs.cometd.org/current7/reference/#_hosts_advice_field - Hosts []string `json:"hosts,omitempty"` -} diff --git a/internal/cometd/responses/connect.go b/internal/cometd/responses/connect.go deleted file mode 100644 index fc9d359..0000000 --- a/internal/cometd/responses/connect.go +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package responses - -import "time" - -// ConnectResponse represents connection response. -// See: https://docs.cometd.org/current7/reference/#_connect_response -type ConnectResponse struct { - // Channel value MUST be `/meta/connect` - Channel string `json:"channel"` - - // Successful is a boolean indicating the success or failure of the connection - Successful bool `json:"successful"` - - // Error is a description of the reason for the failure - Error string `json:"error,omitempty"` - - // Advice is the `advice` object - Advice *advice `json:"advice,omitempty"` - - // Ext is the `ext` object - Ext *ext `json:"ext,omitempty"` - - // ClientID is the client ID returned in the handshake response - ClientID string `json:"clientId,omitempty"` - - // ID is the same value as request message id - ID string `json:"id,omitempty"` - - // Events is an array of data returned in the response - Events []ConnectResponseEvent -} - -type ConnectResponseEventType = string - -const ( - CreatedEventType = "created" - UpdatedEventType = "updated" - DeletedEventType = "deleted" - UndeletedEventType = "undeleted" -) - -// ConnectResponseEvent represents single piece of data returned in connect response. -type ConnectResponseEvent struct { - Data ConnectResponseEventData `json:"data"` - Channel string `json:"channel"` -} - -type ConnectResponseEventData struct { - Event ConnectResponseEventDataMetadata `json:"event"` - SObject map[string]interface{} `json:"sobject"` -} - -type ConnectResponseEventDataMetadata struct { - CreatedDate time.Time `json:"createdDate"` - ReplayID int `json:"replayId"` - - // Type denotes creation, update, delete, or undelete of a record - // See: https://developer.salesforce.com/docs/atlas.en-us.236.0.api_streaming.meta/api_streaming/terms.htm - Type ConnectResponseEventType `json:"type"` -} diff --git a/internal/cometd/responses/disconnect.go b/internal/cometd/responses/disconnect.go deleted file mode 100644 index 2a04366..0000000 --- a/internal/cometd/responses/disconnect.go +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package responses - -// DisconnectResponse represents disconnection response. -// See: https://docs.cometd.org/current7/reference/#_disconnect_response -type DisconnectResponse struct { - // Channel value MUST be `/meta/disconnect` - Channel string `json:"channel"` - - // Successful is a boolean indicating the success or failure of the disconnect request - Successful bool `json:"successful"` - - // ClientID is the client ID returned in the handshake response - ClientID string `json:"clientId,omitempty"` - - // Error is a description of the reason for the failure - Error string `json:"error,omitempty"` - - // Ext is the `ext` object - Ext *ext `json:"ext,omitempty"` - - // ID is the same value as request message id - ID string `json:"id,omitempty"` -} diff --git a/internal/cometd/responses/ext.go b/internal/cometd/responses/ext.go deleted file mode 100644 index 98151fd..0000000 --- a/internal/cometd/responses/ext.go +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package responses - -// ext is an arbitrary values that allow extensions to be negotiated and implemented between server and client implementations. -// See: https://docs.cometd.org/current7/reference/#_bayeux_ext -type ext map[string]interface{} diff --git a/internal/cometd/responses/subscribe.go b/internal/cometd/responses/subscribe.go deleted file mode 100644 index 326f78a..0000000 --- a/internal/cometd/responses/subscribe.go +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package responses - -import "fmt" - -// SubscribeResponse represents subscription response. -// See: https://docs.cometd.org/current7/reference/#_subscribe_response -type SubscribeResponse struct { - // Channel value MUST be `/meta/subscribe` - Channel string `json:"channel"` - - // Successful is a boolean indicating the success or failure of the subscription operation - Successful bool `json:"successful"` - - // Subscription is a channel name, or a channel pattern, or an array of channel names and channel patterns. - Subscription interface{} `json:"subscription"` - - // Error is a description of the reason for the failure - Error string `json:"error,omitempty"` - - // Advice is the `advice` object - Advice *advice `json:"advice,omitempty"` - - // Ext is the `ext` object - Ext *ext `json:"ext,omitempty"` - - // ClientID is the client ID returned in the handshake response - ClientID string `json:"clientId,omitempty"` - - // ID is the same value as request message id - ID string `json:"id,omitempty"` -} - -// GetSubscriptions returns an array of channel names or patterns. -// It converts single, string response with subscription name or pattern into a slice. -func (s SubscribeResponse) GetSubscriptions() []string { - switch subscription := s.Subscription.(type) { - case string: - return []string{subscription} - - case []string: - return subscription - } - - panic(fmt.Errorf("unexpected subscriptions data: %#v", s.Subscription)) -} diff --git a/internal/cometd/responses/subscribe_test.go b/internal/cometd/responses/subscribe_test.go deleted file mode 100644 index 18b1461..0000000 --- a/internal/cometd/responses/subscribe_test.go +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package responses - -import ( - "fmt" - "testing" - - "github.com/jaswdr/faker" - "github.com/stretchr/testify/require" -) - -func TestSubscribeResponse_GetSubscriptions(t *testing.T) { - fakerInstance := faker.New() - - t.Run("panics when unsupported type is provided", func(t *testing.T) { - subscription := fakerInstance.Int() - - response := SubscribeResponse{ - Subscription: subscription, - } - - require.PanicsWithError(t, fmt.Sprintf("unexpected subscriptions data: %d", subscription), func() { - response.GetSubscriptions() - }) - }) - - t.Run("slice with one element is returned when Subscription is string", func(t *testing.T) { - subscription := fakerInstance.Lorem().Sentence(3) - - response := SubscribeResponse{ - Subscription: subscription, - } - - subscriptions := response.GetSubscriptions() - - require.Len(t, subscriptions, 1) - require.Equal(t, subscriptions[0], subscription) - }) - - t.Run("slice with all elements is returned when Subscription is slice", func(t *testing.T) { - subscription := []string{ - fakerInstance.Lorem().Sentence(3), - fakerInstance.Lorem().Sentence(4), - fakerInstance.Lorem().Sentence(5), - } - - response := SubscribeResponse{ - Subscription: subscription, - } - - subscriptions := response.GetSubscriptions() - - require.Len(t, subscriptions, 3) - require.Equal(t, subscriptions[0], subscription[0]) - require.Equal(t, subscriptions[1], subscription[1]) - require.Equal(t, subscriptions[2], subscription[2]) - }) -} diff --git a/internal/cometd/responses/successful_handshake.go b/internal/cometd/responses/successful_handshake.go deleted file mode 100644 index 34f6bf8..0000000 --- a/internal/cometd/responses/successful_handshake.go +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package responses - -// SuccessfulHandshakeResponse represents the handshake success response. -// See: https://docs.cometd.org/current7/reference/#_successful_handshake_response -type SuccessfulHandshakeResponse struct { - // Channel value MUST be `/meta/handshake` - Channel string `json:"channel"` - - // Version is the version of the protocol that was negotiated - Version string `json:"version"` - - // SupportedConnectionTypes is a list of connection types supported by the server for the purposes of the connection being negotiated - SupportedConnectionTypes []string `json:"supportedConnectionTypes,omitempty"` - - // ClientID is a newly generated unique ID string - ClientID string `json:"clientId"` - - // Successful value is `true` - Successful bool `json:"successful"` - - // MinimumVersion defines minimum version of the protocol supported by the server - MinimumVersion string `json:"minimumVersion,omitempty"` - - // Advice is the `advice` object - Advice *advice `json:"advice,omitempty"` - - // Ext is the `ext` object - Ext *ext `json:"ext,omitempty"` - - // ID is the same value as request message id - ID string `json:"id,omitempty"` - - // AuthSuccessful value is `true`. - // This field MAY be included to support prototype client implementations that required the authSuccessful field - AuthSuccessful bool `json:"authSuccessful,omitempty"` -} diff --git a/internal/cometd/responses/unsubscribe.go b/internal/cometd/responses/unsubscribe.go deleted file mode 100644 index a32cb38..0000000 --- a/internal/cometd/responses/unsubscribe.go +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package responses - -import "fmt" - -// UnsubscribeResponse represents subscription removal response. -// See: https://docs.cometd.org/current7/reference/#_unsubscribe_response -type UnsubscribeResponse struct { - // Channel value MUST be `/meta/unsubscribe` - Channel string `json:"channel"` - - // Successful is a boolean indicating the success or failure of the unsubscribe operation - Successful bool `json:"successful"` - - // Subscription is a channel name, or a channel pattern, or an array of channel names and channel patterns. - Subscription interface{} `json:"subscription"` - - // Error is a description of the reason for the failure - Error string `json:"error,omitempty"` - - // Advice is the `advice` object - Advice *advice `json:"advice,omitempty"` - - // Ext is the `ext` object - Ext *ext `json:"ext,omitempty"` - - // ClientID is the client ID returned in the handshake response - ClientID string `json:"clientId,omitempty"` - - // ID is the same value as request message id - ID string `json:"id,omitempty"` -} - -// GetSubscriptions returns an array of channel names or patterns. -// It converts single, string response with subscription name or pattern into a slice. -func (s UnsubscribeResponse) GetSubscriptions() []string { - switch subscription := s.Subscription.(type) { - case string: - return []string{subscription} - - case []string: - return subscription - } - - panic(fmt.Errorf("unexpected subscriptions data: %#v", s.Subscription)) -} diff --git a/internal/cometd/responses/unsubscribe_test.go b/internal/cometd/responses/unsubscribe_test.go deleted file mode 100644 index 1604a78..0000000 --- a/internal/cometd/responses/unsubscribe_test.go +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package responses - -import ( - "fmt" - "testing" - - "github.com/jaswdr/faker" - "github.com/stretchr/testify/require" -) - -func TestUnsubscribeResponse_GetSubscriptions(t *testing.T) { - fakerInstance := faker.New() - - t.Run("panics when unsupported type is provided", func(t *testing.T) { - subscription := fakerInstance.Int() - - response := UnsubscribeResponse{ - Subscription: subscription, - } - - require.PanicsWithError(t, fmt.Sprintf("unexpected subscriptions data: %d", subscription), func() { - response.GetSubscriptions() - }) - }) - - t.Run("slice with one element is returned when Subscription is string", func(t *testing.T) { - subscription := fakerInstance.Lorem().Sentence(3) - - response := UnsubscribeResponse{ - Subscription: subscription, - } - - subscriptions := response.GetSubscriptions() - - require.Len(t, subscriptions, 1) - require.Equal(t, subscriptions[0], subscription) - }) - - t.Run("slice with all elements is returned when Subscription is slice", func(t *testing.T) { - subscription := []string{ - fakerInstance.Lorem().Sentence(3), - fakerInstance.Lorem().Sentence(4), - fakerInstance.Lorem().Sentence(5), - } - - response := UnsubscribeResponse{ - Subscription: subscription, - } - - subscriptions := response.GetSubscriptions() - - require.Len(t, subscriptions, 3) - require.Equal(t, subscriptions[0], subscription[0]) - require.Equal(t, subscriptions[1], subscription[1]) - require.Equal(t, subscriptions[2], subscription[2]) - }) -} diff --git a/internal/cometd/responses/unsuccessful_handshake.go b/internal/cometd/responses/unsuccessful_handshake.go deleted file mode 100644 index 5eec16f..0000000 --- a/internal/cometd/responses/unsuccessful_handshake.go +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package responses - -// UnsuccessfulHandshakeResponseError represents the handshake failure response. -// See: https://docs.cometd.org/current7/reference/#_unsuccessful_handshake_response -type UnsuccessfulHandshakeResponseError struct { - // Channel value MUST be `/meta/handshake` - Channel string `json:"channel"` - - // Successful value is `false` - Successful bool `json:"successful"` - - // ErrorDetails is a description of the reason for the failure - ErrorDetails string `json:"error"` - - // SupportedConnectionTypes is a list of connection types supported by the server for the purposes of the connection being negotiated - SupportedConnectionTypes []string `json:"supportedConnectionTypes,omitempty"` - - // Advice is the `advice` object - Advice *advice `json:"advice,omitempty"` - - // Version is the version of the protocol that was negotiated - Version string `json:"version,omitempty"` - - // MinimumVersion defines minimum version of the protocol supported by the server - MinimumVersion string `json:"minimumVersion,omitempty"` - - // Ext is the `ext` object - Ext *ext `json:"ext,omitempty"` - - // ID is the same value as request message id - ID string `json:"id,omitempty"` -} - -func (e UnsuccessfulHandshakeResponseError) Error() string { - return e.ErrorDetails -} diff --git a/internal/cometd/responses/unsuccessful_handshake_test.go b/internal/cometd/responses/unsuccessful_handshake_test.go deleted file mode 100644 index 7c3c1ed..0000000 --- a/internal/cometd/responses/unsuccessful_handshake_test.go +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package responses - -import ( - "testing" - - "github.com/jaswdr/faker" - "github.com/stretchr/testify/require" -) - -func TestUnsuccessfulHandshakeResponseError_Error(t *testing.T) { - fakerInstance := faker.New() - - t.Run("test", func(t *testing.T) { - errorDetails := fakerInstance.Lorem().Sentence(6) - - response := UnsuccessfulHandshakeResponseError{ErrorDetails: errorDetails} - - require.EqualError(t, response, errorDetails) - }) -} diff --git a/internal/operation.go b/internal/operation.go deleted file mode 100644 index 3f2e380..0000000 --- a/internal/operation.go +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package internal - -type Operation = string - -// Below is a list of all supported operations. -// These come from Record's Metadata["action"] field, and they instruct the connector how the Record should be handled. -// See: https://github.com/ConduitIO/conduit/blob/main/docs/design-documents/20220309-opencdc.md#changes-to-record -const ( - OperationInsert Operation = "insert" - OperationUpdate Operation = "update" - OperationDelete Operation = "delete" -) diff --git a/internal/salesforce/oauth/client.go b/internal/salesforce/oauth/client.go deleted file mode 100644 index 3a021e1..0000000 --- a/internal/salesforce/oauth/client.go +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package oauth - -import ( - "context" - "encoding/json" - "fmt" - "net/http" - "net/url" - "strings" - - "github.com/conduitio-labs/conduit-connector-salesforce/internal/salesforce/oauth/response" - "github.com/conduitio-labs/conduit-connector-salesforce/internal/utils" -) - -type Environment = string - -const ( - EnvironmentSandbox Environment = "sandbox" - - grantType = "password" - loginURI = "https://login.salesforce.com/services/oauth2/token" - testLoginURI = "https://test.salesforce.com/services/oauth2/token" -) - -// skip go:generate moq -out client_moq_test.go . Client. -type Client interface { - Authenticate(ctx context.Context) (response.TokenResponse, error) -} - -func NewDefaultClient( - environment Environment, - clientID string, - clientSecret string, - username string, - password string, - securityToken string, -) Client { - return &DefaultClient{ - httpClient: http.DefaultClient, - environment: environment, - clientID: clientID, - clientSecret: clientSecret, - username: username, - password: password, - securityToken: securityToken, - } -} - -type DefaultClient struct { - httpClient httpClient - environment Environment - clientID string - clientSecret string - username string - password string - securityToken string -} - -// skip go:generate moq -out http_client_moq_test.go . httpClient. -type httpClient interface { - Do(req *http.Request) (*http.Response, error) -} - -// Authenticate attempts to authenticate the client with given credentials. -func (a *DefaultClient) Authenticate(ctx context.Context) (response.TokenResponse, error) { - // Prepare request payload - payload := url.Values{ - "grant_type": {grantType}, - "client_id": {a.clientID}, - "client_secret": {a.clientSecret}, - "username": {a.username}, - "password": {fmt.Sprintf("%v%v", a.password, a.securityToken)}, - } - - // Build URI - uri := loginURI - if EnvironmentSandbox == a.environment { - uri = testLoginURI - } - - // Build Body - body := strings.NewReader(payload.Encode()) - - // Build Request - req, err := http.NewRequestWithContext(ctx, "POST", uri, body) - if err != nil { - return response.TokenResponse{}, fmt.Errorf("failed to prepare authentication request: %w", err) - } - - // Add Headers - req.Header.Set("Accept", "application/json") - req.Header.Set("Accept-Encoding", "gzip;q=1.0, *;q=0.1") - req.Header.Set("Content-Type", "application/x-www-form-urlencoded") - req.Header.Set("User-Agent", "ConduitIO/Salesforce-v0.1.0") - - // Execute Request - resp, err := a.httpClient.Do(req) - if err != nil { - return response.TokenResponse{}, fmt.Errorf("failed to send authentication request: %w", err) - } - - // Read the body - respBytes, err := utils.DecodeHTTPResponse(resp) - if err != nil { - return response.TokenResponse{}, fmt.Errorf("could not read response data: %w", err) - } - - if err := resp.Body.Close(); err != nil { - return response.TokenResponse{}, fmt.Errorf("could not read response data: %w", err) - } - - // Attempt to parse successful response - var token response.TokenResponse - if err := json.Unmarshal(respBytes, &token); err == nil && token.AccessToken != "" && token.InstanceURL != "" { - return token, nil - } - - // Attempt to parse failure response - authFailureResponse := response.FailureResponseError{} - if err := json.Unmarshal(respBytes, &authFailureResponse); err != nil { - return response.TokenResponse{}, fmt.Errorf("unable to process authentication response: %w", err) - } - - return response.TokenResponse{}, authFailureResponse -} diff --git a/internal/salesforce/oauth/client_test.go b/internal/salesforce/oauth/client_test.go deleted file mode 100644 index e33c01a..0000000 --- a/internal/salesforce/oauth/client_test.go +++ /dev/null @@ -1,450 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package oauth - -import ( - "bytes" - "context" - "encoding/json" - "errors" - "fmt" - "io" - "net/http" - "net/url" - "strings" - "testing" - - "github.com/conduitio-labs/conduit-connector-salesforce/internal/salesforce/oauth/response" - "github.com/jaswdr/faker" - "github.com/stretchr/testify/require" -) - -func TestNewClient(t *testing.T) { - fakerInstance := faker.New() - - t.Run("New Client can be created", func(t *testing.T) { - var ( - environment = fakerInstance.Lorem().Word() - clientID = fakerInstance.RandomStringWithLength(32) - clientSecret = fakerInstance.RandomStringWithLength(32) - username = fakerInstance.Lorem().Sentence(6) - password = fakerInstance.Lorem().Sentence(6) - securityToken = fakerInstance.RandomStringWithLength(32) - ) - - client := NewDefaultClient( - environment, - clientID, - clientSecret, - username, - password, - securityToken, - ).(*DefaultClient) - - require.IsType(t, &DefaultClient{}, client) - require.Same(t, http.DefaultClient, client.httpClient) - require.Equal(t, environment, client.environment) - require.Equal(t, clientID, client.clientID) - require.Equal(t, clientSecret, client.clientSecret) - require.Equal(t, username, client.username) - require.Equal(t, password, client.password) - require.Equal(t, securityToken, client.securityToken) - }) -} - -func TestClient_Authenticate(t *testing.T) { - fakerInstance := faker.New() - - t.Run("Returns error when request fails", func(t *testing.T) { - var ( - environment = fakerInstance.Lorem().Word() - clientID = fakerInstance.RandomStringWithLength(32) - clientSecret = fakerInstance.RandomStringWithLength(32) - username = fakerInstance.Lorem().Sentence(6) - password = fakerInstance.Lorem().Sentence(6) - securityToken = fakerInstance.RandomStringWithLength(32) - ) - - hcMock := httpClientMock{ - DoFunc: func(req *http.Request) (*http.Response, error) { - require.Equal(t, loginURI, req.URL.String()) - - body, err := req.GetBody() - require.NoError(t, err) - - allBody, err := io.ReadAll(body) - require.NoError(t, err) - - parsedQuery, err := url.ParseQuery(string(allBody)) - require.NoError(t, err) - require.Equal(t, grantType, parsedQuery["grant_type"][0]) - require.Equal(t, clientID, parsedQuery["client_id"][0]) - require.Equal(t, clientSecret, parsedQuery["client_secret"][0]) - require.Equal(t, username, parsedQuery["username"][0]) - require.Equal(t, fmt.Sprintf("%s%s", password, securityToken), parsedQuery["password"][0]) - - return nil, errors.New("request failed") - }, - } - - client := DefaultClient{ - httpClient: &hcMock, - environment: environment, - clientID: clientID, - clientSecret: clientSecret, - username: username, - password: password, - securityToken: securityToken, - } - - _, err := client.Authenticate(context.TODO()) - require.EqualError(t, err, "failed to send authentication request: request failed") - - require.Len(t, hcMock.DoCalls(), 1) - }) - - t.Run("Returns error when request returns unsupported encoding", func(t *testing.T) { - var ( - environment = fakerInstance.Lorem().Word() - clientID = fakerInstance.RandomStringWithLength(32) - clientSecret = fakerInstance.RandomStringWithLength(32) - username = fakerInstance.Lorem().Sentence(6) - password = fakerInstance.Lorem().Sentence(6) - securityToken = fakerInstance.RandomStringWithLength(32) - contentEncoding = fakerInstance.Lorem().Sentence(2) - ) - - hcMock := httpClientMock{ - DoFunc: func(req *http.Request) (*http.Response, error) { - require.Equal(t, loginURI, req.URL.String()) - - body, err := req.GetBody() - require.NoError(t, err) - - allBody, err := io.ReadAll(body) - require.NoError(t, err) - - parsedQuery, err := url.ParseQuery(string(allBody)) - require.NoError(t, err) - require.Equal(t, grantType, parsedQuery["grant_type"][0]) - require.Equal(t, clientID, parsedQuery["client_id"][0]) - require.Equal(t, clientSecret, parsedQuery["client_secret"][0]) - require.Equal(t, username, parsedQuery["username"][0]) - require.Equal(t, fmt.Sprintf("%s%s", password, securityToken), parsedQuery["password"][0]) - - return &http.Response{ - Header: http.Header{ - "Content-Encoding": {contentEncoding}, - }, - }, nil - }, - } - - client := DefaultClient{ - httpClient: &hcMock, - environment: environment, - clientID: clientID, - clientSecret: clientSecret, - username: username, - password: password, - securityToken: securityToken, - } - - _, err := client.Authenticate(context.TODO()) - require.EqualError(t, err, fmt.Sprintf("could not read response data: unsupported encoding %q", contentEncoding)) - - require.Len(t, hcMock.DoCalls(), 1) - }) - - t.Run("Returns error when request body could not be parsed as FailureResponseError", func(t *testing.T) { - var ( - environment = fakerInstance.Lorem().Word() - clientID = fakerInstance.RandomStringWithLength(32) - clientSecret = fakerInstance.RandomStringWithLength(32) - username = fakerInstance.Lorem().Sentence(6) - password = fakerInstance.Lorem().Sentence(6) - securityToken = fakerInstance.RandomStringWithLength(32) - ) - - hcMock := httpClientMock{ - DoFunc: func(req *http.Request) (*http.Response, error) { - require.Equal(t, loginURI, req.URL.String()) - - body, err := req.GetBody() - require.NoError(t, err) - - allBody, err := io.ReadAll(body) - require.NoError(t, err) - - parsedQuery, err := url.ParseQuery(string(allBody)) - require.NoError(t, err) - require.Equal(t, grantType, parsedQuery["grant_type"][0]) - require.Equal(t, clientID, parsedQuery["client_id"][0]) - require.Equal(t, clientSecret, parsedQuery["client_secret"][0]) - require.Equal(t, username, parsedQuery["username"][0]) - require.Equal(t, fmt.Sprintf("%s%s", password, securityToken), parsedQuery["password"][0]) - - return &http.Response{ - Body: io.NopCloser(strings.NewReader("nil")), - }, nil - }, - } - - client := DefaultClient{ - httpClient: &hcMock, - environment: environment, - clientID: clientID, - clientSecret: clientSecret, - username: username, - password: password, - securityToken: securityToken, - } - - _, err := client.Authenticate(context.TODO()) - require.EqualError(t, err, "unable to process authentication response: invalid character 'i' in literal null (expecting 'u')") - - require.Len(t, hcMock.DoCalls(), 1) - }) - - t.Run("Returns error when request body could not be parsed as FailureResponseError 2", func(t *testing.T) { - var ( - environment = fakerInstance.Lorem().Word() - clientID = fakerInstance.RandomStringWithLength(32) - clientSecret = fakerInstance.RandomStringWithLength(32) - username = fakerInstance.Lorem().Sentence(6) - password = fakerInstance.Lorem().Sentence(6) - securityToken = fakerInstance.RandomStringWithLength(32) - closeErrorReason = fakerInstance.Lorem().Sentence(6) - ) - - hcMock := httpClientMock{ - DoFunc: func(req *http.Request) (*http.Response, error) { - require.Equal(t, loginURI, req.URL.String()) - - body, err := req.GetBody() - require.NoError(t, err) - - allBody, err := io.ReadAll(body) - require.NoError(t, err) - - parsedQuery, err := url.ParseQuery(string(allBody)) - require.NoError(t, err) - require.Equal(t, grantType, parsedQuery["grant_type"][0]) - require.Equal(t, clientID, parsedQuery["client_id"][0]) - require.Equal(t, clientSecret, parsedQuery["client_secret"][0]) - require.Equal(t, username, parsedQuery["username"][0]) - require.Equal(t, fmt.Sprintf("%s%s", password, securityToken), parsedQuery["password"][0]) - - return &http.Response{ - Body: NewFailedReadCloserMock(strings.NewReader("nil"), errors.New(closeErrorReason)), - }, nil - }, - } - - client := DefaultClient{ - httpClient: &hcMock, - environment: environment, - clientID: clientID, - clientSecret: clientSecret, - username: username, - password: password, - securityToken: securityToken, - } - - _, err := client.Authenticate(context.TODO()) - require.EqualError(t, err, fmt.Sprintf("could not read response data: %s", closeErrorReason)) - - require.Len(t, hcMock.DoCalls(), 1) - }) - - t.Run("Returns FailureResponseError when request body could be parsed", func(t *testing.T) { - var ( - environment = fakerInstance.Lorem().Word() - clientID = fakerInstance.RandomStringWithLength(32) - clientSecret = fakerInstance.RandomStringWithLength(32) - username = fakerInstance.Lorem().Sentence(6) - password = fakerInstance.Lorem().Sentence(6) - securityToken = fakerInstance.RandomStringWithLength(32) - responseError = response.FailureResponseError{ - ErrorName: fakerInstance.Lorem().Sentence(3), - ErrorDescription: fakerInstance.Lorem().Sentence(6), - } - ) - - hcMock := httpClientMock{ - DoFunc: func(req *http.Request) (*http.Response, error) { - require.Equal(t, loginURI, req.URL.String()) - - body, err := req.GetBody() - require.NoError(t, err) - - allBody, err := io.ReadAll(body) - require.NoError(t, err) - - parsedQuery, err := url.ParseQuery(string(allBody)) - require.NoError(t, err) - require.Equal(t, grantType, parsedQuery["grant_type"][0]) - require.Equal(t, clientID, parsedQuery["client_id"][0]) - require.Equal(t, clientSecret, parsedQuery["client_secret"][0]) - require.Equal(t, username, parsedQuery["username"][0]) - require.Equal(t, fmt.Sprintf("%s%s", password, securityToken), parsedQuery["password"][0]) - - payload, err := json.Marshal(responseError) - require.NoError(t, err) - - return &http.Response{ - Body: io.NopCloser(bytes.NewReader(payload)), - }, nil - }, - } - - client := DefaultClient{ - httpClient: &hcMock, - environment: environment, - clientID: clientID, - clientSecret: clientSecret, - username: username, - password: password, - securityToken: securityToken, - } - - _, err := client.Authenticate(context.TODO()) - require.Equal(t, responseError, err) - - require.Len(t, hcMock.DoCalls(), 1) - }) - - t.Run("Returns TokenResponse when request was successful", func(t *testing.T) { - var ( - environment = fakerInstance.Lorem().Word() - clientID = fakerInstance.RandomStringWithLength(32) - clientSecret = fakerInstance.RandomStringWithLength(32) - username = fakerInstance.Lorem().Sentence(6) - password = fakerInstance.Lorem().Sentence(6) - securityToken = fakerInstance.RandomStringWithLength(32) - tokenResponse = response.TokenResponse{ - AccessToken: fakerInstance.UUID().V4(), - InstanceURL: fakerInstance.Internet().URL(), - ID: fakerInstance.Numerify("#####"), - IssuedAt: fmt.Sprintf("%d", fakerInstance.UInt32()), - Signature: fakerInstance.Hash().SHA512(), - } - ) - - hcMock := httpClientMock{ - DoFunc: func(req *http.Request) (*http.Response, error) { - require.Equal(t, loginURI, req.URL.String()) - - body, err := req.GetBody() - require.NoError(t, err) - - allBody, err := io.ReadAll(body) - require.NoError(t, err) - - parsedQuery, err := url.ParseQuery(string(allBody)) - require.NoError(t, err) - require.Equal(t, grantType, parsedQuery["grant_type"][0]) - require.Equal(t, clientID, parsedQuery["client_id"][0]) - require.Equal(t, clientSecret, parsedQuery["client_secret"][0]) - require.Equal(t, username, parsedQuery["username"][0]) - require.Equal(t, fmt.Sprintf("%s%s", password, securityToken), parsedQuery["password"][0]) - - payload, err := json.Marshal(tokenResponse) - require.NoError(t, err) - - return &http.Response{ - Body: io.NopCloser(bytes.NewReader(payload)), - }, nil - }, - } - - client := DefaultClient{ - httpClient: &hcMock, - environment: environment, - clientID: clientID, - clientSecret: clientSecret, - username: username, - password: password, - securityToken: securityToken, - } - - token, err := client.Authenticate(context.TODO()) - require.NoError(t, err) - require.Equal(t, tokenResponse, token) - - require.Len(t, hcMock.DoCalls(), 1) - }) - - t.Run("Uses test login URI when environment is sandbox", func(t *testing.T) { - var ( - environment = EnvironmentSandbox - clientID = fakerInstance.RandomStringWithLength(32) - clientSecret = fakerInstance.RandomStringWithLength(32) - username = fakerInstance.Lorem().Sentence(6) - password = fakerInstance.Lorem().Sentence(6) - securityToken = fakerInstance.RandomStringWithLength(32) - tokenResponse = response.TokenResponse{ - AccessToken: fakerInstance.UUID().V4(), - InstanceURL: fakerInstance.Internet().URL(), - ID: fakerInstance.Numerify("#####"), - IssuedAt: fmt.Sprintf("%d", fakerInstance.UInt32()), - Signature: fakerInstance.Hash().SHA512(), - } - ) - - hcMock := httpClientMock{ - DoFunc: func(req *http.Request) (*http.Response, error) { - require.Equal(t, testLoginURI, req.URL.String()) - - body, err := req.GetBody() - require.NoError(t, err) - - allBody, err := io.ReadAll(body) - require.NoError(t, err) - - parsedQuery, err := url.ParseQuery(string(allBody)) - require.NoError(t, err) - require.Equal(t, grantType, parsedQuery["grant_type"][0]) - require.Equal(t, clientID, parsedQuery["client_id"][0]) - require.Equal(t, clientSecret, parsedQuery["client_secret"][0]) - require.Equal(t, username, parsedQuery["username"][0]) - require.Equal(t, fmt.Sprintf("%s%s", password, securityToken), parsedQuery["password"][0]) - - payload, err := json.Marshal(tokenResponse) - require.NoError(t, err) - - return &http.Response{ - Body: io.NopCloser(bytes.NewReader(payload)), - }, nil - }, - } - - client := DefaultClient{ - httpClient: &hcMock, - environment: environment, - clientID: clientID, - clientSecret: clientSecret, - username: username, - password: password, - securityToken: securityToken, - } - - token, err := client.Authenticate(context.TODO()) - require.NoError(t, err) - require.Equal(t, tokenResponse, token) - - require.Len(t, hcMock.DoCalls(), 1) - }) -} diff --git a/internal/salesforce/oauth/http_client_moq_test.go b/internal/salesforce/oauth/http_client_moq_test.go deleted file mode 100644 index e8a9c7a..0000000 --- a/internal/salesforce/oauth/http_client_moq_test.go +++ /dev/null @@ -1,75 +0,0 @@ -// Code generated by moq; DO NOT EDIT. -// github.com/matryer/moq - -package oauth - -import ( - "net/http" - "sync" -) - -// Ensure, that httpClientMock does implement httpClient. -// If this is not the case, regenerate this file with moq. -var _ httpClient = &httpClientMock{} - -// httpClientMock is a mock implementation of httpClient. -// -// func TestSomethingThatUseshttpClient(t *testing.T) { -// -// // make and configure a mocked httpClient -// mockedhttpClient := &httpClientMock{ -// DoFunc: func(req *http.Request) (*http.Response, error) { -// panic("mock out the Do method") -// }, -// } -// -// // use mockedhttpClient in code that requires httpClient -// // and then make assertions. -// -// } -type httpClientMock struct { - // DoFunc mocks the Do method. - DoFunc func(req *http.Request) (*http.Response, error) - - // calls tracks calls to the methods. - calls struct { - // Do holds details about calls to the Do method. - Do []struct { - // Req is the req argument value. - Req *http.Request - } - } - lockDo sync.RWMutex -} - -// Do calls DoFunc. -func (mock *httpClientMock) Do(req *http.Request) (*http.Response, error) { - if mock.DoFunc == nil { - panic("httpClientMock.DoFunc: method is nil but httpClient.Do was just called") - } - callInfo := struct { - Req *http.Request - }{ - Req: req, - } - mock.lockDo.Lock() - mock.calls.Do = append(mock.calls.Do, callInfo) - mock.lockDo.Unlock() - return mock.DoFunc(req) -} - -// DoCalls gets all the calls that were made to Do. -// Check the length with: -// -// len(mockedhttpClient.DoCalls()) -func (mock *httpClientMock) DoCalls() []struct { - Req *http.Request -} { - var calls []struct { - Req *http.Request - } - mock.lockDo.RLock() - calls = mock.calls.Do - mock.lockDo.RUnlock() - return calls -} diff --git a/internal/salesforce/oauth/read_closer_moq_test.go b/internal/salesforce/oauth/read_closer_moq_test.go deleted file mode 100644 index 6537bb7..0000000 --- a/internal/salesforce/oauth/read_closer_moq_test.go +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package oauth - -import "io" - -func NewFailedReadCloserMock(reader io.Reader, err error) *ReadCloserMock { - return &ReadCloserMock{ - reader: reader, - err: err, - } -} - -type ReadCloserMock struct { - reader io.Reader - err error -} - -func (r ReadCloserMock) Read(p []byte) (n int, err error) { - return r.reader.Read(p) -} - -func (r ReadCloserMock) Close() error { - return r.err -} diff --git a/internal/salesforce/oauth/response/failure.go b/internal/salesforce/oauth/response/failure.go deleted file mode 100644 index 8042699..0000000 --- a/internal/salesforce/oauth/response/failure.go +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package response - -// FailureResponseError represents OAuth server failure response. -type FailureResponseError struct { - ErrorName string `json:"error"` - ErrorDescription string `json:"error_description"` -} - -func (f FailureResponseError) Error() string { - return f.ErrorDescription -} diff --git a/internal/salesforce/oauth/response/failure_test.go b/internal/salesforce/oauth/response/failure_test.go deleted file mode 100644 index d33222d..0000000 --- a/internal/salesforce/oauth/response/failure_test.go +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package response - -import ( - "testing" - - "github.com/jaswdr/faker" - "github.com/stretchr/testify/require" -) - -func TestFailureResponseError_Error(t *testing.T) { - fakerInstance := faker.New() - - errorContents := fakerInstance.Lorem().Sentence(6) - - failureResponseError := FailureResponseError{ - ErrorName: fakerInstance.Lorem().Sentence(3), - ErrorDescription: errorContents, - } - - require.EqualError(t, failureResponseError, errorContents) - require.Equal(t, errorContents, failureResponseError.Error()) -} diff --git a/internal/salesforce/oauth/response/token.go b/internal/salesforce/oauth/response/token.go deleted file mode 100644 index 5415ee2..0000000 --- a/internal/salesforce/oauth/response/token.go +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package response - -// TokenResponse represents successful OAuth server response. -// See: https://developer.salesforce.com/docs/atlas.en-us.api_iot.meta/api_iot/qs_auth_access_token.htm -type TokenResponse struct { - // [required] AccessToken contains the access token value. API clients pass the access token in the Authorization - // header of each request. - AccessToken string `json:"access_token"` - - // [required] InstanceURL contains the Salesforce instance URL for API calls. - InstanceURL string `json:"instance_url"` - - ID string `json:"id,omitempty"` - IssuedAt string `json:"issued_at,omitempty"` - Signature string `json:"signature,omitempty"` -} diff --git a/internal/utils/http_response_decoder.go b/internal/utils/http_response_decoder.go deleted file mode 100644 index b596820..0000000 --- a/internal/utils/http_response_decoder.go +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package utils - -import ( - "compress/gzip" - "fmt" - "io" - "net/http" -) - -// DecodeHTTPResponse reads response body and optionally un-compresses it. -func DecodeHTTPResponse(response *http.Response) ([]byte, error) { - var reader io.ReadCloser - - // Detect compression method - switch encoding := response.Header.Get("Content-Encoding"); encoding { - case "gzip": - var err error - - reader, err = gzip.NewReader(response.Body) - if err != nil { - return nil, fmt.Errorf("could not decompress response data: %w", err) - } - - defer reader.Close() - - case "": - reader = response.Body - - default: - return nil, fmt.Errorf("unsupported encoding %q", encoding) - } - - // Read the body - contents, err := io.ReadAll(reader) - if err != nil { - return nil, fmt.Errorf("could not read response data: %w", err) - } - - return contents, nil -} diff --git a/internal/utils/http_response_decoder_test.go b/internal/utils/http_response_decoder_test.go deleted file mode 100644 index 3322f49..0000000 --- a/internal/utils/http_response_decoder_test.go +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package utils - -import ( - "bytes" - "compress/gzip" - "errors" - "fmt" - "io" - "net/http" - "testing" - - "github.com/jaswdr/faker" - "github.com/stretchr/testify/require" -) - -func TestDecodeHTTPResponse(t *testing.T) { - fakerInstance := faker.New() - - t.Run("fails when content encoding is not supported", func(t *testing.T) { - response := &http.Response{ - Header: http.Header{ - "Content-Encoding": {"some-unsupported-encoding"}, - }, - } - - payload, err := DecodeHTTPResponse(response) - - require.Nil(t, payload) - require.EqualError(t, err, `unsupported encoding "some-unsupported-encoding"`) - }) - - t.Run("fails to read data when reader could not be initialized", func(t *testing.T) { - errorText := fakerInstance.Lorem().Sentence(6) - - response := &http.Response{ - Body: io.NopCloser(&invalidReader{text: errorText}), - Header: http.Header{ - "Content-Encoding": {""}, - }, - } - - payload, err := DecodeHTTPResponse(response) - - require.Nil(t, payload) - require.EqualError(t, err, fmt.Sprintf("could not read response data: %s", errorText)) - }) - - t.Run("fails to decompress data when reader could not be initialized", func(t *testing.T) { - errorText := fakerInstance.Lorem().Sentence(6) - - response := &http.Response{ - Body: io.NopCloser(&invalidReader{text: errorText}), - Header: http.Header{ - "Content-Encoding": {"gzip"}, - }, - } - - payload, err := DecodeHTTPResponse(response) - - require.Nil(t, payload) - require.EqualError(t, err, fmt.Sprintf("could not decompress response data: %s", errorText)) - }) - - t.Run("returns raw body when no encoding is specified", func(t *testing.T) { - bodyValue := fakerInstance.Lorem().Bytes(16) - - response := &http.Response{ - Body: io.NopCloser(bytes.NewReader(bodyValue)), - Header: http.Header{ - "Content-Encoding": {""}, - }, - } - - payload, err := DecodeHTTPResponse(response) - - require.NoError(t, err) - require.Equal(t, bodyValue, payload) - }) - - t.Run("decompresses and returns body when gzip encoding is specified", func(t *testing.T) { - var buff bytes.Buffer - bodyValue := fakerInstance.Lorem().Bytes(16) - - gz, err := gzip.NewWriterLevel(&buff, gzip.BestSpeed) - require.NoError(t, err) - - _, err = gz.Write(bodyValue) - require.NoError(t, err) - - require.NoError(t, gz.Close()) - - response := &http.Response{ - Body: io.NopCloser(bytes.NewReader(buff.Bytes())), - Header: http.Header{ - "Content-Encoding": {"gzip"}, - }, - } - - payload, err := DecodeHTTPResponse(response) - - require.NoError(t, err) - require.Equal(t, bodyValue, payload) - }) -} - -type invalidReader struct { - text string -} - -func (r *invalidReader) Read(_ []byte) (int, error) { - return 0, errors.New(r.text) -} diff --git a/source_pubsub/client.go b/source/client.go similarity index 99% rename from source_pubsub/client.go rename to source/client.go index 751095d..6f3ab43 100644 --- a/source_pubsub/client.go +++ b/source/client.go @@ -28,7 +28,7 @@ import ( rt "github.com/avast/retry-go/v4" eventbusv1 "github.com/conduitio-labs/conduit-connector-salesforce/proto/eventbus/v1" - "github.com/conduitio-labs/conduit-connector-salesforce/source_pubsub/position" + "github.com/conduitio-labs/conduit-connector-salesforce/source/position" "github.com/conduitio/conduit-commons/opencdc" sdk "github.com/conduitio/conduit-connector-sdk" "github.com/linkedin/goavro/v2" diff --git a/source_pubsub/client_test.go b/source/client_test.go similarity index 100% rename from source_pubsub/client_test.go rename to source/client_test.go diff --git a/source/config.go b/source/config.go index 7cfe5d0..0929dac 100644 --- a/source/config.go +++ b/source/config.go @@ -1,4 +1,4 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido +// Copyright © 2024 Meroxa, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -15,83 +15,105 @@ package source import ( + "context" + "errors" "fmt" - "strings" -) + "net" + "net/url" + "slices" + "time" -const ( - ConfigKeyEnvironment = "environment" - ConfigKeyClientID = "clientId" - ConfigKeyClientSecret = "clientSecret" - ConfigKeyUsername = "username" - ConfigKeyPassword = "password" - ConfigKeySecurityToken = "securityToken" - ConfigKeyPushTopicsNames = "pushTopicsNames" - ConfigKeyKeyField = "keyField" + sdk "github.com/conduitio/conduit-connector-sdk" ) +//go:generate paramgen -output=paramgen_config.go Config type Config struct { - Environment string - ClientID string - ClientSecret string - Username string - Password string - SecurityToken string - PushTopicsNames []string - KeyField string + // ClientID is the client id from the salesforce app + ClientID string `json:"clientID" validate:"required"` + + // ClientSecret is the client secret from the salesforce app + ClientSecret string `json:"clientSecret" validate:"required"` + + // OAuthEndpoint is the OAuthEndpoint from the salesforce app + OAuthEndpoint string `json:"oauthEndpoint" validate:"required"` + + // TopicName {WARN will be deprecated soon} the TopicName the source connector will subscribe to + TopicName string `json:"topicName"` + + // TopicNames are the TopicNames the source connector will subscribe to + TopicNames []string `json:"topicNames"` + + // Deprecated: Username is the client secret from the salesforce app. + Username string `json:"username"` + + // PollingPeriod is the client event polling interval + PollingPeriod time.Duration `json:"pollingPeriod" default:"100ms"` + + // gRPC Pubsub Salesforce API address + PubsubAddress string `json:"pubsubAddress" default:"api.pubsub.salesforce.com:7443"` + + // InsecureSkipVerify disables certificate validation + InsecureSkipVerify bool `json:"insecureSkipVerify" default:"false"` + + // Replay preset for the position the connector is fetching events from, can be latest or default to earliest. + ReplayPreset string `json:"replayPreset" default:"earliest"` + + // Number of retries allowed per read before the connector errors out + RetryCount uint `json:"retryCount" default:"10"` } -func ParseConfig(cfgRaw map[string]string) (Config, error) { - cfg := Config{ - Environment: cfgRaw[ConfigKeyEnvironment], - ClientID: cfgRaw[ConfigKeyClientID], - ClientSecret: cfgRaw[ConfigKeyClientSecret], - Username: cfgRaw[ConfigKeyUsername], - Password: cfgRaw[ConfigKeyPassword], - SecurityToken: cfgRaw[ConfigKeySecurityToken], - PushTopicsNames: make([]string, 0), - KeyField: cfgRaw[ConfigKeyKeyField], - } - if cfg.Environment == "" { - return Config{}, requiredConfigErr(ConfigKeyEnvironment) +func (c Config) Validate(ctx context.Context) (Config, error) { + var errs []error + + // Warn about deprecated fields + if c.Username != "" { + sdk.Logger(ctx).Warn(). + Msg(`"username" is deprecated, use "clientID" and "clientSecret"`) } - if cfg.ClientID == "" { - return Config{}, requiredConfigErr(ConfigKeyClientID) + + if c.TopicName != "" { + sdk.Logger(ctx).Warn(). + Msg(`"topicName" is deprecated, use "topicNames" instead.`) + + c.TopicNames = slices.Compact(append(c.TopicNames, c.TopicName)) } - if cfg.ClientSecret == "" { - return Config{}, requiredConfigErr(ConfigKeyClientSecret) + + // Validate provided fields + if c.ClientID == "" { + errs = append(errs, fmt.Errorf("invalid client id %q", c.ClientID)) } - if cfg.Username == "" { - return Config{}, requiredConfigErr(ConfigKeyUsername) + + if c.ClientSecret == "" { + errs = append(errs, fmt.Errorf("invalid client secret %q", c.ClientSecret)) } - if cfg.Password == "" { - return Config{}, requiredConfigErr(ConfigKeyPassword) + + if c.OAuthEndpoint == "" { + errs = append(errs, fmt.Errorf("invalid oauth endpoint %q", c.OAuthEndpoint)) } - // Push Topics' Names - registeredTopics := make(map[string]bool) + if len(c.TopicNames) == 0 { + errs = append(errs, fmt.Errorf("'topicNames' empty, need at least one topic")) + } - for _, topicName := range strings.Split(cfgRaw[ConfigKeyPushTopicsNames], ",") { - topicNameClear := strings.TrimSpace(topicName) - if topicNameClear == "" { - continue - } + if c.PollingPeriod == 0 { + errs = append(errs, fmt.Errorf("polling period cannot be zero %d", c.PollingPeriod)) + } - if _, exists := registeredTopics[topicNameClear]; exists { - continue - } + if c.PubsubAddress == "" { + errs = append(errs, fmt.Errorf("invalid pubsub address %q", c.OAuthEndpoint)) + } - cfg.PushTopicsNames = append(cfg.PushTopicsNames, topicNameClear) - registeredTopics[topicNameClear] = true + if len(errs) != 0 { + return c, errors.Join(errs...) } - if len(cfg.PushTopicsNames) == 0 { - return Config{}, requiredConfigErr(ConfigKeyPushTopicsNames) + if _, err := url.Parse(c.OAuthEndpoint); err != nil { + return c, fmt.Errorf("failed to parse oauth endpoint url: %w", err) } - return cfg, nil -} + if _, _, err := net.SplitHostPort(c.PubsubAddress); err != nil { + return c, fmt.Errorf("failed to parse pubsub address: %w", err) + } -func requiredConfigErr(name string) error { - return fmt.Errorf("%q config value must be set", name) + return c, nil } diff --git a/source/config_test.go b/source/config_test.go deleted file mode 100644 index e69a76b..0000000 --- a/source/config_test.go +++ /dev/null @@ -1,179 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package source - -import ( - "fmt" - "testing" - - "github.com/jaswdr/faker" - "github.com/stretchr/testify/require" -) - -func TestParseConfig(t *testing.T) { - fakerInstance := faker.New() - - for _, tt := range []struct { - name string - error string - cfg map[string]string - }{ - { - name: "Environment is empty", - error: fmt.Sprintf("%q config value must be set", ConfigKeyEnvironment), - cfg: map[string]string{ - "nonExistentKey": "value", - }, - }, - { - name: "Client ID is empty", - error: fmt.Sprintf("%q config value must be set", ConfigKeyClientID), - cfg: map[string]string{ - ConfigKeyEnvironment: fakerInstance.Lorem().Word(), - "nonExistentKey": "value", - }, - }, - { - name: "Client Secret is empty", - error: fmt.Sprintf("%q config value must be set", ConfigKeyClientSecret), - cfg: map[string]string{ - ConfigKeyEnvironment: fakerInstance.Lorem().Word(), - ConfigKeyClientID: fakerInstance.RandomStringWithLength(32), - "nonExistentKey": "value", - }, - }, - { - name: "Username is empty", - error: fmt.Sprintf("%q config value must be set", ConfigKeyUsername), - cfg: map[string]string{ - ConfigKeyEnvironment: fakerInstance.Lorem().Word(), - ConfigKeyClientID: fakerInstance.RandomStringWithLength(32), - ConfigKeyClientSecret: fakerInstance.RandomStringWithLength(32), - "nonExistentKey": "value", - }, - }, - { - name: "Password is empty", - error: fmt.Sprintf("%q config value must be set", ConfigKeyPassword), - cfg: map[string]string{ - ConfigKeyEnvironment: fakerInstance.Lorem().Word(), - ConfigKeyClientID: fakerInstance.RandomStringWithLength(32), - ConfigKeyClientSecret: fakerInstance.RandomStringWithLength(32), - ConfigKeyUsername: fakerInstance.Lorem().Sentence(6), - "nonExistentKey": "value", - }, - }, - { - name: "Push Topics' Names is empty", - error: fmt.Sprintf("%q config value must be set", ConfigKeyPushTopicsNames), - cfg: map[string]string{ - ConfigKeyEnvironment: fakerInstance.Lorem().Word(), - ConfigKeyClientID: fakerInstance.RandomStringWithLength(32), - ConfigKeyClientSecret: fakerInstance.RandomStringWithLength(32), - ConfigKeyUsername: fakerInstance.Lorem().Sentence(6), - ConfigKeyPassword: fakerInstance.Lorem().Sentence(6), - "nonExistentKey": "value", - }, - }, - { - name: "Push Topics' Names contains list of empty names", - error: fmt.Sprintf("%q config value must be set", ConfigKeyPushTopicsNames), - cfg: map[string]string{ - ConfigKeyEnvironment: fakerInstance.Lorem().Word(), - ConfigKeyClientID: fakerInstance.RandomStringWithLength(32), - ConfigKeyClientSecret: fakerInstance.RandomStringWithLength(32), - ConfigKeyUsername: fakerInstance.Lorem().Sentence(6), - ConfigKeyPassword: fakerInstance.Lorem().Sentence(6), - ConfigKeyPushTopicsNames: ",", - "nonExistentKey": "value", - }, - }, - } { - t.Run(fmt.Sprintf("Fails when: %s", tt.name), func(t *testing.T) { - _, err := ParseConfig(tt.cfg) - - require.EqualError(t, err, tt.error) - }) - } - - t.Run("Returns config when all required config values were provided", func(t *testing.T) { - cfgRaw := map[string]string{ - ConfigKeyEnvironment: fakerInstance.Lorem().Word(), - ConfigKeyClientID: fakerInstance.RandomStringWithLength(32), - ConfigKeyClientSecret: fakerInstance.RandomStringWithLength(32), - ConfigKeyUsername: fakerInstance.Lorem().Sentence(6), - ConfigKeyPassword: fakerInstance.Lorem().Sentence(6), - ConfigKeyPushTopicsNames: fakerInstance.Lorem().Word(), - "nonExistentKey": "value", - } - - config, err := ParseConfig(cfgRaw) - - require.NoError(t, err) - require.Equal(t, cfgRaw[ConfigKeyEnvironment], config.Environment) - require.Equal(t, cfgRaw[ConfigKeyClientID], config.ClientID) - require.Equal(t, cfgRaw[ConfigKeyClientSecret], config.ClientSecret) - require.Equal(t, cfgRaw[ConfigKeyUsername], config.Username) - require.Equal(t, cfgRaw[ConfigKeyPassword], config.Password) - require.Len(t, config.PushTopicsNames, 1) - require.Contains(t, config.PushTopicsNames, cfgRaw[ConfigKeyPushTopicsNames]) - require.Empty(t, "", config.SecurityToken) - require.Empty(t, "", config.KeyField) - }) - - t.Run("Returns config with Push Topic's Names' duplicates removed", func(t *testing.T) { - cfgRaw := map[string]string{ - ConfigKeyEnvironment: fakerInstance.Lorem().Word(), - ConfigKeyClientID: fakerInstance.RandomStringWithLength(32), - ConfigKeyClientSecret: fakerInstance.RandomStringWithLength(32), - ConfigKeyUsername: fakerInstance.Lorem().Sentence(6), - ConfigKeyPassword: fakerInstance.Lorem().Sentence(6), - ConfigKeyPushTopicsNames: "Foo,Bar,Foo,Baz,Foo", - "nonExistentKey": "value", - } - - config, err := ParseConfig(cfgRaw) - - require.NoError(t, err) - require.ElementsMatch(t, config.PushTopicsNames, []string{"Foo", "Bar", "Baz"}) - }) - - t.Run("Returns config when all config values were provided", func(t *testing.T) { - cfgRaw := map[string]string{ - ConfigKeyEnvironment: fakerInstance.Lorem().Word(), - ConfigKeyClientID: fakerInstance.RandomStringWithLength(32), - ConfigKeyClientSecret: fakerInstance.RandomStringWithLength(32), - ConfigKeyUsername: fakerInstance.Lorem().Sentence(6), - ConfigKeyPassword: fakerInstance.Lorem().Sentence(6), - ConfigKeyPushTopicsNames: fakerInstance.Lorem().Word(), - ConfigKeySecurityToken: fakerInstance.RandomStringWithLength(32), - ConfigKeyKeyField: fakerInstance.Lorem().Word(), - "nonExistentKey": "value", - } - - config, err := ParseConfig(cfgRaw) - - require.NoError(t, err) - require.Equal(t, cfgRaw[ConfigKeyEnvironment], config.Environment) - require.Equal(t, cfgRaw[ConfigKeyClientID], config.ClientID) - require.Equal(t, cfgRaw[ConfigKeyClientSecret], config.ClientSecret) - require.Equal(t, cfgRaw[ConfigKeyUsername], config.Username) - require.Equal(t, cfgRaw[ConfigKeyPassword], config.Password) - require.Len(t, config.PushTopicsNames, 1) - require.Contains(t, config.PushTopicsNames, cfgRaw[ConfigKeyPushTopicsNames]) - require.Equal(t, cfgRaw[ConfigKeySecurityToken], config.SecurityToken) - require.Equal(t, cfgRaw[ConfigKeyKeyField], config.KeyField) - }) -} diff --git a/source_pubsub/mock_authenticator_test.go b/source/mock_authenticator_test.go similarity index 100% rename from source_pubsub/mock_authenticator_test.go rename to source/mock_authenticator_test.go diff --git a/source_pubsub/mock_client_test.go b/source/mock_client_test.go similarity index 100% rename from source_pubsub/mock_client_test.go rename to source/mock_client_test.go diff --git a/source_pubsub/mock_pub_sub_client_test.go b/source/mock_pub_sub_client_test.go similarity index 100% rename from source_pubsub/mock_pub_sub_client_test.go rename to source/mock_pub_sub_client_test.go diff --git a/source_pubsub/mock_pub_sub_subscribe_client_test.go b/source/mock_pub_sub_subscribe_client_test.go similarity index 100% rename from source_pubsub/mock_pub_sub_subscribe_client_test.go rename to source/mock_pub_sub_subscribe_client_test.go diff --git a/source_pubsub/oauth.go b/source/oauth.go similarity index 100% rename from source_pubsub/oauth.go rename to source/oauth.go diff --git a/source_pubsub/paramgen_config.go b/source/paramgen_config.go similarity index 100% rename from source_pubsub/paramgen_config.go rename to source/paramgen_config.go diff --git a/source_pubsub/position/position.go b/source/position/position.go similarity index 100% rename from source_pubsub/position/position.go rename to source/position/position.go diff --git a/source/source.go b/source/source.go index 779207b..c7edd93 100644 --- a/source/source.go +++ b/source/source.go @@ -1,4 +1,4 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido +// Copyright © 2022 Meroxa, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -16,385 +16,161 @@ package source import ( "context" - "errors" + "encoding/base64" "fmt" - "strconv" - "time" - "github.com/conduitio-labs/conduit-connector-salesforce/internal" - "github.com/conduitio-labs/conduit-connector-salesforce/internal/cometd" - "github.com/conduitio-labs/conduit-connector-salesforce/internal/cometd/responses" - "github.com/conduitio-labs/conduit-connector-salesforce/internal/salesforce/oauth" + "github.com/conduitio-labs/conduit-connector-salesforce/source/position" "github.com/conduitio/conduit-commons/config" "github.com/conduitio/conduit-commons/opencdc" sdk "github.com/conduitio/conduit-connector-sdk" - "gopkg.in/tomb.v2" ) -const sfCometDVersion = "54.0" - -var ( - OAuthClientFactory = oauth.NewDefaultClient - StreamingClientFactory = cometd.NewDefaultClient -) +type client interface { + Next(context.Context) (opencdc.Record, error) + Initialize(context.Context) error + Stop(context.Context) + Close(context.Context) error + Wait(context.Context) error +} -var ErrConnectorIsStopped = errors.New("connector is stopped") +var _ client = (*PubSubClient)(nil) type Source struct { sdk.UnimplementedSource - - config Config - streamingClient cometd.Client - subscriptions map[string]bool - events chan responses.ConnectResponseEvent - tomb *tomb.Tomb + client client + config Config } func NewSource() sdk.Source { - return &Source{ - subscriptions: make(map[string]bool), - events: make(chan responses.ConnectResponseEvent), - tomb: nil, - } + return sdk.SourceWithMiddleware(&Source{}, sdk.DefaultSourceMiddleware()...) } func (s *Source) Parameters() config.Parameters { - return map[string]config.Parameter{ - ConfigKeyEnvironment: { - Description: "Authorization service based on Organization’s Domain Name (e.g.: https://MyDomainName.my.salesforce.com -> `MyDomainName`) or `sandbox` for test environment.", - Validations: []config.Validation{ - config.ValidationRequired{}, - }, - }, - ConfigKeyClientID: { - Description: "OAuth Client ID (Consumer Key).", - Validations: []config.Validation{ - config.ValidationRequired{}, - }, - }, - ConfigKeyClientSecret: { - Description: "OAuth Client Secret (Consumer Secret).", - Validations: []config.Validation{ - config.ValidationRequired{}, - }, - }, - ConfigKeyUsername: { - Description: "Username.", - Validations: []config.Validation{ - config.ValidationRequired{}, - }, - }, - ConfigKeyPassword: { - Description: "Password.", - Validations: []config.Validation{ - config.ValidationRequired{}, - }, - }, - ConfigKeySecurityToken: { - Description: "Security token as described here: https://help.salesforce.com/s/articleView?id=sf.user_security_token.htm&type=5.", - }, - ConfigKeyPushTopicsNames: { - Description: "The name or name pattern of the Push Topic to listen to. This value will be prefixed with `/topic/`.", - Validations: []config.Validation{ - config.ValidationRequired{}, - }, - }, - ConfigKeyKeyField: { - Default: "Id", - Description: "The name of the field that should be used as a Payload's Key. Empty value will set it to `nil`.", - }, - } + return s.config.Parameters() } -func (s *Source) Configure(_ context.Context, cfgRaw config.Config) (err error) { - s.config, err = ParseConfig(cfgRaw) - if err != nil { - return fmt.Errorf("configuration error: %w", err) - } - - return nil -} +func (s *Source) Configure(ctx context.Context, cfg config.Config) error { + var c Config -func (s *Source) Open(ctx context.Context, _ opencdc.Position) error { - // Authenticate - oAuthClient := OAuthClientFactory( - s.config.Environment, - s.config.ClientID, - s.config.ClientSecret, - s.config.Username, - s.config.Password, - s.config.SecurityToken, - ) - - token, err := oAuthClient.Authenticate(ctx) - if err != nil { - return fmt.Errorf("connector open error: could not authenticate: %w", err) + if err := sdk.Util.ParseConfig( + ctx, + cfg, + &c, + NewSource().Parameters(), + ); err != nil { + return fmt.Errorf("failed to parse config: %w", err) } - // Streaming API client - s.streamingClient, err = StreamingClientFactory( - fmt.Sprintf("%s/cometd/%s", token.InstanceURL, sfCometDVersion), - token.AccessToken, - ) + c, err := c.Validate(ctx) if err != nil { - return fmt.Errorf("connector open error: could not create Streaming API client: %w", err) - } - - // Handshake - if _, err := s.streamingClient.Handshake(ctx); err != nil { - return fmt.Errorf("connector open error: handshake error: %w", err) - } - - // Subscribe to topic - for _, pushTopicName := range s.config.PushTopicsNames { - subscribeResponse, err := s.streamingClient.SubscribeToPushTopic(ctx, pushTopicName) - if err != nil { - return fmt.Errorf("connector open error: subscribe error: failed to subscribe %q topic: %w", pushTopicName, err) - } - if !subscribeResponse.Successful { - return fmt.Errorf("connector open error: subscribe error: failed to subscribe %q topic: %s", pushTopicName, subscribeResponse.Error) - } - - // Register subscriptions that we should listen to - for _, sub := range subscribeResponse.GetSubscriptions() { - s.subscriptions[sub] = true - } + return fmt.Errorf("config failed to validate: %w", err) } - // Start events worker - s.tomb = &tomb.Tomb{} - s.tomb.Go(s.eventsWorker) + s.config = c return nil } -func (s *Source) Read(ctx context.Context) (opencdc.Record, error) { - if s.tomb == nil { - return opencdc.Record{}, ErrConnectorIsStopped - } +func (s *Source) Open(ctx context.Context, sdkPos opencdc.Position) error { + logger := sdk.Logger(ctx) - select { - case event, ok := <-s.events: - if !ok { - return opencdc.Record{}, fmt.Errorf("connection closed by the server") - } - - keyValue, err := s.getKeyValue(event) - if err != nil { - return opencdc.Record{}, err - } - - replayID := strconv.FormatInt(int64(event.Data.Event.ReplayID), 10) - - switch event.Data.Event.Type { - case responses.CreatedEventType: - return sdk.SourceUtil{}.NewRecordCreate( - opencdc.Position(replayID), - s.getMetadata(event), - keyValue, - opencdc.StructuredData(event.Data.SObject), - ), nil - - case responses.UpdatedEventType, responses.UndeletedEventType: - return sdk.SourceUtil{}.NewRecordUpdate( - opencdc.Position(replayID), - s.getMetadata(event), - keyValue, - nil, - opencdc.StructuredData(event.Data.SObject), - ), nil - - case responses.DeletedEventType: - return sdk.SourceUtil{}.NewRecordDelete( - opencdc.Position(replayID), - s.getMetadata(event), - keyValue, - nil, - ), nil - - default: - sdk.Logger(ctx).Info().Msgf( - "unknown event type: %q, falling back to %q", - event.Data.Event.Type, - internal.OperationInsert, - ) - return sdk.SourceUtil{}.NewRecordCreate( - opencdc.Position(replayID), - s.getMetadata(event), - keyValue, - opencdc.StructuredData(event.Data.SObject), - ), nil - } - - case <-s.tomb.Dead(): - err := s.tomb.Err() - if err == nil { - err = ErrConnectorIsStopped - } + var parsedPositions position.Topics - return opencdc.Record{}, err + logger.Debug(). + Str("at", "source.open"). + Str("position", base64.StdEncoding.EncodeToString(sdkPos)). + Strs("topics", s.config.TopicNames). + Msg("Open Source Connector") - case <-ctx.Done(): - return opencdc.Record{}, ctx.Err() + parsedPositions, err := position.ParseSDKPosition(sdkPos, s.config.TopicName) + if err != nil { + return fmt.Errorf("error parsing sdk position: %w", err) } -} -func (s *Source) getMetadata(event responses.ConnectResponseEvent) map[string]string { - replayID := strconv.FormatInt(int64(event.Data.Event.ReplayID), 10) + client, err := NewGRPCClient(ctx, s.config, parsedPositions) + if err != nil { + return fmt.Errorf("could not create GRPCClient: %w", err) + } - m := opencdc.Metadata{ - "channel": event.Channel, - "replayId": replayID, + if err := client.Initialize(ctx); err != nil { + return fmt.Errorf("could not initialize pubsub client: %w", err) } - m.SetCreatedAt(event.Data.Event.CreatedDate) - return m -} -func (s *Source) Ack(ctx context.Context, position opencdc.Position) error { - sdk.Logger(ctx).Debug().Str("position", string(position)).Msg("got ack") + s.client = client + + for _, t := range s.config.TopicNames { + p := parsedPositions.TopicReplayID(t) + logger.Debug(). + Str("at", "source.open"). + Str("position", string(p)). + Str("position encoded", base64.StdEncoding.EncodeToString(p)). + Str("topic", t). + Msgf("Grpc Client has been set. Will begin read for topic: %s", t) + } - return nil // no ack needed + return nil } -func (s *Source) Teardown(ctx context.Context) error { - var err error +func (s *Source) Read(ctx context.Context) (rec opencdc.Record, err error) { + logger := sdk.Logger(ctx) + logger.Debug(). + Strs("topics", s.config.TopicNames). + Msg("begin read") - if s.tomb != nil { - s.tomb.Kill(ErrConnectorIsStopped) + r, err := s.client.Next(ctx) + if err != nil { + return opencdc.Record{}, fmt.Errorf("failed to get next record: %w", err) + } - err = s.tomb.Wait() + // filter out empty record payloads + if r.Payload.Before == nil && r.Payload.After == nil { + logger.Error(). + Interface("record", r). + Msg("backing off, empty record payload detected") - // Worker was properly closed - if errors.Is(err, ErrConnectorIsStopped) { - err = nil - } + return opencdc.Record{}, sdk.ErrBackoffRetry } - if s.streamingClient != nil { - // Unsubscribe - for _, pushTopicName := range s.config.PushTopicsNames { - unsubscribeResponse, err := s.streamingClient.UnsubscribeToPushTopic(ctx, pushTopicName) - if err != nil { - sdk.Logger(ctx).Warn().Msgf("unsubscribe error: failed to unsubscribe %q topic: %s", pushTopicName, err) - } else if !unsubscribeResponse.Successful { - sdk.Logger(ctx).Warn().Msgf("unsubscribe error: failed to unsubscribe %q topic: %s", pushTopicName, unsubscribeResponse.Error) - } - } - - // Disconnect - disconnectResponse, err := s.streamingClient.Disconnect(ctx) - if err != nil { - return fmt.Errorf("connector close error: disconnect error: %w", err) - } - if !disconnectResponse.Successful { - return fmt.Errorf("connector close error: disconnect error: %s", disconnectResponse.Error) - } - - // Close the streaming client - s.streamingClient = nil + topic, err := r.Metadata.GetCollection() + if err != nil { + return opencdc.Record{}, err } - // Remove registered subscriptions and free the memory - s.subscriptions = nil + logger.Debug(). + Str("at", "source.read"). + Str("position encoded", base64.StdEncoding.EncodeToString(r.Position)). + Str("position", string(r.Position)). + Str("record on topic", topic). + Msg("sending record") - return err + return r, nil } -// eventsWorker continuously queries for data updates from Salesforce. -func (s *Source) eventsWorker() error { - defer close(s.events) - - for { - select { - case <-s.tomb.Dying(): - return s.tomb.Err() - - default: - ctx := s.tomb.Context(context.Background()) - - // Receive event - connectResponse, err := s.streamingClient.Connect(ctx) - if err != nil { - return fmt.Errorf("failed to receive event: %w", err) - } - - // If not successful, check how to retry - if !connectResponse.Successful { - if nil == connectResponse.Advice { - return fmt.Errorf("failed to receive event and no reconnection strategy provided by the server: %s", connectResponse.Error) - } - - switch connectResponse.Advice.Reconnect { - case responses.AdviceReconnectRetry: - // Check if request can be retried - if connectResponse.Advice.Interval < 0 { - return fmt.Errorf("server disallowed for reconnect, stopping") - } - - // Wait and retry - time.Sleep(time.Millisecond * time.Duration(connectResponse.Advice.Interval)) - - continue - - case responses.AdviceReconnectHandshake: - // Handshake and retry - if _, err := s.streamingClient.Handshake(ctx); err != nil { - return fmt.Errorf("reconnect handshake error: %w", err) - } - - continue - - case responses.AdviceReconnectNone: - // Cannot retry - return fmt.Errorf("server disallowed for reconnect, stopping") - - default: - // Unexpected, cannot retry - return fmt.Errorf("unsupported reconnect advice: %s", connectResponse.Advice.Reconnect) - } - } - - // If successful, send event - for _, event := range connectResponse.Events { - if _, exists := s.subscriptions[event.Channel]; exists { - // Send out the record if possible - select { - case s.events <- event: - // opencdc.Record was sent successfully - - case <-s.tomb.Dying(): - return s.tomb.Err() - } - } else { - sdk.Logger(ctx).Debug().Msgf("Received event for unsupported channel: %s", event.Channel) - } - } - } - } -} +func (s *Source) Ack(ctx context.Context, pos opencdc.Position) error { + sdk.Logger(ctx).Debug(). + Str("at", "source.ack"). + Str("uncoded position ", string(pos)). + Str("position", base64.StdEncoding.EncodeToString(pos)). + Msg("received ack") -// getKeyValue prepares the Key value for Payload. -func (s *Source) getKeyValue(event responses.ConnectResponseEvent) (opencdc.RawData, error) { - if s.config.KeyField == "" { - return nil, nil - } + return nil +} - value, exists := event.Data.SObject[s.config.KeyField] - if !exists { - return nil, fmt.Errorf("the %q field does not exist in the data", s.config.KeyField) +func (s *Source) Teardown(ctx context.Context) error { + if s.client == nil { + return nil } - switch v := value.(type) { - case string: - return opencdc.RawData(v), nil + s.client.Stop(ctx) - case int, int8, int16, int32, int64, - uint, uint8, uint16, uint32, uint64: - return opencdc.RawData(fmt.Sprintf("%d", v)), nil + if err := s.client.Wait(ctx); err != nil { + sdk.Logger(ctx).Error().Err(err). + Msg("received error while stopping client") + } - case float32, float64: - return opencdc.RawData(fmt.Sprintf("%G", v)), nil + if err := s.client.Close(ctx); err != nil { + return fmt.Errorf("error when closing subscriber conn: %w", err) } - return nil, fmt.Errorf("the %T type of Key field is not supported", value) + return nil } diff --git a/source/source_test.go b/source/source_test.go index 70d51ce..b228479 100644 --- a/source/source_test.go +++ b/source/source_test.go @@ -15,13 +15,110 @@ package source import ( + "context" + "errors" "testing" + "github.com/conduitio/conduit-commons/opencdc" + sdk "github.com/conduitio/conduit-connector-sdk" + mock "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" ) -func TestNewSource(t *testing.T) { - t.Run("New Source can be created", func(t *testing.T) { - require.IsType(t, &Source{}, NewSource()) - }) +func Test_Read(t *testing.T) { + testRecord := opencdc.Record{ + Position: []byte("test1"), + Operation: opencdc.OperationCreate, + Metadata: opencdc.Metadata{ + "test1": "test", + "opencdc.collection": "test", + }, + Key: opencdc.StructuredData{ + "test1": "test", + }, + Payload: opencdc.Change{ + After: opencdc.StructuredData{ + "test1": "test", + }, + }, + } + + testConfig := Config{ + ClientID: "test-client-id", + ClientSecret: "test-client-secret", + OAuthEndpoint: "https://somewhere", + TopicNames: []string{"/events/TestEvent__e", "/events/TestEvent2__e"}, + } + + testCases := []struct { + desc string + config Config + mockClient func() *mockClient + expectedRecord opencdc.Record + expectedErr error + }{ + { + desc: "success - receive event", + config: testConfig, + mockClient: func() *mockClient { + m := newMockClient(t) + m.On("Next", mock.Anything).Return(testRecord, nil) + + return m + }, + expectedRecord: testRecord, + }, + { + desc: "success - no event, backoff", + config: testConfig, + mockClient: func() *mockClient { + m := newMockClient(t) + m.On("Next", mock.Anything).Return(opencdc.Record{}, nil).Times(1) + return m + }, + expectedErr: sdk.ErrBackoffRetry, + }, + + { + desc: "error - failed on Next", + config: testConfig, + mockClient: func() *mockClient { + m := newMockClient(t) + m.On("Next", mock.Anything).Return(opencdc.Record{}, errors.New("error receiving new events - test error")).Times(1) + return m + }, + expectedErr: errors.New("error receiving new events - test error"), + }, + { + desc: "error - record with empty payload", + config: testConfig, + mockClient: func() *mockClient { + m := newMockClient(t) + m.On("Next", mock.Anything).Return(opencdc.Record{Payload: opencdc.Change{Before: nil, After: nil}}, nil).Times(1) + return m + }, + expectedErr: sdk.ErrBackoffRetry, + }, + } + + for _, tc := range testCases { + t.Run(tc.desc, func(t *testing.T) { + ctx := context.Background() + s := Source{ + config: tc.config, + } + if tc.mockClient != nil { + s.client = tc.mockClient() + } + + r, err := s.Read(ctx) + if tc.expectedErr != nil { + require.Error(t, err) + require.ErrorContains(t, err, tc.expectedErr.Error()) + } else { + require.NoError(t, err) + require.Equal(t, tc.expectedRecord, r) + } + }) + } } diff --git a/source_pubsub/config.go b/source_pubsub/config.go deleted file mode 100644 index 0929dac..0000000 --- a/source_pubsub/config.go +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright © 2024 Meroxa, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package source - -import ( - "context" - "errors" - "fmt" - "net" - "net/url" - "slices" - "time" - - sdk "github.com/conduitio/conduit-connector-sdk" -) - -//go:generate paramgen -output=paramgen_config.go Config -type Config struct { - // ClientID is the client id from the salesforce app - ClientID string `json:"clientID" validate:"required"` - - // ClientSecret is the client secret from the salesforce app - ClientSecret string `json:"clientSecret" validate:"required"` - - // OAuthEndpoint is the OAuthEndpoint from the salesforce app - OAuthEndpoint string `json:"oauthEndpoint" validate:"required"` - - // TopicName {WARN will be deprecated soon} the TopicName the source connector will subscribe to - TopicName string `json:"topicName"` - - // TopicNames are the TopicNames the source connector will subscribe to - TopicNames []string `json:"topicNames"` - - // Deprecated: Username is the client secret from the salesforce app. - Username string `json:"username"` - - // PollingPeriod is the client event polling interval - PollingPeriod time.Duration `json:"pollingPeriod" default:"100ms"` - - // gRPC Pubsub Salesforce API address - PubsubAddress string `json:"pubsubAddress" default:"api.pubsub.salesforce.com:7443"` - - // InsecureSkipVerify disables certificate validation - InsecureSkipVerify bool `json:"insecureSkipVerify" default:"false"` - - // Replay preset for the position the connector is fetching events from, can be latest or default to earliest. - ReplayPreset string `json:"replayPreset" default:"earliest"` - - // Number of retries allowed per read before the connector errors out - RetryCount uint `json:"retryCount" default:"10"` -} - -func (c Config) Validate(ctx context.Context) (Config, error) { - var errs []error - - // Warn about deprecated fields - if c.Username != "" { - sdk.Logger(ctx).Warn(). - Msg(`"username" is deprecated, use "clientID" and "clientSecret"`) - } - - if c.TopicName != "" { - sdk.Logger(ctx).Warn(). - Msg(`"topicName" is deprecated, use "topicNames" instead.`) - - c.TopicNames = slices.Compact(append(c.TopicNames, c.TopicName)) - } - - // Validate provided fields - if c.ClientID == "" { - errs = append(errs, fmt.Errorf("invalid client id %q", c.ClientID)) - } - - if c.ClientSecret == "" { - errs = append(errs, fmt.Errorf("invalid client secret %q", c.ClientSecret)) - } - - if c.OAuthEndpoint == "" { - errs = append(errs, fmt.Errorf("invalid oauth endpoint %q", c.OAuthEndpoint)) - } - - if len(c.TopicNames) == 0 { - errs = append(errs, fmt.Errorf("'topicNames' empty, need at least one topic")) - } - - if c.PollingPeriod == 0 { - errs = append(errs, fmt.Errorf("polling period cannot be zero %d", c.PollingPeriod)) - } - - if c.PubsubAddress == "" { - errs = append(errs, fmt.Errorf("invalid pubsub address %q", c.OAuthEndpoint)) - } - - if len(errs) != 0 { - return c, errors.Join(errs...) - } - - if _, err := url.Parse(c.OAuthEndpoint); err != nil { - return c, fmt.Errorf("failed to parse oauth endpoint url: %w", err) - } - - if _, _, err := net.SplitHostPort(c.PubsubAddress); err != nil { - return c, fmt.Errorf("failed to parse pubsub address: %w", err) - } - - return c, nil -} diff --git a/source_pubsub/source.go b/source_pubsub/source.go deleted file mode 100644 index debd652..0000000 --- a/source_pubsub/source.go +++ /dev/null @@ -1,176 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package source - -import ( - "context" - "encoding/base64" - "fmt" - - "github.com/conduitio-labs/conduit-connector-salesforce/source_pubsub/position" - "github.com/conduitio/conduit-commons/config" - "github.com/conduitio/conduit-commons/opencdc" - sdk "github.com/conduitio/conduit-connector-sdk" -) - -type client interface { - Next(context.Context) (opencdc.Record, error) - Initialize(context.Context) error - Stop(context.Context) - Close(context.Context) error - Wait(context.Context) error -} - -var _ client = (*PubSubClient)(nil) - -type Source struct { - sdk.UnimplementedSource - client client - config Config -} - -func NewSource() sdk.Source { - return sdk.SourceWithMiddleware(&Source{}, sdk.DefaultSourceMiddleware()...) -} - -func (s *Source) Parameters() config.Parameters { - return s.config.Parameters() -} - -func (s *Source) Configure(ctx context.Context, cfg config.Config) error { - var c Config - - if err := sdk.Util.ParseConfig( - ctx, - cfg, - &c, - NewSource().Parameters(), - ); err != nil { - return fmt.Errorf("failed to parse config: %w", err) - } - - c, err := c.Validate(ctx) - if err != nil { - return fmt.Errorf("config failed to validate: %w", err) - } - - s.config = c - - return nil -} - -func (s *Source) Open(ctx context.Context, sdkPos opencdc.Position) error { - logger := sdk.Logger(ctx) - - var parsedPositions position.Topics - - logger.Debug(). - Str("at", "source.open"). - Str("position", base64.StdEncoding.EncodeToString(sdkPos)). - Strs("topics", s.config.TopicNames). - Msg("Open Source Connector") - - parsedPositions, err := position.ParseSDKPosition(sdkPos, s.config.TopicName) - if err != nil { - return fmt.Errorf("error parsing sdk position: %w", err) - } - - client, err := NewGRPCClient(ctx, s.config, parsedPositions) - if err != nil { - return fmt.Errorf("could not create GRPCClient: %w", err) - } - - if err := client.Initialize(ctx); err != nil { - return fmt.Errorf("could not initialize pubsub client: %w", err) - } - - s.client = client - - for _, t := range s.config.TopicNames { - p := parsedPositions.TopicReplayID(t) - logger.Debug(). - Str("at", "source.open"). - Str("position", string(p)). - Str("position encoded", base64.StdEncoding.EncodeToString(p)). - Str("topic", t). - Msgf("Grpc Client has been set. Will begin read for topic: %s", t) - } - - return nil -} - -func (s *Source) Read(ctx context.Context) (rec opencdc.Record, err error) { - logger := sdk.Logger(ctx) - logger.Debug(). - Strs("topics", s.config.TopicNames). - Msg("begin read") - - r, err := s.client.Next(ctx) - if err != nil { - return opencdc.Record{}, fmt.Errorf("failed to get next record: %w", err) - } - - // filter out empty record payloads - if r.Payload.Before == nil && r.Payload.After == nil { - logger.Error(). - Interface("record", r). - Msg("backing off, empty record payload detected") - - return opencdc.Record{}, sdk.ErrBackoffRetry - } - - topic, err := r.Metadata.GetCollection() - if err != nil { - return opencdc.Record{}, err - } - - logger.Debug(). - Str("at", "source.read"). - Str("position encoded", base64.StdEncoding.EncodeToString(r.Position)). - Str("position", string(r.Position)). - Str("record on topic", topic). - Msg("sending record") - - return r, nil -} - -func (s *Source) Ack(ctx context.Context, pos opencdc.Position) error { - sdk.Logger(ctx).Debug(). - Str("at", "source.ack"). - Str("uncoded position ", string(pos)). - Str("position", base64.StdEncoding.EncodeToString(pos)). - Msg("received ack") - - return nil -} - -func (s *Source) Teardown(ctx context.Context) error { - if s.client == nil { - return nil - } - - s.client.Stop(ctx) - - if err := s.client.Wait(ctx); err != nil { - sdk.Logger(ctx).Error().Err(err). - Msg("received error while stopping client") - } - - if err := s.client.Close(ctx); err != nil { - return fmt.Errorf("error when closing subscriber conn: %w", err) - } - - return nil -} diff --git a/source_pubsub/source_test.go b/source_pubsub/source_test.go deleted file mode 100644 index b228479..0000000 --- a/source_pubsub/source_test.go +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright © 2022 Meroxa, Inc. and Miquido -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package source - -import ( - "context" - "errors" - "testing" - - "github.com/conduitio/conduit-commons/opencdc" - sdk "github.com/conduitio/conduit-connector-sdk" - mock "github.com/stretchr/testify/mock" - "github.com/stretchr/testify/require" -) - -func Test_Read(t *testing.T) { - testRecord := opencdc.Record{ - Position: []byte("test1"), - Operation: opencdc.OperationCreate, - Metadata: opencdc.Metadata{ - "test1": "test", - "opencdc.collection": "test", - }, - Key: opencdc.StructuredData{ - "test1": "test", - }, - Payload: opencdc.Change{ - After: opencdc.StructuredData{ - "test1": "test", - }, - }, - } - - testConfig := Config{ - ClientID: "test-client-id", - ClientSecret: "test-client-secret", - OAuthEndpoint: "https://somewhere", - TopicNames: []string{"/events/TestEvent__e", "/events/TestEvent2__e"}, - } - - testCases := []struct { - desc string - config Config - mockClient func() *mockClient - expectedRecord opencdc.Record - expectedErr error - }{ - { - desc: "success - receive event", - config: testConfig, - mockClient: func() *mockClient { - m := newMockClient(t) - m.On("Next", mock.Anything).Return(testRecord, nil) - - return m - }, - expectedRecord: testRecord, - }, - { - desc: "success - no event, backoff", - config: testConfig, - mockClient: func() *mockClient { - m := newMockClient(t) - m.On("Next", mock.Anything).Return(opencdc.Record{}, nil).Times(1) - return m - }, - expectedErr: sdk.ErrBackoffRetry, - }, - - { - desc: "error - failed on Next", - config: testConfig, - mockClient: func() *mockClient { - m := newMockClient(t) - m.On("Next", mock.Anything).Return(opencdc.Record{}, errors.New("error receiving new events - test error")).Times(1) - return m - }, - expectedErr: errors.New("error receiving new events - test error"), - }, - { - desc: "error - record with empty payload", - config: testConfig, - mockClient: func() *mockClient { - m := newMockClient(t) - m.On("Next", mock.Anything).Return(opencdc.Record{Payload: opencdc.Change{Before: nil, After: nil}}, nil).Times(1) - return m - }, - expectedErr: sdk.ErrBackoffRetry, - }, - } - - for _, tc := range testCases { - t.Run(tc.desc, func(t *testing.T) { - ctx := context.Background() - s := Source{ - config: tc.config, - } - if tc.mockClient != nil { - s.client = tc.mockClient() - } - - r, err := s.Read(ctx) - if tc.expectedErr != nil { - require.Error(t, err) - require.ErrorContains(t, err, tc.expectedErr.Error()) - } else { - require.NoError(t, err) - require.Equal(t, tc.expectedRecord, r) - } - }) - } -}