diff --git a/core/modules/migrate_drupal/tests/fixtures/drupal7.php b/core/modules/migrate_drupal/tests/fixtures/drupal7.php
index 78651e4..259c519 100644
--- a/core/modules/migrate_drupal/tests/fixtures/drupal7.php
+++ b/core/modules/migrate_drupal/tests/fixtures/drupal7.php
@@ -40736,6 +40736,10 @@
   'value',
 ))
 ->values(array(
+  'name' => 'actions_max_stack',
+  'value' => 'i:28;',
+))
+->values(array(
   'name' => 'additional_settings__active_tab_article',
   'value' => 's:15:"edit-submission";',
 ))
@@ -40760,6 +40764,10 @@
   'value' => 's:13:"edit-workflow";',
 ))
 ->values(array(
+  'name' => 'admin_compact_mode',
+  'value' => 'b:1;',
+))
+->values(array(
   'name' => 'admin_theme',
   'value' => 's:5:"seven";',
 ))
@@ -40796,10 +40804,18 @@
   'value' => 'b:1;',
 ))
 ->values(array(
+  'name' => 'allow_insecure_uploads',
+  'value' => 'i:1;',
+))
+->values(array(
   'name' => 'anonymous',
   'value' => 's:9:"Anonymous";',
 ))
 ->values(array(
+  'name' => 'authorize_filetransfer_default',
+  'value' => 's:3:"ftp";',
+))
+->values(array(
   'name' => 'block_cache',
   'value' => 'i:0;',
 ))
@@ -40812,6 +40828,10 @@
   'value' => 's:4:"book";',
 ))
 ->values(array(
+  'name' => 'cache',
+  'value' => 'i:0;',
+))
+->values(array(
   'name' => 'cache_flush_cache',
   'value' => 'i:0;',
 ))
@@ -41024,6 +41044,10 @@
   'value' => 's:1:"2";',
 ))
 ->values(array(
+  'name' => 'configurable_timezones',
+  'value' => 'b:1;',
+))
+->values(array(
   'name' => 'contact_default_status',
   'value' => 'i:1;',
 ))
@@ -41044,6 +41068,14 @@
   'value' => 'i:1444944970;',
 ))
 ->values(array(
+  'name' => 'cron_threshold_error',
+  'value' => 'i:1209600;',
+))
+->values(array(
+  'name' => 'cron_threshold_warning',
+  'value' => 'i:172800;',
+))
+->values(array(
   'name' => 'css_js_query_string',
   'value' => 's:6:"nwa6nq";',
 ))
@@ -41064,6 +41096,10 @@
   'value' => 's:15:"America/Chicago";',
 ))
 ->values(array(
+  'name' => 'date_first_day',
+  'value' => 'i:1;',
+))
+->values(array(
   'name' => 'dblog_row_limit',
   'value' => 'i:10000;',
 ))
@@ -41084,10 +41120,30 @@
   'value' => 's:43:"9eRJWxrMwQ5CufYJjXBZbPGz_t8vPIYRQr18PamdKmM";',
 ))
 ->values(array(
+  'name' => 'drupal_weight_select_max',
+  'value' => 'i:40;',
+))
+->values(array(
   'name' => 'email__active_tab',
   'value' => 's:27:"edit-email-pending-approval";',
 ))
 ->values(array(
+  'name' => 'empty_timezone_message',
+  'value' => 'b:1;',
+))
+->values(array(
+  'name' => 'error_level',
+  'value' => 'i:1;',
+))
+->values(array(
+  'name' => 'feed_default_items',
+  'value' => 'i:27;',
+))
+->values(array(
+  'name' => 'feed_item_length',
+  'value' => 's:8:"fulltext";',
+))
+->values(array(
   'name' => 'field_bundle_settings_comment__comment_node_test_content_type',
   'value' => 'a:2:{s:10:"view_modes";a:0:{}s:12:"extra_fields";a:2:{s:4:"form";a:2:{s:6:"author";a:1:{s:6:"weight";s:2:"-2";}s:7:"subject";a:1:{s:6:"weight";s:2:"-1";}}s:7:"display";a:0:{}}}',
 ))
