Don't save integration when "Test settings"
Problem
This issue was created out of a discussion !37413 (comment 414431933).
When a user tests a project-level integration, the integration is saved in the database, just as if the user had hit the save changes button. We would like to decouple that and allow users to test an integration without saving it.
When a user tests a group-level integration, the integration is not saved (good) but there's a different problem, which is that the settings that were entered in the form are not part of the test, instead the test works from the previous save state.
The solution for both project and group-level integration tests should be the same.
Proposal
Both project and group-level integrations should use #assign_attributes
to assign the POSTed form settings to the integration before conducting the test (at time of writing instance-level integrations are not testable). We want to continue to run model validation checks. The test of the integration will then work from the integration with the form settings applied, without saving the integration settings.