changeset 55:f51eb259cfe1 controller-tests

added first controller test
author Evgeniy.Koshkin
date Fri, 15 Nov 2013 16:18:10 +0400
parents 3c889ef68a6f
children 5a70f72e5233
files .idea/modules.xml server-tests/server-tests.iml server-tests/src/DownloadSymbolsControllerTest.java tests/agent-tests.iml tests/tests.iml
diffstat 5 files changed, 94 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- a/.idea/modules.xml	Fri Nov 15 15:23:11 2013 +0400
+++ b/.idea/modules.xml	Fri Nov 15 16:18:10 2013 +0400
@@ -3,10 +3,11 @@
   <component name="ProjectModuleManager">
     <modules>
       <module fileurl="file://$PROJECT_DIR$/agent/agent.iml" filepath="$PROJECT_DIR$/agent/agent.iml" />
+      <module fileurl="file://$PROJECT_DIR$/tests/agent-tests.iml" filepath="$PROJECT_DIR$/tests/agent-tests.iml" />
       <module fileurl="file://$PROJECT_DIR$/common/common.iml" filepath="$PROJECT_DIR$/common/common.iml" />
       <module fileurl="file://$PROJECT_DIR$/idea-resolve-helper.iml" filepath="$PROJECT_DIR$/idea-resolve-helper.iml" />
       <module fileurl="file://$PROJECT_DIR$/server/server.iml" filepath="$PROJECT_DIR$/server/server.iml" />
-      <module fileurl="file://$PROJECT_DIR$/tests/tests.iml" filepath="$PROJECT_DIR$/tests/tests.iml" />
+      <module fileurl="file://$PROJECT_DIR$/server-tests/server-tests.iml" filepath="$PROJECT_DIR$/server-tests/server-tests.iml" />
     </modules>
   </component>
 </project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server-tests/server-tests.iml	Fri Nov 15 16:18:10 2013 +0400
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="true" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module" module-name="server" />
+    <orderEntry type="library" name="Test-Api" level="project" />
+    <orderEntry type="library" scope="TEST" name="testng" level="project" />
+    <orderEntry type="library" name="jmock" level="project" />
+    <orderEntry type="library" name="Server-Api" level="project" />
+    <orderEntry type="library" name="TeamCity server runtime" level="project" />
+  </component>
+</module>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server-tests/src/DownloadSymbolsControllerTest.java	Fri Nov 15 16:18:10 2013 +0400
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2000-2013 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import jetbrains.buildServer.controllers.AuthorizationInterceptor;
+import jetbrains.buildServer.controllers.BaseController;
+import jetbrains.buildServer.controllers.BaseControllerTestCase;
+import jetbrains.buildServer.controllers.interceptors.auth.HttpAuthenticationManager;
+import jetbrains.buildServer.serverSide.metadata.MetadataStorage;
+import jetbrains.buildServer.symbols.AuthHelper;
+import jetbrains.buildServer.symbols.DownloadSymbolsController;
+import org.apache.commons.httpclient.HttpStatus;
+import org.testng.annotations.Test;
+
+import java.io.IOException;
+
+/**
+ * @author Evgeniy.Koshkin
+ */
+public class DownloadSymbolsControllerTest extends BaseControllerTestCase {
+
+  @Override
+  protected BaseController createController() throws IOException {
+    MetadataStorage buildMetadataStorage = myFixture.getSingletonService(MetadataStorage.class);
+    AuthorizationInterceptor authInterceptor = myFixture.getSingletonService(AuthorizationInterceptor.class);
+    AuthHelper authHelper = new AuthHelper(myFixture.getServerSettings(), myFixture.getUserModel(), myFixture.getSingletonService(HttpAuthenticationManager.class));
+    return new DownloadSymbolsController(myServer, myWebManager, authInterceptor,  myFixture.getSecurityContext(), buildMetadataStorage, authHelper);
+  }
+
+  @Test
+  public void request_not_existent_pdb() throws Exception {
+    myRequest.setRequestURI("mock", "/app/symbols/boo");
+    doGet();
+    assertEquals(HttpStatus.SC_NOT_FOUND, myResponse.getStatus());
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/agent-tests.iml	Fri Nov 15 16:18:10 2013 +0400
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="true" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module" module-name="agent" />
+    <orderEntry type="module" module-name="common" />
+    <orderEntry type="library" name="Test-Api libs" level="project" />
+    <orderEntry type="library" name="Test-Api" level="project" />
+    <orderEntry type="library" name="testng" level="project" />
+    <orderEntry type="library" name="jmock" level="project" />
+    <orderEntry type="library" name="jmock" level="project" />
+    <orderEntry type="library" name="Test-Api" level="project" />
+    <orderEntry type="library" name="Common-Api" level="project" />
+    <orderEntry type="library" name="Agent-Api" level="project" />
+    <orderEntry type="library" name="log4j" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="TeamCity agent runtime" level="project" />
+    <orderEntry type="library" name="Common-Impl" level="project" />
+    <orderEntry type="library" name="Idea-OpenApi" level="project" />
+  </component>
+</module>
+
--- a/tests/tests.iml	Fri Nov 15 15:23:11 2013 +0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="module" module-name="agent" />
-    <orderEntry type="module" module-name="common" />
-    <orderEntry type="module" module-name="server" />
-    <orderEntry type="library" name="Test-Api libs" level="project" />
-    <orderEntry type="library" name="Test-Api" level="project" />
-    <orderEntry type="library" name="testng" level="project" />
-    <orderEntry type="library" name="jmock" level="project" />
-    <orderEntry type="library" name="testng" level="project" />
-    <orderEntry type="library" name="jmock" level="project" />
-    <orderEntry type="library" name="Test-Api" level="project" />
-    <orderEntry type="library" name="Common-Api" level="project" />
-    <orderEntry type="library" name="Agent-Api" level="project" />
-    <orderEntry type="library" name="log4j" level="project" />
-    <orderEntry type="library" name="TeamCity server runtime" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="TeamCity agent runtime" level="project" />
-    <orderEntry type="library" name="Common-Impl" level="project" />
-    <orderEntry type="library" name="Server-Api" level="project" />
-    <orderEntry type="library" name="Idea-OpenApi" level="project" />
-    <orderEntry type="library" name="Servlet Api" level="project" />
-  </component>
-</module>
-