@@ -41104,6 +41160,22 @@
   'value' => 's:6:"public";',
 ))
 ->values(array(
+  'name' => 'file_description_length',
+  'value' => 'i:256;',
+))
+->values(array(
+  'name' => 'file_description_type',
+  'value' => 's:9:"textfield";',
+))
+->values(array(
+  'name' => 'file_directory_path',
+  'value' => 's:19:"sites/default/files";',
+))
+->values(array(
+  'name' => 'file_icon_directory',
+  'value' => 's:25:"sites/default/files/icons";',
+))
+->values(array(
   'name' => 'file_private_path',
   'value' => 's:0:"";',
 ))
@@ -41116,6 +41188,10 @@
   'value' => 's:4:"/tmp";',
 ))
 ->values(array(
+  'name' => 'filter_allowed_protocols',
+  'value' => 'a:3:{i:0;s:4:"http";i:1;s:5:"https";i:2;s:3:"irc";}',
+))
+->values(array(
   'name' => 'filter_fallback_format',
   'value' => 's:10:"plain_text";',
 ))
@@ -41148,10 +41224,18 @@
   'value' => 'i:25;',
 ))
 ->values(array(
+  'name' => 'image_jpeg_quality',
+  'value' => 'i:80;',
+))
+->values(array(
   'name' => 'image_style_preview_image',
   'value' => 's:33:"core/modules/image/testsample.png";',
 ))
 ->values(array(
+  'name' => 'image_toolkit',
+  'value' => 's:2:"gd";',
+))
+->values(array(
   'name' => 'install_profile',
   'value' => 's:8:"standard";',
 ))
@@ -41224,6 +41308,10 @@
   'value' => 's:6:"domain";',
 ))
 ->values(array(
+  'name' => 'mail_system',
+  'value' => 'a:1:{s:14:"default-system";s:17:"DefaultMailSystem";}',
+))
+->values(array(
   'name' => 'maintenance_mode',
   'value' => 'i:0;',
 ))
@@ -41488,6 +41576,10 @@
   'value' => 's:13:"The Site Name";',
 ))
 ->values(array(
+  'name' => 'site_offline_message',
+  'value' => 's:42:"This is a custom maintenance mode message.";',
+))
+->values(array(
   'name' => 'site_slogan',
   'value' => 's:10:"The Slogan";',
 ))
@@ -41528,6 +41620,14 @@
   'value' => 's:6:"drupal";',
 ))
 ->values(array(
+  'name' => 'taxonomy_override_selector',
+  'value' => 'b:1;',
+))
+->values(array(
+  'name' => 'taxonomy_terms_per_page_admin',
+  'value' => 'i:84;',
+))
+->values(array(
   'name' => 'teaser_length',
   'value' => 'i:1024;',
 ))
@@ -41572,6 +41672,10 @@
   'value' => 's:17:"user_cancel_block";',
 ))
 ->values(array(
+  'name' => 'user_default_timezone',
+  'value' => 'i:2;',
+))
+->values(array(
   'name' => 'user_email_verification',
   'value' => 'i:1;',
 ))
