diff --git a/tests/DrupalCI/Tests/Console/Command/AllCommandsTest.php b/tests/DrupalCI/Tests/Console/Command/AllCommandsTest.php
new file mode 100644
index 0000000..494cf7d
--- /dev/null
+++ b/tests/DrupalCI/Tests/Console/Command/AllCommandsTest.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace DrupalCI\Tests\Console\Command;
+
+use DrupalCI\Tests\Console\Command\CommandTestBase;
+
+/**
+ * Tests dealing with all of the expected commands.
+ *
+ * @group Command
+ */
+class AllCommandsPresentTest extends CommandTestBase {
+
+  public function provideCommandNames() {
+    return [
+      ['build'],
+      ['config:clear'],
+      ['config:list'],
+      ['config:load'],
+      ['config:reset'],
+      ['config:save'],
+      ['config:set'],
+      ['config:show'],
+      ['docker-rm'],
+      ['init'],
+      ['init:base'],
+      ['init:config'],
+      ['init:database'],
+      ['init:dependencies'],
+      ['init:docker'],
+      ['init:php'],
+      ['init:web'],
+      ['pull'],
+      ['run'],
+      ['status'],
+      ['travis'],
+    ];
+  }
+
+  /**
+   * Verify that we can find all commands on the app object.
+   *
+   * @coversNothing
+   * @dataProvider provideCommandNames
+   */
+  public function testAllCommandsPresent($command_name) {
+    $c = $this->getConsoleApp();
+    // find() throws an exception if the name can't be found.
+    $command = $c->find($command_name);
+    $this->assertInstanceOf('Symfony\Component\Console\Command\Command', $command);
+  }
+
+}
diff --git a/tests/DrupalCI/Tests/Console/Command/CommandTestBase.php b/tests/DrupalCI/Tests/Console/Command/CommandTestBase.php
new file mode 100644
index 0000000..723138f
--- /dev/null
+++ b/tests/DrupalCI/Tests/Console/Command/CommandTestBase.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace DrupalCI\Tests\Console\Command;
+
+use Pimple\Container;
+use DrupalCI\Providers\DrupalCIServiceProvider;
+
+abstract class CommandTestBase extends \PHPUnit_Framework_TestCase {
+
+  /**
+   * The service container.
+   *
+   * @var \Pimple\Container
+   */
+  protected $container;
+
+  /**
+   * @return \Pimple\Container
+   */
+  protected function getContainer() {
+    if (empty($this->container)) {
+      $this->container = new Container();
+      $this->container->register(new DrupalCIServiceProvider());
+    }
+    return $this->container;
+  }
+
+  /**
+   *
+   * @return \DrupalCI\Console\DrupalCIConsoleApp
+   */
+  protected function getConsoleApp() {
+    $container = $this->getContainer();
+    return $container['console'];
+  }
+
+}
diff --git a/tests/DrupalCI/Tests/Console/Command/StatusCommandTest.php b/tests/DrupalCI/Tests/Console/Command/StatusCommandTest.php
new file mode 100644
index 0000000..9dddaa3
--- /dev/null
+++ b/tests/DrupalCI/Tests/Console/Command/StatusCommandTest.php
@@ -0,0 +1,19 @@
+<?php
+
+namespace DrupalCI\Tests\Console\Command;
+
+use Symfony\Component\Console\Tester\CommandTester;
+use DrupalCI\Tests\Console\Command\CommandTestBase;
+
+class StatusCommandTest extends CommandTestBase {
+
+  public function testStatus() {
+    $c = $this->getConsoleApp();
+    $command = $c->find('status');
+    $commandTester = new CommandTester($command);
+    $commandTester->execute(['command' => $command->getName()]);
+
+    $this->assertRegExp('/Running Status Checks ... \nChecking Docker Version ... \n/', $commandTester->getDisplay(TRUE));
+  }
+
+}
