Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(217)

Unified Diff: visual_studio/NativeClientVSAddIn/UnitTests/WebServerTest.cs

Issue 10836143: Refactored the VS add-in (Closed) Base URL: https://nativeclient-sdk.googlecode.com/svn/trunk/src
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: visual_studio/NativeClientVSAddIn/UnitTests/WebServerTest.cs
diff --git a/visual_studio/NativeClientVSAddIn/UnitTests/WebServerTest.cs b/visual_studio/NativeClientVSAddIn/UnitTests/WebServerTest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..08e8ef909c8ef5e6715d0e06ebba2105ddbf16c7
--- /dev/null
+++ b/visual_studio/NativeClientVSAddIn/UnitTests/WebServerTest.cs
@@ -0,0 +1,132 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+namespace UnitTests
+{
+ using System;
+
+ using EnvDTE;
+ using EnvDTE80;
+ using Microsoft.VisualStudio.TestTools.UnitTesting;
+
+ using NativeClientVSAddIn;
+
+ /// <summary>
+ /// This is a test class for WebServerTest and is intended
+ /// to contain all WebServer Unit Tests
+ /// </summary>
+ [TestClass]
+ public class WebServerTest
+ {
+ /// <summary>
+ /// The main visual studio object.
+ /// </summary>
+ private DTE2 dte_;
+
+ /// <summary>
+ /// Gets or sets the test context which provides
+ /// information about and functionality for the current test run.
+ /// </summary>
+ public TestContext TestContext { get; set; }
+
+ /// <summary>
+ /// This is run before each test to create test resources.
+ /// </summary>
+ [TestInitialize]
+ public void TestSetup()
+ {
+ dte_ = TestUtilities.StartVisualStudioInstance();
+ try
+ {
+ TestUtilities.AssertAddinLoaded(dte_, NativeClientVSAddIn.Strings.AddInName);
+ }
+ catch
+ {
+ TestUtilities.CleanUpVisualStudioInstance(dte_);
+ throw;
+ }
+ }
+
+ /// <summary>
+ /// This is run after each test to clean up things created in TestSetup().
+ /// </summary>
+ [TestCleanup]
+ public void TestCleanup()
+ {
+ TestUtilities.CleanUpVisualStudioInstance(dte_);
+ }
+
+ /// <summary>
+ /// A test for WebServer Constructor. Starts the web server.
+ /// </summary>
+ [TestMethod]
+ public void WebServerConstructorTest()
+ {
+ OutputWindowPane outputWindowPane = dte_.ToolWindows.OutputWindow.OutputWindowPanes.Add(
+ Strings.WebServerOutputWindowTitle);
+
+ // Set up mock property manager to return the desired property values.
+ MockPropertyManager properties = new MockPropertyManager(
+ PropertyManager.ProjectPlatformType.Pepper,
+ delegate(string page, string name)
+ {
+ switch (page)
+ {
+ case "ConfigurationGeneral":
+ switch (name)
+ {
+ case "VSNaClSDKRoot": return System.Environment.GetEnvironmentVariable(
+ NativeClientVSAddIn.Strings.SDKPathEnvironmentVariable);
+ case "NaClWebServerPort": return "5105";
+ }
+
+ break;
+ case "Property":
+ switch (name)
+ {
+ case "ProjectDirectory": return TestContext.DeploymentDirectory;
+ }
+
+ break;
+ }
+
+ return null;
+ },
+ null);
+
+ WebServer target = null;
+ try
+ {
+ target = new WebServer(outputWindowPane, properties);
+
+ TestUtilities.AssertTrueWithTimeout(
+ () => !string.IsNullOrEmpty(TestUtilities.GetPaneText(outputWindowPane)),
+ TimeSpan.FromMilliseconds(500),
+ 20,
+ "Pane text never appeared");
+
+ TestUtilities.AssertTrueWithTimeout(
+ () => TestUtilities.DoesProcessExist("python.exe", "5105", "httpd.py"),
+ TimeSpan.FromMilliseconds(500),
+ 20,
+ "Web server failed to start.");
+
+ target.Dispose();
+
+ TestUtilities.AssertTrueWithTimeout(
+ () => !TestUtilities.DoesProcessExist("python.exe", "5105", "httpd.py"),
+ TimeSpan.FromMilliseconds(500),
+ 20,
+ "Web server failed to shut down.");
+ }
+ finally
+ {
+ if (target != null)
+ {
+ target.Dispose();
+ }
+ }
+ }
+ }
+}
« no previous file with comments | « visual_studio/NativeClientVSAddIn/UnitTests/UnitTests.csproj ('k') | visual_studio/NativeClientVSAddIn/build.bat » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698