diff --git a/lib/Drupal/views/Tests/AccessTest.php b/lib/Drupal/views/Tests/AccessTest.php
index 1b4d165816aafce6d5d8770e5328d55a76a5b1ae..599362ff104a46a3ccd3a765bca0b20553f266b7 100644
--- a/lib/Drupal/views/Tests/AccessTest.php
+++ b/lib/Drupal/views/Tests/AccessTest.php
@@ -9,7 +9,6 @@
 
 use Drupal\simpletest\WebTestBase;
 use Drupal\views\View;
-use views_test_plugin_access_test_dynamic;
 
 /**
  * Basic test for pluggable access.
@@ -37,27 +36,6 @@ public function setUp() {
     views_fetch_plugin_data(NULL, NULL, TRUE);
   }
 
-  function viewsPlugins() {
-    $plugins = array(
-      'access' =>  array(
-        'test_static' => array(
-          'title' => t('Static test access plugin'),
-          'help' => t('Provides a static test access plugin.'),
-          'handler' => 'views_test_plugin_access_test_static',
-          'path' => drupal_get_path('module', 'views_test') . '/test_plugins',
-        ),
-        'test_dynamic' => array(
-          'title' => t('Dynamic test access plugin'),
-          'help' => t('Provides a dynamic test access plugin.'),
-          'handler' => 'views_test_plugin_access_test_dynamic',
-          'path' => drupal_get_path('module', 'views_test') . '/test_plugins',
-        ),
-      ),
-    );
-
-    return $plugins;
-  }
-
   /**
    * Tests none access plugin.
    */
diff --git a/lib/Drupal/views/Tests/TranslatableTest.php b/lib/Drupal/views/Tests/TranslatableTest.php
index 9039b871e304115d28ec6e4b956f00de9ded63b3..b42de01087bd2b9bfaabbb968ce0935b4ea12c0d 100644
--- a/lib/Drupal/views/Tests/TranslatableTest.php
+++ b/lib/Drupal/views/Tests/TranslatableTest.php
@@ -23,28 +23,10 @@ public static function getInfo() {
     );
   }
 
