protected function doThirdPartySettingsUpdate() { // Create a test action with a known label.
$name = 'system.action.third_party_settings_test';
/** @var \Drupal\config_test\Entity\ConfigTest $entity */
$entity = Action::
create([ 'id' => 'third_party_settings_test',
'plugin' => 'action_message_action',
]);
$entity->
save();
$this->
assertSame([],
$entity->
getThirdPartyProviders());
// Get a copy of the configuration before the third party setting is added.
$no_third_part_setting_config =
$this->container->
get('config.storage'
)->
read($name);
// Add a third party setting.
$entity->
setThirdPartySetting('config_test', 'integer', 1
);
$entity->
save();
$this->
assertSame(1,
$entity->
getThirdPartySetting('config_test', 'integer'
));
$has_third_part_setting_config =
$this->container->
get('config.storage'
)->
read($name);
// Ensure configuration imports can completely remove third party settings.
$this->
assertConfigUpdateImport($name,
$has_third_part_setting_config,
$no_third_part_setting_config);
}