refactor parameters
authorEugene.Petrenko <eugene.petrenko@gmail.com>
Sun, 10 Jul 2011 12:16:24 +0000 (16:16 +0400)
committerEugene.Petrenko <eugene.petrenko@gmail.com>
Sun, 10 Jul 2011 12:16:24 +0000 (16:16 +0400)
15 files changed:
nuget-agent/src/jetbrains/buildServer/nuget/agent/install/LocateNuGetConfigBuildProcess.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/install/NuGetActionFactory.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/install/PackagesInstallerRunner.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/install/impl/NuGetActionFactoryImpl.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetParameters.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetParametersHolder.java [new file with mode: 0644]
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/PackagesInstallParameters.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/PackagesParametersFactory.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/PackagesUpdateParameters.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/impl/PackagesParametersFactoryImpl.java
nuget-common/src/jetbrains/buildServer/nuget/common/PackagesConstants.java
nuget-tests/src/jetbrains/buildServer/nuget/tests/agent/LocateNuGetConfigBuildProcessTest.java
nuget-tests/src/jetbrains/buildServer/nuget/tests/agent/NuGetInstallPackageActionFactoryTest.java
nuget-tests/src/jetbrains/buildServer/nuget/tests/agent/NuGetUpdatePackageActionFactoryTest.java
nuget-tests/src/jetbrains/buildServer/nuget/tests/integration/InstallPackageIntegtatoinTest.java

index ec4bab724a453705dc119590c80371f6a09e28df..fc52a33e0f1668f166a4c0a614568d9d0b671ee5 100644 (file)
@@ -20,7 +20,7 @@ import com.intellij.openapi.diagnostic.Logger;
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.agent.BuildFinishedStatus;\r
 import jetbrains.buildServer.agent.BuildProgressLogger;\r
-import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
 import jetbrains.buildServer.nuget.agent.util.BuildProcessBase;\r
 import jetbrains.buildServer.util.FileUtil;\r
 import jetbrains.buildServer.util.StringUtil;\r
