CAMEL-10938 Camel Salesforce : add an option to... ...retrieve login information for testing purpose from env var or system properties
This introduces `authenticationType` Salesforce component property that can be used to force, as opposed auto-determine authentication flow the component should perform.
It ties into the integration tests setup as it enables tests to be run with any supported authentication type.
More to the point of the initial JIRA, this change enables configuring the integration tests using environment variables, Java system properties or the established `test-salesforce-login.properties` file.
The syntax in the `test-salesforce-login.properties` has changed slightly to better accomodate the environment variable syntax: camelcase was dropped in favor of dot notation.
CAMEL-10857 Make Salesforce integration tests w... ...ork with new Salesforce instance
This changes the way Salesforce environment is setup for integration tests are, previously one would need to manually configure the instance while now it is done automatically by using _Salesforce Migration Tool_.
This tool needs to be downloaded from Salesforce and placed in the `components/camel-salesforce/it/resources/migration-tool/` directory.
Definitions for currently used packaged applications, approval process, classes, test documents, layouts, field customizations and custom objects, permission sets, profiles, test reports and tabs are provided.
Also a connected application definition is provided to facilitate the setup.
Tests were rearranged into two groups, those that can be freely run in random order and in parallel, and those that need to be run sequentially and independent of each other (marked with Standalone category).
Tests were refactored to make them more stable and easier to maintain. Mostly to introduce parallelism in parameterised tests and to perform proper setup and cleanup (although cleanup is still an issue with some test).