-  /**
-   * The views plugin definition. Override it if you test provides a plugin.
-   */
-  public function viewsPlugins() {
-    return array(
-      'localization' => array(
-        'test' => array(
-          'no_ui' => TRUE,
-          'title' => t('Test'),
-          'help' => t('This is a test description.'),
-          'handler' => 'views_plugin_localization_test',
-          'parent' => 'parent',
-          'path' => drupal_get_path('module', 'views') .'/tests',
-        ),
-      ),
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
-    config('views.settings')->set('views_localization_plugin', 'test')->save();
+    config('views.settings')->set('views_localization_plugin', 'localization_test')->save();
     // Reset the plugin data.
     views_fetch_plugin_data(NULL, NULL, TRUE);
     $this->strings = array('Master1', 'Apply1', 'Sort By1', 'Asc1', 'Desc1', 'more1', 'Reset1', 'Offset1', 'Master1', 'title1', 'Items per page1', 'fieldlabel1', 'filterlabel1');
@@ -58,7 +40,10 @@ public function testUnpackTranslatable() {
     $view = $this->view_unpack_translatable();
     $view->init_localization();
 
-    $this->assertEqual('views_plugin_localization_test', get_class($view->localization_plugin), 'Make sure that init_localization initializes the right translation plugin');
+    // localization_plugin returns the plugin_id from the plugin
+    // get_class will go kaboom on a plugin_id I guess...
+    // TODO: fix this with anotation magic
+    $this->assertEqual('LocalizationTest', get_class($view->localization_plugin), 'Make sure that init_localization initializes the right translation plugin');
 
     $view->export_locale_strings();
 
diff --git a/lib/Drupal/views/Tests/ViewsSqlTest.php b/lib/Drupal/views/Tests/ViewsSqlTest.php
index 4f0956f22dcd15d5c8842072475c5c497477f26b..d2a0ac06fd3d59848c5d23e95635e0667a91f9b5 100644
--- a/lib/Drupal/views/Tests/ViewsSqlTest.php
+++ b/lib/Drupal/views/Tests/ViewsSqlTest.php
@@ -22,7 +22,6 @@ protected function setUp() {
     // Define the schema and views data variable before enabling the test module.
     variable_set('views_test_schema', $this->schemaDefinition());
     variable_set('views_test_views_data', $this->viewsData());
-    variable_set('views_test_views_plugins', $this->viewsPlugins());
 
     module_enable(array('views_test'));
     $this->resetAll();
@@ -206,10 +205,6 @@ protected function viewsData() {
     return $data;
   }
 
-  protected function viewsPlugins() {
-    return array();
-  }
-
   /**
    * A very simple test dataset.
    */
diff --git a/tests/test_plugins/views_test_plugin_access_test_dynamic.inc b/tests/views_test/lib/Drupal/views_test/Plugin/views/access/DynamicTest.php
similarity index 63%
rename from tests/test_plugins/views_test_plugin_access_test_dynamic.inc
rename to tests/views_test/lib/Drupal/views_test/Plugin/views/access/DynamicTest.php
index cecec2f960bc4609026bf86b486b36a3f051975c..92b6f148e3fa8f58f3b46faef4ad511f8571e79d 100644
--- a/tests/test_plugins/views_test_plugin_access_test_dynamic.inc
+++ b/tests/views_test/lib/Drupal/views_test/Plugin/views/access/DynamicTest.php
@@ -2,13 +2,23 @@
 
 /**
  * @file
- * Definition of views_test_plugin_access_test_dynamic.
+ * Definition of Drupal\views_test\Plugin\views\access\DynamicTest.
  */
 
+namespace Drupal\views_test\Plugin\views\access;
+
+use Drupal\views\Plugin\views\access\AccessPluginBase;
+
 /**
  * Tests a dynamic access plugin.
+ *
+ * @Plugin(
+ *   plugin_id = "test_dynamic",
+ *   title = @Translation("Dynamic test access plugin."),
+ *   help = @Translation("Provides a dynamic test access plugin.")
+ * )
  */
-class views_test_plugin_access_test_dynamic extends views_plugin_access {
+class DynamicTest extends AccessPluginBase {
   function option_definition() {
     $options = parent::option_definition();
     $options['access'] = array('default' => FALSE, 'bool' => TRUE);
diff --git a/tests/test_plugins/views_test_plugin_access_test_static.inc b/tests/views_test/lib/Drupal/views_test/Plugin/views/access/StaticTest.php
similarity index 53%
rename from tests/test_plugins/views_test_plugin_access_test_static.inc
rename to tests/views_test/lib/Drupal/views_test/Plugin/views/access/StaticTest.php
index 187d6ea28fb9dbd7cecc838ef5fd2bd6928ecdf1..5389d430c72d72e5cd41b932b2bbc918519303f6 100644
--- a/tests/test_plugins/views_test_plugin_access_test_static.inc
+++ b/tests/views_test/lib/Drupal/views_test/Plugin/views/access/StaticTest.php
@@ -2,13 +2,23 @@
 
 /**
  * @file
- * Definition of views_test_plugin_access_test_static.
+ * Definition of Drupal\views_test\Plugin\views\access\StaticTest.
  */
 
+namespace Drupal\views_test\Plugin\views\access;
+
+use Drupal\views\Plugin\views\access\AccessPluginBase;
+
 /**
  * Tests a static access plugin.
+ *
+ * @Plugin(
+ *   plugin_id = "test_static",
+ *   title = @Translation("Static test access plugin"),
+ *   help = @Translation("Provides a static test access plugin.")
+ * )
  */
-class views_test_plugin_access_test_static extends views_plugin_access {
+class StaticTest extends AccessPluginBase {
   function option_definition() {
     $options = parent::option_definition();
     $options['access'] = array('default' => FALSE, 'bool' => TRUE);
diff --git a/tests/views_plugin_localization_test.inc b/tests/views_test/lib/Drupal/views_test/Plugin/views/localization/LocalizationTest.php
similarity index 64%
rename from tests/views_plugin_localization_test.inc
rename to tests/views_test/lib/Drupal/views_test/Plugin/views/localization/LocalizationTest.php
index 1987fd8094c9c447d9409e82163930475bfeabca..361d9496e039768fe9794d12dfc003940ec91871 100644
--- a/tests/views_plugin_localization_test.inc
+++ b/tests/views_test/lib/Drupal/views_test/Plugin/views/localization/LocalizationTest.php
@@ -2,13 +2,24 @@
 
 /**
  * @file
- * Definition of views_plugin_localization_test.
+ * Definition of Drupal\views_test\Plugin\views\localization\LocalizationTest.
  */
 
+namespace Drupal\views_test\Plugin\views\localization;
+
+use Drupal\views\Plugin\views\localization\LocalizationPluginBase;
+
 /**
  * A stump localisation plugin which has static variables to cache the input.
+ *
+ * @Plugin(
+ *   plugin_id = "test_localization",
+ *   title = @Translation("Test."),
+ *   help = @Translation("This is a test description."),
+ *   no_uid = TRUE
+ * )
  */
-class views_plugin_localization_test extends views_plugin_localization {
+class LocalizationTest extends LocalizationPluginBase {
   /**
    * Store the strings which was translated.
    */
diff --git a/tests/views_test.info b/tests/views_test/views_test.info
similarity index 100%
rename from tests/views_test.info
rename to tests/views_test/views_test.info
diff --git a/tests/views_test.install b/tests/views_test/views_test.install
similarity index 100%
rename from tests/views_test.install
rename to tests/views_test/views_test.install
diff --git a/tests/views_test.module b/tests/views_test/views_test.module
similarity index 100%
rename from tests/views_test.module
rename to tests/views_test/views_test.module
diff --git a/tests/views_test.views_default.inc b/tests/views_test/views_test.views_default.inc
similarity index 100%
rename from tests/views_test.views_default.inc
rename to tests/views_test/views_test.views_default.inc
diff --git a/views.info b/views.info
index 6ce15df0057f2fd97d9d44796e43a90b26813f5c..122ed971b7a01dac7f1b6a70848c2745d4d44e8b 100644
--- a/views.info
+++ b/views.info
@@ -191,7 +191,4 @@ files[] = modules/user/views_plugin_argument_validate_user.inc
 files[] = modules/user/views_plugin_row_user_view.inc
 
 ; Tests
-files[] = tests/test_plugins/views_test_plugin_access_test_dynamic.inc
-files[] = tests/test_plugins/views_test_plugin_access_test_static.inc
-files[] = tests/views_plugin_localization_test.inc
-files[] = tests/views_test.views_default.inc
+files[] = tests/views_test/views_test.views_default.inc
diff --git a/views.module b/views.module
index d03642bd7f4f2150c1a7cce80e8ad7a7b7e2cbe8..735f7c593aafe75a80ec29ec04e561f19eef2c2f 100644
--- a/views.module
+++ b/views.module
@@ -1384,10 +1384,10 @@ function views_get_localization_plugin() {
   // Provide sane default values for the localization plugin.
   if (empty($plugin)) {
     if (module_exists('locale')) {
-      $plugin = 'Core';
+      $plugin = 'core';
     }
     else {
-      $plugin = 'None';
+      $plugin = 'none';
     }
   }