@@ -41,11 +41,11 @@ import java.util.List;
 public class LocateNuGetConfigBuildProcess extends BuildProcessBase {\r
   private static final Logger LOG = Logger.getInstance(LocateNuGetConfigBuildProcess.class.getName());\r
 \r
-  private final PackagesInstallParameters myContext;\r
+  private final NuGetParameters myContext;\r
   private final BuildProgressLogger myLogger;\r
   private final Callback myCallback;\r
 \r
-  public LocateNuGetConfigBuildProcess(@NotNull final PackagesInstallParameters context,\r
+  public LocateNuGetConfigBuildProcess(@NotNull final NuGetParameters context,\r
                                        @NotNull final BuildProgressLogger logger,\r
                                        @NotNull final Callback callback) {\r
     myContext = context;\r
index 7972a4c91549d4d26abf946b071c4beb07dd189b..378f3783958c12217e579b404ff946fb9db73352 100644 (file)
@@ -19,6 +19,7 @@ package jetbrains.buildServer.nuget.agent.install;
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.agent.BuildProcess;\r
 import jetbrains.buildServer.agent.BuildRunnerContext;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
 import org.jetbrains.annotations.NotNull;\r
index 7781c942a0e681448f9a1238397eb7c4a24f8567..0b79e860e792e9b3941e80314cd6bad315d9dc89 100644 (file)
@@ -19,6 +19,7 @@ package jetbrains.buildServer.nuget.agent.install;
 import com.intellij.openapi.diagnostic.Logger;\r
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.agent.*;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesParametersFactory;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
 import jetbrains.buildServer.nuget.agent.util.DelegatingBuildProcess;\r
@@ -52,11 +53,17 @@ public class PackagesInstallerRunner implements AgentBuildRunner, AgentBuildRunn
   public BuildProcess createBuildProcess(@NotNull AgentRunningBuild runningBuild,\r
                                          @NotNull final BuildRunnerContext context) throws RunBuildException {\r
     final CompositeBuildProcessImpl process = new CompositeBuildProcessImpl();\r
-    final PackagesInstallParameters parameters = myParametersFactory.loadParameters(context);\r
+    final NuGetParameters parameters = myParametersFactory.loadNuGetParameters(context);\r
+    final PackagesInstallParameters installParameters = myParametersFactory.loadInstallPackagesParameters(context, parameters);\r
+\r
+    if (installParameters == null) {\r
+      throw new RunBuildException("NuGet install packages must be enabled");\r
+    }\r
+\r
     final LocateNuGetConfigBuildProcess locate = new LocateNuGetConfigBuildProcess(\r
             parameters,\r
             context.getBuild().getBuildLogger(),\r
-            createLocateCallback(context, process, parameters)\r
+            createLocateCallback(context, process, installParameters)\r
     );\r
     process.pushBuildProcess(locate);\r
 \r
index f03d30199086f3a2d2ed728a130fcda9538b1655..0eb14b8f40bb386025740be6f4cb8231f352e7c6 100644 (file)
@@ -20,6 +20,7 @@ import jetbrains.buildServer.RunBuildException;
 import jetbrains.buildServer.agent.BuildProcess;\r
 import jetbrains.buildServer.agent.BuildRunnerContext;\r
 import jetbrains.buildServer.nuget.agent.install.NuGetActionFactory;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
 import jetbrains.buildServer.nuget.agent.util.CommandlineBuildProcessFactory;\r
@@ -28,6 +29,7 @@ import org.jetbrains.annotations.NotNull;
 \r
 import java.io.File;\r
 import java.util.ArrayList;\r
+import java.util.Collection;\r
 import java.util.List;\r
 \r
 /**\r
@@ -55,17 +57,7 @@ public class NuGetActionFactoryImpl implements NuGetActionFactory {
     argz.add("-OutputDirectory");\r
     argz.add(FileUtil.getCanonicalFile(targetFolder).getPath());\r
 \r
-    for (String source : params.getNuGetPackageSources()) {\r
-      argz.add("-Source");\r
-      argz.add(source);\r
-    }\r
-\r
-    return myFactory.executeCommandLine(\r
-            context,\r
-            params.getNuGetExeFile(),\r
-            argz,\r
-            packagesConfig.getParentFile()\r
-    );\r
+    return executeNuGet(context, params.getNuGetParameters(), argz, packagesConfig.getParentFile());\r
   }\r
 \r
 \r
@@ -88,16 +80,26 @@ public class NuGetActionFactoryImpl implements NuGetActionFactory {
       argz.add(id);\r
     }\r
 \r
-    for (String source : params.getNuGetPackageSources()) {\r
+    return executeNuGet(context, params.getNuGetParameters(), argz, packagesConfig.getParentFile());\r
+  }\r
+\r
+\r
+  @NotNull\r
+  private BuildProcess executeNuGet(@NotNull final BuildRunnerContext context,\r
+                                    @NotNull final NuGetParameters nuget,\r
+                                    @NotNull final Collection<String> arguments,\r
+                                    @NotNull final File workingDirectory) throws RunBuildException {\r
+    final List<String> argz = new ArrayList<String>(arguments);\r
+    for (String source : nuget.getNuGetPackageSources()) {\r
       argz.add("-Source");\r
       argz.add(source);\r
     }\r
 \r
     return myFactory.executeCommandLine(\r
             context,\r
-            params.getNuGetExeFile(),\r
+            nuget.getNuGetExeFile(),\r
             argz,\r
-            packagesConfig.getParentFile()\r
+            workingDirectory\r
     );\r
   }\r
 }\r
index 709dad9d64e5622ea98a835a9939c350e1dfd941..771761f99217c75f01fa80272902718476edddbd 100644 (file)
@@ -23,4 +23,12 @@ public interface NuGetParameters {
    */\r
   @NotNull\r
   Collection<String> getNuGetPackageSources();\r
+\r
+  /**\r
+   * @return path to solution file.\r
+   * @throws jetbrains.buildServer.RunBuildException\r
+   *          if .sln file is not found\r
+   */\r
+  @NotNull\r
+  File getSolutionFile() throws RunBuildException;\r
 }\r
diff --git a/nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetParametersHolder.java b/nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetParametersHolder.java
new file mode 100644 (file)
index 0000000..66e2ac7
--- /dev/null
@@ -0,0 +1,28 @@
+/*\r
+ * Copyright 2000-2011 JetBrains s.r.o.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+package jetbrains.buildServer.nuget.agent.parameters;\r
+\r
+import org.jetbrains.annotations.NotNull;\r
+\r
+/**\r
+ * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
+ * Date: 10.07.11 15:57\r
+ */\r
+public interface NuGetParametersHolder {\r
+  @NotNull\r
+  NuGetParameters getNuGetParameters();\r
+}\r
index a40bb90119418293bef97f43ac80293738fa7ff3..2925e8c210a030be83eac4f027ac99a5c44a1ce6 100644 (file)
 \r
 package jetbrains.buildServer.nuget.agent.parameters;\r
 \r
-import jetbrains.buildServer.RunBuildException;\r
-import org.jetbrains.annotations.NotNull;\r
-\r
-import java.io.File;\r
-\r
 /**\r
  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
  * Date: 07.07.11 16:18\r
  */\r
-public interface PackagesInstallParameters extends NuGetParameters {\r
-  /**\r
-   * @return path to solution file.\r
-   * @throws jetbrains.buildServer.RunBuildException\r
-   *          if .sln file is not found\r
-   */\r
-  @NotNull\r
-  File getSolutionFile() throws RunBuildException;\r
-\r
+public interface PackagesInstallParameters extends NuGetParametersHolder{\r
   /**\r
    * @return true if pacakges are expected to be installed\r
    *         without version\r
index 14823a122419d46f6998307a17a08c8fc7b02a47..a5e9afc08ead318167e76dc11b9b211e71696b83 100644 (file)
@@ -19,6 +19,7 @@ package jetbrains.buildServer.nuget.agent.parameters;
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.agent.BuildRunnerContext;\r
 import org.jetbrains.annotations.NotNull;\r
+import org.jetbrains.annotations.Nullable;\r
 \r
 /**\r
  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
@@ -27,10 +28,19 @@ import org.jetbrains.annotations.NotNull;
 public interface PackagesParametersFactory {\r
   /**\r
    * Creates object-style implementation of parameters\r
+   *\r
    * @param context current build step context\r
    * @return parameters\r
    * @throws RunBuildException if failed to create parameters\r
    */\r
   @NotNull\r
-  PackagesInstallParameters loadParameters(@NotNull final BuildRunnerContext context) throws RunBuildException;\r
+  NuGetParameters loadNuGetParameters(@NotNull final BuildRunnerContext context) throws RunBuildException;\r
+\r
+  @Nullable\r
+  PackagesInstallParameters loadInstallPackagesParameters(@NotNull final BuildRunnerContext context,\r
+                                                          @NotNull final NuGetParameters nuget) throws RunBuildException;\r
+\r
+  @Nullable\r
+  PackagesUpdateParameters loadUpdatePackagesParameters(@NotNull final BuildRunnerContext context,\r
+                                                        @NotNull final NuGetParameters nuget) throws RunBuildException;\r
 }\r
index 9292e8cb0f6ab2be833415293327b0b00c2849cc..c016b6f5a8004ecb29beffacfc8ed64d414afb3b 100644 (file)
@@ -25,7 +25,7 @@ import java.util.Collection;
  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
  * Date: 10.07.11 14:02\r
  */\r
-public interface PackagesUpdateParameters extends NuGetParameters {\r
+public interface PackagesUpdateParameters extends NuGetParametersHolder{\r
   /**\r
    * @return true if update should be performed\r
    *         with -Safe argument\r
index 16107d9c41117c49824cc2df02d516db999c1946..aeb8ea747fdafb0c66ef37b4972e856173b48b76 100644 (file)
@@ -18,12 +18,13 @@ package jetbrains.buildServer.nuget.agent.parameters.impl;
 \r
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.agent.BuildRunnerContext;\r
-import jetbrains.buildServer.nuget.agent.parameters.PackagesParametersFactory;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.PackagesParametersFactory;\r
+import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
 import jetbrains.buildServer.util.FileUtil;\r
 import jetbrains.buildServer.util.StringUtil;\r
 import org.jetbrains.annotations.NotNull;\r
-import org.jetbrains.annotations.Nullable;\r
 \r
 import java.io.File;\r
 import java.util.ArrayList;\r
@@ -39,11 +40,11 @@ import static jetbrains.buildServer.nuget.common.PackagesConstants.*;
  */\r
 public class PackagesParametersFactoryImpl implements PackagesParametersFactory {\r
   @NotNull\r
-  public PackagesInstallParameters loadParameters(@NotNull final BuildRunnerContext context) throws RunBuildException {\r
-    return new PackagesInstallParameters() {\r
+  public NuGetParameters loadNuGetParameters(@NotNull final BuildRunnerContext context) throws RunBuildException {\r
+    return new NuGetParameters() {\r
 \r
-      private File resolvePath(@Nullable final String runnerParameter, @NotNull String name) throws RunBuildException {\r
-        String path = getParameter(runnerParameter);\r
+      private File resolvePath(@NotNull final String runnerParameter, @NotNull String name) throws RunBuildException {\r
+        String path = getParameter(context, runnerParameter);\r
         if (StringUtil.isEmptyOrSpaces(path))\r
           throw new RunBuildException("Runner parameter '" + runnerParameter + "' was not found");\r
 \r
@@ -68,30 +69,70 @@ public class PackagesParametersFactoryImpl implements PackagesParametersFactory
 \r
       @NotNull\r
       public Collection<String> getNuGetPackageSources() {\r
-        String sources = getParameter(NUGET_SOURCES);\r
-        if (sources == null) return Collections.emptyList();\r
-\r
-        List<String> list = new ArrayList<String>();\r
-        for (String _source : sources.split("[\\r\\n]+")) {\r
-          final String source = _source.trim();\r
-          if (!source.isEmpty()) {\r
-            list.add(source);\r
-          }\r
-        }\r
+        return getMultilineParameter(context, NUGET_SOURCES);\r
+      }\r
 \r
-        return Collections.unmodifiableList(list);\r
+      public boolean getExcludeVersion() {\r
+        return getBoolean(context, NUGET_EXCLUDE_VERSION);\r
+      }\r
+    };\r
+  }\r
+\r
+  private Collection<String> getMultilineParameter(BuildRunnerContext context, String nugetSources) {\r
+    String sources = getParameter(context, nugetSources);\r
+    if (sources == null) return Collections.emptyList();\r
+\r
+    List<String> list = new ArrayList<String>();\r
+    for (String _source : sources.split("[\\r\\n]+")) {\r
+      final String source = _source.trim();\r
+      if (!source.isEmpty()) {\r
+        list.add(source);\r
+      }\r
+    }\r
+\r
+    return Collections.unmodifiableList(list);\r
+  }\r
+\r
+  private boolean getBoolean(@NotNull BuildRunnerContext context, @NotNull String key) {\r
+    return !StringUtil.isEmptyOrSpaces(getParameter(context, key));\r
+  }\r
+\r
+  private String getParameter(@NotNull BuildRunnerContext context, @NotNull String key) {\r
+    return context.getRunnerParameters().get(key);\r
+  }\r
+\r
+\r
+  public PackagesInstallParameters loadInstallPackagesParameters(@NotNull final BuildRunnerContext context,\r
+                                                                 @NotNull final NuGetParameters nuget) throws RunBuildException {\r
+    return new PackagesInstallParameters() {\r
+      @NotNull\r
+      public NuGetParameters getNuGetParameters() {\r
+        return nuget;\r
       }\r
 \r
       public boolean getExcludeVersion() {\r
-        return getBoolean(NUGET_EXCLUDE_VERSION);\r
+        return getBoolean(context, NUGET_EXCLUDE_VERSION);\r
       }\r
+    };\r
+  }\r
 \r
-      private boolean getBoolean(String key) {\r
-        return !StringUtil.isEmptyOrSpaces(getParameter(key));\r
+  public PackagesUpdateParameters loadUpdatePackagesParameters(@NotNull final BuildRunnerContext context,\r
+                                                               @NotNull final NuGetParameters nuget) throws RunBuildException {\r
+    if (!getBoolean(context, NUGET_UPDATE_PACKAGES)) return null;\r
+\r
+    return new PackagesUpdateParameters() {\r
+      @NotNull\r
+      public NuGetParameters getNuGetParameters() {\r
+        return nuget;\r
       }\r
 \r
-      private String getParameter(String key) {\r
-        return context.getRunnerParameters().get(key);\r
+      public boolean getUseSafeUpdate() {\r
+        return getBoolean(context, NUGET_UPDATE_PACKAGES_SAFE);\r
+      }\r
+\r
+      @NotNull\r
+      public Collection<String> getPackagesToUpdate() {\r
+        return getMultilineParameter(context, NUGET_UPDATE_PACKAGE_IDS);\r
       }\r
     };\r
   }\r
index b056936896a9d19ce14ad2dbc542f91c95dd11bb..912b72d1f9ad8e699736e24e41fc0216a94c6d26 100644 (file)
@@ -30,6 +30,7 @@ public interface PackagesConstants {
 \r
   public static final String NUGET_UPDATE_PACKAGES = "nuget.updatePackages";\r
   public static final String NUGET_UPDATE_PACKAGES_SAFE = "nuget.updatePackages.safe";\r
+  public static final String NUGET_UPDATE_PACKAGE_IDS = "nuget.updatePackages.ids";\r
 \r
   public static final String SLN_PATH = "sln.path";\r
 }\r
index 5be91b22fe80d7219e3fcaf5826bbfd22031d757..91aed588c78bcf7c09a3199796cfd7e31af40a2d 100644 (file)
@@ -20,7 +20,7 @@ import jetbrains.buildServer.RunBuildException;
 import jetbrains.buildServer.agent.BuildFinishedStatus;\r
 import jetbrains.buildServer.agent.BuildProgressLogger;\r
 import jetbrains.buildServer.nuget.agent.install.LocateNuGetConfigBuildProcess;\r
-import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
 import jetbrains.buildServer.nuget.tests.util.BuildProcessTestCase;\r
 import jetbrains.buildServer.util.FileUtil;\r
 import org.jmock.Expectations;\r
@@ -38,7 +38,7 @@ public class LocateNuGetConfigBuildProcessTest extends BuildProcessTestCase {
   private File myRoot;\r
   private Mockery m;\r
   private BuildProgressLogger log;\r
-  private PackagesInstallParameters ps;\r
+  private NuGetParameters ps;\r
   private LocateNuGetConfigBuildProcess.Callback cb;\r
   private LocateNuGetConfigBuildProcess proc;\r
 \r
@@ -49,7 +49,7 @@ public class LocateNuGetConfigBuildProcessTest extends BuildProcessTestCase {
     myRoot = createTempDir();\r
     m = new Mockery();\r
     log = m.mock(BuildProgressLogger.class);\r
-    ps = m.mock(PackagesInstallParameters.class);\r
+    ps = m.mock(NuGetParameters.class);\r
     cb = m.mock(LocateNuGetConfigBuildProcess.Callback.class);\r
     proc = new LocateNuGetConfigBuildProcess(ps, log, cb);\r
   }\r
index ffa3e952225dbb078ee19dcf3d025568f46ce481..7eaf04787c83089d3fe7c21e0c34c05164fa9124 100644 (file)
@@ -19,6 +19,7 @@ package jetbrains.buildServer.nuget.tests.agent;
 import jetbrains.buildServer.BaseTestCase;\r
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.agent.BuildRunnerContext;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
 import jetbrains.buildServer.nuget.agent.install.impl.NuGetActionFactoryImpl;\r
 import jetbrains.buildServer.nuget.agent.util.CommandlineBuildProcessFactory;\r
@@ -42,6 +43,7 @@ public class NuGetInstallPackageActionFactoryTest extends BaseTestCase {
   private NuGetActionFactoryImpl i;\r
   private BuildRunnerContext ctx;\r
   private PackagesInstallParameters ps;\r
+  private NuGetParameters nugetParams;\r
   private File myTarget;\r
   private File myConfig;\r
 \r
@@ -54,17 +56,22 @@ public class NuGetInstallPackageActionFactoryTest extends BaseTestCase {
     i = new NuGetActionFactoryImpl(myProcessFactory);\r
     ctx = m.mock(BuildRunnerContext.class);\r
     ps = m.mock(PackagesInstallParameters.class);\r
+    nugetParams = m.mock(NuGetParameters.class);\r
 \r
     myTarget = createTempDir();\r
     myConfig = createTempFile();\r
+\r
+    m.checking(new Expectations(){{\r
+      allowing(ps).getNuGetParameters(); will(returnValue(nugetParams));\r
+    }});\r
   }\r
 \r
   @Test\r
   public void test_no_sources() throws RunBuildException, IOException {\r
     final File nuget = createTempFile();\r
     m.checking(new Expectations(){{\r
-      allowing(ps).getNuGetPackageSources(); will(returnValue(Collections.<String>emptyList()));\r
-      allowing(ps).getNuGetExeFile();  will(returnValue(nuget));\r
+      allowing(nugetParams).getNuGetPackageSources(); will(returnValue(Collections.<String>emptyList()));\r
+      allowing(nugetParams).getNuGetExeFile();  will(returnValue(nuget));\r
       allowing(ps).getExcludeVersion(); will(returnValue(false));\r
 \r
       oneOf(myProcessFactory).executeCommandLine(\r
@@ -83,8 +90,8 @@ public class NuGetInstallPackageActionFactoryTest extends BaseTestCase {
   public void test_no_sources_excludeVersion() throws RunBuildException, IOException {\r
     final File nuget = createTempFile();\r
     m.checking(new Expectations(){{\r
-      allowing(ps).getNuGetPackageSources(); will(returnValue(Collections.<String>emptyList()));\r
-      allowing(ps).getNuGetExeFile();  will(returnValue(nuget));\r
+      allowing(nugetParams).getNuGetPackageSources(); will(returnValue(Collections.<String>emptyList()));\r
+      allowing(nugetParams).getNuGetExeFile();  will(returnValue(nuget));\r
       allowing(ps).getExcludeVersion(); will(returnValue(true));\r
 \r
       oneOf(myProcessFactory).executeCommandLine(\r
@@ -103,8 +110,8 @@ public class NuGetInstallPackageActionFactoryTest extends BaseTestCase {
   public void test_sources() throws RunBuildException, IOException {\r
     final File nuget = createTempFile();\r
     m.checking(new Expectations(){{\r
-      allowing(ps).getNuGetPackageSources(); will(returnValue(Arrays.asList("aaa", "bbb")));\r
-      allowing(ps).getNuGetExeFile();  will(returnValue(nuget));\r
+      allowing(nugetParams).getNuGetPackageSources(); will(returnValue(Arrays.asList("aaa", "bbb")));\r
+      allowing(nugetParams).getNuGetExeFile();  will(returnValue(nuget));\r
       allowing(ps).getExcludeVersion(); will(returnValue(false));\r
 \r
       oneOf(myProcessFactory).executeCommandLine(\r
index d9e22c31fddc83d20b9d2c25f48621b5cd282b1a..afb4d94265020628c851d6cc55f9e0f2364a63ec 100644 (file)
@@ -19,6 +19,7 @@ package jetbrains.buildServer.nuget.tests.agent;
 import jetbrains.buildServer.BaseTestCase;\r
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.agent.BuildRunnerContext;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
 import jetbrains.buildServer.nuget.agent.install.impl.NuGetActionFactoryImpl;\r
 import jetbrains.buildServer.nuget.agent.util.CommandlineBuildProcessFactory;\r
@@ -41,6 +42,7 @@ public class NuGetUpdatePackageActionFactoryTest extends BaseTestCase {
   private CommandlineBuildProcessFactory myProcessFactory;\r
   private NuGetActionFactoryImpl i;\r
   private BuildRunnerContext ctx;\r
+  private NuGetParameters nugetParams;\r
   private PackagesUpdateParameters ps;\r
   private File myTarget;\r
   private File myConfig;\r
@@ -54,17 +56,21 @@ public class NuGetUpdatePackageActionFactoryTest extends BaseTestCase {
     i = new NuGetActionFactoryImpl(myProcessFactory);\r
     ctx = m.mock(BuildRunnerContext.class);\r
     ps = m.mock(PackagesUpdateParameters.class);\r
+    nugetParams = m.mock(NuGetParameters.class);\r
 \r
     myTarget = createTempDir();\r
     myConfig = createTempFile();\r
+    m.checking(new Expectations(){{\r
+      allowing(ps).getNuGetParameters(); will(returnValue(nugetParams));\r
+    }});\r
   }\r
 \r
   @Test\r
   public void test_no_sources() throws RunBuildException, IOException {\r
     final File nuget = createTempFile();\r
     m.checking(new Expectations(){{\r
-      allowing(ps).getNuGetPackageSources(); will(returnValue(Collections.<String>emptyList()));\r
-      allowing(ps).getNuGetExeFile();  will(returnValue(nuget));\r
+      allowing(nugetParams).getNuGetPackageSources(); will(returnValue(Collections.<String>emptyList()));\r
+      allowing(nugetParams).getNuGetExeFile();  will(returnValue(nuget));\r
       allowing(ps).getUseSafeUpdate(); will(returnValue(false));\r
       allowing(ps).getPackagesToUpdate(); will(returnValue(Collections.<String>emptyList()));\r
 \r
@@ -84,8 +90,8 @@ public class NuGetUpdatePackageActionFactoryTest extends BaseTestCase {
   public void test_packageIds() throws RunBuildException, IOException {\r
     final File nuget = createTempFile();\r
     m.checking(new Expectations(){{\r
-      allowing(ps).getNuGetPackageSources(); will(returnValue(Collections.<String>emptyList()));\r
-      allowing(ps).getNuGetExeFile();  will(returnValue(nuget));\r
+      allowing(nugetParams).getNuGetPackageSources(); will(returnValue(Collections.<String>emptyList()));\r
+      allowing(nugetParams).getNuGetExeFile();  will(returnValue(nuget));\r
       allowing(ps).getUseSafeUpdate(); will(returnValue(false));\r
       allowing(ps).getPackagesToUpdate(); will(returnValue(Arrays.asList("aaa", "bbb")));\r
 \r
@@ -105,8 +111,8 @@ public class NuGetUpdatePackageActionFactoryTest extends BaseTestCase {
   public void test_safe() throws RunBuildException, IOException {\r
     final File nuget = createTempFile();\r
     m.checking(new Expectations(){{\r
-      allowing(ps).getNuGetPackageSources(); will(returnValue(Collections.<String>emptyList()));\r
-      allowing(ps).getNuGetExeFile();  will(returnValue(nuget));\r
+      allowing(nugetParams).getNuGetPackageSources(); will(returnValue(Collections.<String>emptyList()));\r
+      allowing(nugetParams).getNuGetExeFile();  will(returnValue(nuget));\r
       allowing(ps).getUseSafeUpdate(); will(returnValue(true));\r
       allowing(ps).getPackagesToUpdate(); will(returnValue(Collections.<String>emptyList()));\r
 \r
@@ -126,8 +132,8 @@ public class NuGetUpdatePackageActionFactoryTest extends BaseTestCase {
   public void test_sources() throws RunBuildException, IOException {\r
     final File nuget = createTempFile();\r
     m.checking(new Expectations(){{\r
-      allowing(ps).getNuGetPackageSources(); will(returnValue(Arrays.asList("aaa", "bbb")));\r
-      allowing(ps).getNuGetExeFile();  will(returnValue(nuget));\r
+      allowing(NuGetUpdatePackageActionFactoryTest.this.nugetParams).getNuGetPackageSources(); will(returnValue(Arrays.asList("aaa", "bbb")));\r
+      allowing(NuGetUpdatePackageActionFactoryTest.this.nugetParams).getNuGetExeFile();  will(returnValue(nuget));\r
       allowing(ps).getUseSafeUpdate(); will(returnValue(false));\r
       allowing(ps).getPackagesToUpdate(); will(returnValue(Collections.<String>emptyList()));\r
 \r
index bdda71b456f1604d1dbe027db5ab19f606acd2fe..6b4ba3b0cfad58e53a9a7c7233b65c18da375ee5 100644 (file)
@@ -21,6 +21,7 @@ import jetbrains.buildServer.ExecResult;
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.SimpleCommandLineProcessRunner;\r
 import jetbrains.buildServer.agent.*;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesParametersFactory;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
 import jetbrains.buildServer.nuget.agent.install.PackagesInstallerRunner;\r
@@ -55,6 +56,7 @@ public class InstallPackageIntegtatoinTest extends BuildProcessTestCase {
   private BuildProgressLogger myLogger;\r
   private PackagesParametersFactory myParametersFactory;\r
   private PackagesInstallParameters myParameters;\r
+  private NuGetParameters myNuGet;\r
   private BuildProcess myMockProcess;\r
 \r
   @BeforeMethod\r
@@ -69,22 +71,21 @@ public class InstallPackageIntegtatoinTest extends BuildProcessTestCase {
     myParametersFactory = m.mock(PackagesParametersFactory.class);\r
     myParameters = m.mock(PackagesInstallParameters.class);\r
     myMockProcess = m.mock(BuildProcess.class);\r
+    myNuGet = m.mock(NuGetParameters.class);\r
 \r
     m.checking(new Expectations() {{\r
-      allowing(myContext).getBuild();\r
-      will(returnValue(myBuild));\r
-      allowing(myBuild).getBuildLogger();\r
-      will(returnValue(myLogger));\r
-      allowing(myBuild).getCheckoutDirectory();\r
-      will(returnValue(myRoot));\r
+      allowing(myContext).getBuild();  will(returnValue(myBuild));\r
+      allowing(myBuild).getBuildLogger(); will(returnValue(myLogger));\r
+      allowing(myBuild).getCheckoutDirectory(); will(returnValue(myRoot));\r
 \r
       allowing(myMockProcess).start();\r
-      allowing(myMockProcess).waitFor();\r
-      will(returnValue(BuildFinishedStatus.FINISHED_SUCCESS));\r
+      allowing(myMockProcess).waitFor(); will(returnValue(BuildFinishedStatus.FINISHED_SUCCESS));\r
 \r
       allowing(myLogger).message(with(any(String.class)));\r
       allowing(myLogger).activityStarted(with(equal("install")), with(any(String.class)), with(any(String.class)));\r
       allowing(myLogger).activityFinished(with(equal("install")), with(any(String.class)));\r
+\r
+      allowing(myParameters).getNuGetParameters(); will(returnValue(myNuGet));\r
     }});\r
   }\r
 \r
@@ -137,17 +138,13 @@ public class InstallPackageIntegtatoinTest extends BuildProcessTestCase {
 \r
   private void fetchPackages(final File sln, final List<String> sources, final boolean excludeVersion) throws RunBuildException {\r
     m.checking(new Expectations() {{\r
-      allowing(myParametersFactory).loadParameters(myContext);\r
-      will(returnValue(myParameters));\r
-\r
-      allowing(myParameters).getNuGetExeFile();\r
-      will(returnValue(getPathToNuGet()));\r
-      allowing(myParameters).getSolutionFile();\r
-      will(returnValue(sln));\r
-      allowing(myParameters).getNuGetPackageSources();\r
-      will(returnValue(sources));\r
-      allowing(myParameters).getExcludeVersion();\r
-      will(returnValue(excludeVersion));\r
+      allowing(myParametersFactory).loadNuGetParameters(myContext);  will(returnValue(myNuGet));\r
+      allowing(myParametersFactory).loadInstallPackagesParameters(myContext, myNuGet);  will(returnValue(myParameters));\r
+\r
+      allowing(myNuGet).getNuGetExeFile(); will(returnValue(getPathToNuGet()));\r
+      allowing(myNuGet).getSolutionFile(); will(returnValue(sln));\r
+      allowing(myNuGet).getNuGetPackageSources(); will(returnValue(sources));\r
+      allowing(myParameters).getExcludeVersion(); will(returnValue(excludeVersion));\r
     }});\r
 \r
     BuildProcess proc = new PackagesInstallerRunner(\r