diff --git a/core/modules/rdf/src/Plugin/migrate/destination/d7/EntityRdfMapping.php b/core/modules/rdf/src/Plugin/migrate/destination/d7/EntityRdfMapping.php
new file mode 100644
index 0000000..f8910ac
--- /dev/null
+++ b/core/modules/rdf/src/Plugin/migrate/destination/d7/EntityRdfMapping.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\rdf\Plugin\migrate\destination\d7\EntityRdfMapping.
+ */
+
+namespace Drupal\rdf\Plugin\migrate\destination\d7;
+
+use Drupal\migrate\Row;
+use Drupal\migrate\Plugin\migrate\destination\EntityContentBase;
+use Drupal\Component\Plugin\Exception\PluginNotFoundException;
+use Drupal\migrate\MigrateException;
+use Drupal\migrate\Plugin\migrate\destination\EntityConfigBase;
+
+/**
+ * @MigrateDestination(
+ *   id = "entity:RdfMapping"
+ * )
+ */
+class EntityRdfMapping extends EntityContentBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function importRow(Row $row, array $old_destination_id_values = []) {
+    $effects = [];
+
+    // Need to set the effects property to null on the row before the ImageStyle
+    // is created, this prevents improper effect plugin initialization.
+    if ($row->getDestinationProperty('effects')) {
+      $effects = $row->getDestinationProperty('effects');
+      $row->setDestinationProperty('effects', []);
+    }
+
+    /** @var \Drupal\Image\Entity\ImageStyle $style */
+    $style = $this->getEntity($row, $old_destination_id_values);
+
+    // Iterate the effects array so each effect plugin can be initialized.
+    // Catch any missing plugin exceptions.
+    foreach ($effects as $effect) {
+      try {
+        $style->addImageEffect($effect);
+      }
+      catch (PluginNotFoundException $e) {
+        throw new MigrateException($e->getMessage(), 0, $e);
+      }
+    }
+
+    $style->save();
+
+    return array($style->id());
+  }
+
+}
diff --git a/core/modules/system/migration_templates/d7_action_settings.yml b/core/modules/system/migration_templates/d7_action_settings.yml
new file mode 100644
index 0000000..f1192ff
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_action_settings.yml
@@ -0,0 +1,13 @@
+id: d7_action_settings
+label: Drupal 7 action configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - actions_max_stack
+process:
+  recursion_limit: actions_max_stack
+destination:
+  plugin: config
+  config_name: action.settings
diff --git a/core/modules/system/migration_templates/d7_file_settings.yml b/core/modules/system/migration_templates/d7_file_settings.yml
new file mode 100644
index 0000000..20e7a0f
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_file_settings.yml
@@ -0,0 +1,17 @@
+id: d7_file_settings
+label: Drupal 7 file configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - file_description_type
+    - file_description_length
+    - file_icon_directory
+process:
+  'description/type': file_description_type
+  'description/length': file_description_length
+  'icon/directory': file_icon_directory
+destination:
+  plugin: config
+  config_name: file.settings
diff --git a/core/modules/system/migration_templates/d7_system_authorize.yml b/core/modules/system/migration_templates/d7_system_authorize.yml
new file mode 100755
index 0000000..420497b
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_authorize.yml
@@ -0,0 +1,12 @@
+id: d7_system_authorize
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - authorize_filetransfer_default
+process:
+   filetransfer_default: authorize_filetransfer_default
+destination:
+  plugin: config
+  config_name: system.authorize
diff --git a/core/modules/system/migration_templates/d7_system_cron.yml b/core/modules/system/migration_templates/d7_system_cron.yml
new file mode 100644
index 0000000..a603af3
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_cron.yml
@@ -0,0 +1,15 @@
+id: d7_system_cron
+label: Drupal 7 cron settings
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - cron_threshold_warning
+    - cron_threshold_error
+process:
+  'threshold/requirements_warning': cron_threshold_warning
+  'threshold/requirements_error': cron_threshold_error
+destination:
+  plugin: config
+  config_name: system.cron
diff --git a/core/modules/system/migration_templates/d7_system_date.yml b/core/modules/system/migration_templates/d7_system_date.yml
new file mode 100644
index 0000000..b380c89
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_date.yml
@@ -0,0 +1,22 @@
+id: d7_system_date
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - site_default_country
+    - date_first_day
+    - date_default_timezone
+    - configurable_timezones
+    - empty_timezone_message
+    - user_default_timezone
+process:
+  'country/default': site_default_country
+  first_day: date_first_day
+  'timezone/default': date_default_timezone
+  'timezone/user/configurable': configurable_timezones
+  'timezone/user/warn': empty_timezone_message
+  'timezone/user/default': user_default_timezone
+destination:
+  plugin: config
+  config_name: system.date
diff --git a/core/modules/system/migration_templates/d7_system_file.yml b/core/modules/system/migration_templates/d7_system_file.yml
new file mode 100644
index 0000000..2295e0e
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_file.yml
@@ -0,0 +1,20 @@
+id: d7_system_file
+label: Drupal 7 file system configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - allow_insecure_uploads
+    - file_temporary_path
+process:
+  allow_insecure_uploads:
+    plugin: static_map
+    source: allow_insecure_uploads
+    map:
+      0: FALSE
+      1: TRUE
+  'path/temporary': file_temporary_path
+destination:
+  plugin: config
+  config_name: system.file
diff --git a/core/modules/system/migration_templates/d7_system_filter.yml b/core/modules/system/migration_templates/d7_system_filter.yml
new file mode 100644
index 0000000..19343f5
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_filter.yml
@@ -0,0 +1,13 @@
+id: d7_system_filter
+label: Drupal 7 system filter configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - filter_allowed_protocols
+process:
+  protocols: filter_allowed_protocols
+destination:
+  plugin: config
+  config_name: system.filter
diff --git a/core/modules/system/migration_templates/d7_system_image.yml b/core/modules/system/migration_templates/d7_system_image.yml
new file mode 100644
index 0000000..6f09a01
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_image.yml
@@ -0,0 +1,13 @@
+id: d7_system_image
+label: Drupal 7 image toolkit configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - image_toolkit
+process:
+  toolkit: image_toolkit
+destination:
+  plugin: config
+  config_name: system.image
diff --git a/core/modules/system/migration_templates/d7_system_image_gd.yml b/core/modules/system/migration_templates/d7_system_image_gd.yml
new file mode 100644
index 0000000..461f7a9
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_image_gd.yml
@@ -0,0 +1,13 @@
+id: d7_system_image_gd
+label: Drupal 7 image quality configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - image_jpeg_quality
+process:
+  jpeg_quality: image_jpeg_quality
+destination:
+  plugin: config
+  config_name: system.image.gd
diff --git a/core/modules/system/migration_templates/d7_system_logging.yml b/core/modules/system/migration_templates/d7_system_logging.yml
new file mode 100644
index 0000000..c2ab39b
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_logging.yml
@@ -0,0 +1,21 @@
+id: d7_system_logging
+label: Drupal 7 system logging
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - error_level
+process:
+  error_level:
+    plugin: static_map
+    source: error_level
+    default_value: all
+    map:
+      0: hide
+      1: some
+      2: all
+      3: verbose
+destination:
+  plugin: config
+  config_name: system.logging
diff --git a/core/modules/system/migration_templates/d7_system_mail.yml b/core/modules/system/migration_templates/d7_system_mail.yml
new file mode 100644
index 0000000..d4a569c
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_mail.yml
@@ -0,0 +1,17 @@
+id: d7_system_mail
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - mail_system
+process:
+  'interface/default':
+    plugin: static_map
+    source: 'mail_system/default-system'
+    map:
+      DefaultMailSystem: php_mail
+      MailTestCase: test_mail_collector
+destination:
+  plugin: config
+  config_name: system.mail
diff --git a/core/modules/system/migration_templates/d7_system_maintenance.yml b/core/modules/system/migration_templates/d7_system_maintenance.yml
new file mode 100644
index 0000000..cfdd132
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_maintenance.yml
@@ -0,0 +1,13 @@
+id: d7_system_maintenance
+label: Drupal 7 maintainence page configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - site_offline_message
+process:
+  message: site_offline_message
+destination:
+  plugin: config
+  config_name: system.maintenance
diff --git a/core/modules/system/migration_templates/d7_system_performance.yml b/core/modules/system/migration_templates/d7_system_performance.yml
new file mode 100644
index 0000000..b41d75e
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_performance.yml
@@ -0,0 +1,19 @@
+id: d7_system_performance
+label: Drupal 7 performance configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - preprocess_css
+    - preprocess_js
+    - cache_lifetime
+    - page_compression
+process:
+  'css/preprocess': preprocess_css
+  'js/preprocess': preprocess_js
+  'cache/page/max_age': cache_lifetime
+  'response/gzip': page_compression
+destination:
+  plugin: config
+  config_name: system.performance
diff --git a/core/modules/system/migration_templates/d7_system_rss.yml b/core/modules/system/migration_templates/d7_system_rss.yml
new file mode 100644
index 0000000..03212cb
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_rss.yml
@@ -0,0 +1,15 @@
+id: d7_system_rss
+label: Drupal 7 RSS configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - feed_default_items
+    - feed_item_length
+process:
+  'items/limit': feed_default_items
+  'items/view_mode': feed_item_length
+destination:
+  plugin: config
+  config_name: system.rss
diff --git a/core/modules/system/migration_templates/d7_system_site.yml b/core/modules/system/migration_templates/d7_system_site.yml
new file mode 100644
index 0000000..b96e2ad
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_site.yml
@@ -0,0 +1,27 @@
+id: d7_system_site
+label: Drupal 7 site configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - site_name
+    - site_mail
+    - site_slogan
+    - site_frontpage
+    - site_403
+    - site_404
+    - drupal_weight_select_max
+    - admin_compact_mode
+process:
+  name: site_name
+  mail: site_mail
+  slogan: site_slogan
+  'page/front': site_frontpage
+  'page/403': site_403
+  'page/404': site_404
+  weight_select_max: drupal_weight_select_max
+  admin_compact_mode: admin_compact_mode
+destination:
+  plugin: config
+  config_name: system.site
diff --git a/core/modules/system/src/Tests/Migrate/d7/MigrateSystemConfigurationTest.php b/core/modules/system/src/Tests/Migrate/d7/MigrateSystemConfigurationTest.php
new file mode 100644
index 0000000..e27f644
--- /dev/null
+++ b/core/modules/system/src/Tests/Migrate/d7/MigrateSystemConfigurationTest.php
@@ -0,0 +1,201 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Migrate\d7\MigrateSystemConfigurationTest.
+ */
+
+namespace Drupal\system\Tests\Migrate\d7;
+
+use Drupal\migrate_drupal\Tests\d7\MigrateDrupal7TestBase;
+
+/**
+ * Migrates various configuration objects owned by the System module.
+ *
+ * @group system 7.x
+ * @dumpFile d7/Variable.php
+ * @migration d7_action_settings
+ * @migration d7_file_settings
+ * @migration d7_system_authorize
+ * @migration d7_system_cron
+ * @migration d7_system_date
+ * @migration d7_system_file
+ * @migration d7_system_filter
+ * @migration d7_system_image_gd
+ * @migration d7_system_image
+ * @migration d7_system_logging
+ * @migration d7_system_mail
+ * @migration d7_system_performance
+ * @migration d7_system_rss
+ * @migration d7_system_site
+ */
+class MigrateSystemConfigurationTest extends MigrateDrupal7TestBase {
+
+  static $modules = ['action', 'file', 'system'];
+
+  protected $expectedConfig = [
+    'action.settings' => [
+      'recursion_limit' => 28,
+    ],
+    'file.settings' => [
+      'description' => [
+        'type' => 'textfield',
+        'length' => 256,
+      ],
+      'icon' => [
+        'directory' => 'sites/default/files/icons',
+      ],
+    ],
+    'system.authorize' => [
+      'filetransfer_default' => 'ftp',
+    ],
+    'system.cron' => [
+      'threshold' => [
+        // autorun is not handled by the migration.
+        'autorun' => 0,
+        'requirements_warning' => 172800,
+        'requirements_error' => 1209600,
+      ],
+    ],
+    'system.date' => [
+      'country' => [
+        'default' => 'US',
+      ],
+      'first_day' => 1,
+      'timezone' => [
+        'default' => 'America/Chicago',
+        'user' => [
+          'configurable' => TRUE,
+          'warn' => TRUE,
+          // DRUPAL_USER_TIMEZONE_SELECT (D7 API)
+          'default' => 2,
+        ],
+      ],
+    ],
+    'system.file' => [
+      'allow_insecure_uploads' => TRUE,
+      // default_scheme is not handled by the migration.
+      'default_scheme' => 'public',
+      'path' => [
+        'temporary' => '/tmp',
+      ],
+      // temporary_maximum_age is not handled by the migration.
+      'temporary_maximum_age' => 21600,
+    ],
+    'system.filter' => [
+      'protocols' => ['http', 'https', 'irc'],
+    ],
+    'system.image.gd' => [
+      'jpeg_quality' => 80,
+    ],
+    'system.image' => [
+      'toolkit' => 'gd',
+    ],
+    'system.logging' => [
+      'error_level' => 'some',
+    ],
+    'system.mail' => [
+      'interface' => [
+        'default' => 'php_mail',
+      ],
+    ],
+    'system.maintenance' => [
+      'message' => 'This is a custom maintenance mode message.',
+      // langcode is not handled by the migration.
+      'langcode' => 'en',
+    ],
+    'system.performance' => [
+      'cache' => [
+        'page' => [
+          'max_age' => 300,
+        ],
+      ],
+      'css' => [
+        'preprocess' => TRUE,
+        // gzip is not handled by the migration.
+        'gzip' => TRUE,
+      ],
+      // fast_404 is not handled by the migration.
+      'fast_404' => [
+        'enabled' => TRUE,
+        'paths' => '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i',
+        'exclude_paths' => '/\/(?:styles|imagecache)\//',
+        'html' => '<!DOCTYPE html><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL "@path" was not found on this server.</p></body></html>',
+      ],
+      'js' => [
+        'preprocess' => FALSE,
+        // gzip is not handled by the migration.
+        'gzip' => TRUE,
+      ],
+      // stale_file_threshold is not handled by the migration.
+      'stale_file_threshold' => 2592000,
+      'response' => [
+        'gzip' => TRUE,
+      ],
+    ],
+    'system.rss' => [
+      'channel' => [
+        'description' => '',
+      ],
+      'items' => [
+        'limit' => 27,
+        'view_mode' => 'fulltext',
+      ],
+      'langcode' => 'en',
+    ],
+    'system.site' => [
+      // uuid is not handled by the migration.
+      'uuid' => '',
+      'name' => 'The Site Name',
+      'mail' => 'joseph@flattandsons.com',
+      'slogan' => 'The Slogan',
+      'page' => [
+        '403' => 'node',
+        '404' => 'node',
+        'front' => 'node',
+      ],
+      'admin_compact_mode' => TRUE,
+      'weight_select_max' => 40,
+      // langcode and default_langcode are not handled by the migration.
+      'langcode' => 'en',
+      'default_langcode' => 'en',
+    ],
+  ];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $migrations = [
+      'd7_action_settings',
+      'd7_file_settings',
+      'd7_system_authorize',
+      'd7_system_cron',
+      'd7_system_date',
+      'd7_system_file',
+      'd7_system_filter',
+      'd7_system_image_gd',
+      'd7_system_image',
+      'd7_system_logging',
+      'd7_system_mail',
+      'd7_system_maintenance',
+      'd7_system_performance',
+      'd7_system_rss',
+      'd7_system_site',
+    ];
+    $this->executeMigrations($migrations);
+
+  }
+
+  /**
+   * Tests that all expected configuration gets migrated.
+   */
+  public function testConfigurationMigration() {
+    foreach ($this->expectedConfig as $config_id => $values) {
+      $this->assertIdentical(\Drupal::config($config_id)->get(), $values, $config_id . ' matches expected values.');
+    }
+  }
+
+}
