nuget publish runner integration test added
authorEugene Petrenko <eugene.petrenko@gmail.com>
Thu, 21 Jul 2011 21:57:59 +0000 (01:57 +0400)
committerEugene Petrenko <eugene.petrenko@gmail.com>
Thu, 21 Jul 2011 21:57:59 +0000 (01:57 +0400)
nuget-agent/src/jetbrains/buildServer/nuget/agent/commands/impl/CommandFactoryImpl.java
nuget-tests/src/jetbrains/buildServer/nuget/tests/agent/NuGetPushActoinFactoryTest.java
nuget-tests/src/jetbrains/buildServer/nuget/tests/integration/InstallPackageIntegtatoinTest.java
nuget-tests/src/jetbrains/buildServer/nuget/tests/integration/IntegrationTestBase.java [new file with mode: 0644]
nuget-tests/src/jetbrains/buildServer/nuget/tests/integration/PackagesPublishIntegrationTest.java [new file with mode: 0644]
nuget-tests/src/testng-nuget-tests..xml
nuget-tests/testData/integration/SamplePackage.nuspec [new file with mode: 0644]

index af7920eefb71765a30fc29c0c0f987d1b47f549d..c2e537b62a3bd8ccc9d335d173f7fbe2a1a50643 100644 (file)
@@ -20,13 +20,11 @@ import jetbrains.buildServer.RunBuildException;
 import jetbrains.buildServer.nuget.agent.commands.CommandFactory;\r
 import jetbrains.buildServer.nuget.agent.parameters.*;\r
 import jetbrains.buildServer.util.FileUtil;\r
+import jetbrains.buildServer.util.StringUtil;\r
 import org.jetbrains.annotations.NotNull;\r
 \r
 import java.io.File;\r
-import java.util.ArrayList;\r
-import java.util.Arrays;\r
-import java.util.Collection;\r
-import java.util.List;\r
+import java.util.*;\r
 \r
 /**\r
  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
@@ -73,15 +71,19 @@ public class CommandFactoryImpl implements CommandFactory {
                           @NotNull final File packagePath,\r
                           @NotNull final Callback<T> factory) throws RunBuildException {\r
     final List<String> arguments = new ArrayList<String>();\r
+    arguments.add("push");\r
     arguments.add(packagePath.getPath());\r
     arguments.add(params.getApiKey());\r
     if (params.getCreateOnly()) {\r
       arguments.add("-CreateOnly");\r
     }\r
 \r
+    final String source = params.getPublishSource();\r
     return executeNuGet(\r
             params,\r
-            Arrays.asList(params.getPublishSource()),\r
+            StringUtil.isEmptyOrSpaces(source)\r
+                    ? Collections.<String>emptyList()\r
+                    : Arrays.asList(source),\r
             arguments,\r
             packagePath.getParentFile(),\r
             factory);\r
index 7890935fbeda396d54053a1632cd0a5480d07077..78b3a2c4dd02098cde0c8bf0ba32f13b54f11323 100644 (file)
@@ -68,7 +68,21 @@ public class NuGetPushActoinFactoryTest extends BaseTestCase {
       allowing(ps).getPublishSource(); will(returnValue("push-feed"));\r
       allowing(ps).getCreateOnly(); will(returnValue(false));\r
 \r
-      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet, Arrays.asList(myFile.getPath(), "api-key-guid", "-Source", "push-feed"), myFile.getParentFile());\r
+      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet, Arrays.asList("push", myFile.getPath(), "api-key-guid", "-Source", "push-feed"), myFile.getParentFile());\r
+    }});\r
+\r
+    i.createPush(ctx, ps, myFile);\r
+  }\r
+\r
+  @Test\r
+  public void test_command_push_no_source() throws RunBuildException {\r
+    m.checking(new Expectations(){{\r
+      allowing(ps).getNuGetExeFile(); will(returnValue(myNuGet));\r
+      allowing(ps).getApiKey(); will(returnValue("api-key-guid"));\r
+      allowing(ps).getPublishSource(); will(returnValue(null));\r
+      allowing(ps).getCreateOnly(); will(returnValue(false));\r
+\r
+      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet, Arrays.asList("push", myFile.getPath(), "api-key-guid"), myFile.getParentFile());\r
     }});\r
 \r
     i.createPush(ctx, ps, myFile);\r
@@ -82,7 +96,7 @@ public class NuGetPushActoinFactoryTest extends BaseTestCase {
       allowing(ps).getPublishSource(); will(returnValue("push-feed"));\r
       allowing(ps).getCreateOnly(); will(returnValue(true));\r
 \r
-      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet, Arrays.asList(myFile.getPath(), "api-key-guid", "-CreateOnly", "-Source", "push-feed"), myFile.getParentFile());\r
+      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet, Arrays.asList("push", myFile.getPath(), "api-key-guid", "-CreateOnly", "-Source", "push-feed"), myFile.getParentFile());\r
     }});\r
 \r
     i.createPush(ctx, ps, myFile);\r
index 32e75a732ece62e2c67d7ce115fbff2c16255381..cc213a86013612c036426c85b94d57641dd4f24b 100644 (file)
 \r
 package jetbrains.buildServer.nuget.tests.integration;\r
 \r
-import com.intellij.execution.configurations.GeneralCommandLine;\r
-import jetbrains.buildServer.ExecResult;\r
 import jetbrains.buildServer.RunBuildException;\r
-import jetbrains.buildServer.SimpleCommandLineProcessRunner;\r
-import jetbrains.buildServer.agent.*;\r
+import jetbrains.buildServer.agent.BuildFinishedStatus;\r
+import jetbrains.buildServer.agent.BuildProcess;\r
 import jetbrains.buildServer.nuget.agent.commands.impl.CommandFactoryImpl;\r
 import jetbrains.buildServer.nuget.agent.commands.impl.NuGetActionFactoryImpl;\r
 import jetbrains.buildServer.nuget.agent.install.PackageUsages;\r
@@ -28,22 +26,12 @@ import jetbrains.buildServer.nuget.agent.install.PackagesInstallerRunner;
 import jetbrains.buildServer.nuget.agent.install.impl.NuGetPackagesCollectorImpl;\r
 import jetbrains.buildServer.nuget.agent.install.impl.NuGetPackagesConfigParser;\r
 import jetbrains.buildServer.nuget.agent.install.impl.PackageUsagesImpl;\r
-import jetbrains.buildServer.nuget.agent.parameters.NuGetFetchParameters;\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.nuget.agent.util.BuildProcessBase;\r
-import jetbrains.buildServer.nuget.agent.util.CommandlineBuildProcessFactory;\r
 import jetbrains.buildServer.nuget.common.PackageInfo;\r
 import jetbrains.buildServer.nuget.common.PackagesUpdateMode;\r
-import jetbrains.buildServer.nuget.tests.util.BuildProcessTestCase;\r
 import jetbrains.buildServer.util.ArchiveUtil;\r
-import org.jetbrains.annotations.NotNull;\r
 import org.jetbrains.annotations.Nullable;\r
 import org.jmock.Expectations;\r
-import org.jmock.Mockery;\r
 import org.testng.Assert;\r
-import org.testng.annotations.BeforeMethod;\r
 import org.testng.annotations.Test;\r
 \r
 import java.io.File;\r
@@ -53,55 +41,7 @@ import java.util.*;
  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
  * Date: 08.07.11 2:15\r
  */\r
-public class InstallPackageIntegtatoinTest extends BuildProcessTestCase {\r
-  private File myRoot;\r
-  private Mockery m;\r
-  private AgentRunningBuild myBuild;\r
-  private BuildRunnerContext myContext;\r
-  private BuildProgressLogger myLogger;\r
-  private PackagesParametersFactory myParametersFactory;\r
-  private PackagesInstallParameters myInstall;\r
-  private PackagesUpdateParameters myUpdate;\r
-  private NuGetFetchParameters myNuGet;\r
-  private BuildProcess myMockProcess;\r
-\r
-  @BeforeMethod\r
-  @Override\r
-  protected void setUp() throws Exception {\r
-    super.setUp();\r
-    myRoot = createTempDir();\r
-    m = new Mockery();\r
-    myBuild = m.mock(AgentRunningBuild.class);\r
-    myContext = m.mock(BuildRunnerContext.class);\r
-    myLogger = m.mock(BuildProgressLogger.class);\r
-    myParametersFactory = m.mock(PackagesParametersFactory.class);\r
-    myInstall = m.mock(PackagesInstallParameters.class);\r
-    myUpdate = m.mock(PackagesUpdateParameters.class);\r
-    myMockProcess = m.mock(BuildProcess.class);\r
-    myNuGet = m.mock(NuGetFetchParameters.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
-\r
-      allowing(myMockProcess).start();\r
-      allowing(myMockProcess).waitFor();\r
-      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(myInstall).getNuGetParameters();\r
-      will(returnValue(myNuGet));\r
-      allowing(myUpdate).getNuGetParameters();\r
-      will(returnValue(myNuGet));\r
-    }});\r
-  }\r
+public class InstallPackageIntegtatoinTest extends IntegrationTestBase {\r
 \r
   @Test\r
   public void test_01_online_sources() throws RunBuildException {\r
@@ -123,11 +63,6 @@ public class InstallPackageIntegtatoinTest extends BuildProcessTestCase {
     Assert.assertEquals(4, packageses.size());\r
   }\r
 \r
-  @NotNull\r
-  private File getTestDataPath(final String path) {\r
-    return Paths.getTestDataPath("integration/" + path);\r
-  }\r
-\r
   @Test\r
   public void test_01_online_sources_update_forConfig() throws RunBuildException {\r
     ArchiveUtil.unpackZip(getTestDataPath("test-01.zip"), "", myRoot);\r
@@ -295,36 +230,4 @@ public class InstallPackageIntegtatoinTest extends BuildProcessTestCase {
     m.assertIsSatisfied();\r
   }\r
 \r
-  private CommandlineBuildProcessFactory executingFactory() {\r
-    return new CommandlineBuildProcessFactory() {\r
-      public BuildProcess executeCommandLine(@NotNull final BuildRunnerContext hostContext,\r
-                                             @NotNull final File program,\r
-                                             @NotNull final Collection<String> argz,\r
-                                             @NotNull final File workingDir) throws RunBuildException {\r
-        return new BuildProcessBase() {\r
-          @NotNull\r
-          @Override\r
-          protected BuildFinishedStatus waitForImpl() throws RunBuildException {\r
-            GeneralCommandLine cmd = new GeneralCommandLine();\r
-            cmd.setExePath(program.getPath());\r
-            for (String arg : argz) {\r
-              cmd.addParameter(arg);\r
-            }\r
-            cmd.setWorkingDirectory(workingDir);\r
-\r
-            System.out.println("Run: " + cmd.getCommandLineString());\r
-\r
-            ExecResult result = SimpleCommandLineProcessRunner.runCommand(cmd, new byte[0]);\r
-\r
-            System.out.println(result.getStdout());\r
-            System.out.println(result.getStderr());\r
-\r
-            return result.getExitCode() == 0\r
-                    ? BuildFinishedStatus.FINISHED_SUCCESS\r
-                    : BuildFinishedStatus.FINISHED_FAILED;\r
-          }\r
-        };\r
-      }\r
-    };\r
-  }\r
 }\r
diff --git a/nuget-tests/src/jetbrains/buildServer/nuget/tests/integration/IntegrationTestBase.java b/nuget-tests/src/jetbrains/buildServer/nuget/tests/integration/IntegrationTestBase.java
new file mode 100644 (file)
index 0000000..a929b25
--- /dev/null
@@ -0,0 +1,129 @@
+/*\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.tests.integration;\r
+\r
+import com.intellij.execution.configurations.GeneralCommandLine;\r
+import jetbrains.buildServer.ExecResult;\r
+import jetbrains.buildServer.RunBuildException;\r
+import jetbrains.buildServer.SimpleCommandLineProcessRunner;\r
+import jetbrains.buildServer.agent.*;\r
+import jetbrains.buildServer.nuget.agent.parameters.*;\r
+import jetbrains.buildServer.nuget.agent.util.BuildProcessBase;\r
+import jetbrains.buildServer.nuget.agent.util.CommandlineBuildProcessFactory;\r
+import jetbrains.buildServer.nuget.tests.util.BuildProcessTestCase;\r
+import org.jetbrains.annotations.NotNull;\r
+import org.jmock.Expectations;\r
+import org.jmock.Mockery;\r
+import org.testng.annotations.BeforeMethod;\r
+\r
+import java.io.File;\r
+import java.util.Collection;\r
+\r
+/**\r
+ * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
+ * Date: 22.07.11 1:26\r
+ */\r
+public class IntegrationTestBase extends BuildProcessTestCase {\r
+  protected File myRoot;\r
+  protected Mockery m;\r
+  protected AgentRunningBuild myBuild;\r
+  protected BuildRunnerContext myContext;\r
+  protected BuildProgressLogger myLogger;\r
+  protected PackagesParametersFactory myParametersFactory;\r
+  protected PackagesInstallParameters myInstall;\r
+  protected PackagesUpdateParameters myUpdate;\r
+  protected NuGetPublishParameters myPublishParameters;\r
+  protected NuGetFetchParameters myNuGet;\r
+  private BuildProcess myMockProcess;\r
+\r
+  @BeforeMethod\r
+  @Override\r
+  protected void setUp() throws Exception {\r
+    super.setUp();\r
+    myRoot = createTempDir();\r
+    m = new Mockery();\r
+    myBuild = m.mock(AgentRunningBuild.class);\r
+    myContext = m.mock(BuildRunnerContext.class);\r
+    myLogger = m.mock(BuildProgressLogger.class);\r
+    myParametersFactory = m.mock(PackagesParametersFactory.class);\r
+    myInstall = m.mock(PackagesInstallParameters.class);\r
+    myUpdate = m.mock(PackagesUpdateParameters.class);\r
+    myMockProcess = m.mock(BuildProcess.class);\r
+    myNuGet = m.mock(NuGetFetchParameters.class);\r
+    myPublishParameters = m.mock(NuGetPublishParameters.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
+\r
+      allowing(myMockProcess).start();\r
+      allowing(myMockProcess).waitFor();\r
+      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(myInstall).getNuGetParameters();\r
+      will(returnValue(myNuGet));\r
+      allowing(myUpdate).getNuGetParameters();\r
+      will(returnValue(myNuGet));\r
+    }});\r
+  }\r
+\r
+  @NotNull\r
+  protected File getTestDataPath(final String path) {\r
+    return Paths.getTestDataPath("integration/" + path);\r
+  }\r
+\r
+  protected CommandlineBuildProcessFactory executingFactory() {\r
+    return new CommandlineBuildProcessFactory() {\r
+      public BuildProcess executeCommandLine(@NotNull final BuildRunnerContext hostContext,\r
+                                             @NotNull final File program,\r
+                                             @NotNull final Collection<String> argz,\r
+                                             @NotNull final File workingDir) throws RunBuildException {\r
+        return new BuildProcessBase() {\r
+          @NotNull\r
+          @Override\r
+          protected BuildFinishedStatus waitForImpl() throws RunBuildException {\r
+            GeneralCommandLine cmd = new GeneralCommandLine();\r
+            cmd.setExePath(program.getPath());\r
+            for (String arg : argz) {\r
+              cmd.addParameter(arg);\r
+            }\r
+            cmd.setWorkingDirectory(workingDir);\r
+\r
+            System.out.println("Run: " + cmd.getCommandLineString());\r
+\r
+            ExecResult result = SimpleCommandLineProcessRunner.runCommand(cmd, new byte[0]);\r
+\r
+            System.out.println(result.getStdout());\r
+            System.out.println(result.getStderr());\r
+\r
+            return result.getExitCode() == 0\r
+                    ? BuildFinishedStatus.FINISHED_SUCCESS\r
+                    : BuildFinishedStatus.FINISHED_FAILED;\r
+          }\r
+        };\r
+      }\r
+    };\r
+  }\r
+}\r
diff --git a/nuget-tests/src/jetbrains/buildServer/nuget/tests/integration/PackagesPublishIntegrationTest.java b/nuget-tests/src/jetbrains/buildServer/nuget/tests/integration/PackagesPublishIntegrationTest.java
new file mode 100644 (file)
index 0000000..ccc3f6c
--- /dev/null
@@ -0,0 +1,117 @@
+/*\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.tests.integration;\r
+\r
+import com.intellij.execution.configurations.GeneralCommandLine;\r
+import jetbrains.buildServer.ExecResult;\r
+import jetbrains.buildServer.RunBuildException;\r
+import jetbrains.buildServer.SimpleCommandLineProcessRunner;\r
+import jetbrains.buildServer.agent.BuildFinishedStatus;\r
+import jetbrains.buildServer.agent.BuildProcess;\r
+import jetbrains.buildServer.nuget.agent.commands.impl.CommandFactoryImpl;\r
+import jetbrains.buildServer.nuget.agent.commands.impl.NuGetActionFactoryImpl;\r
+import jetbrains.buildServer.nuget.agent.install.PackageUsages;\r
+import jetbrains.buildServer.nuget.agent.install.impl.NuGetPackagesCollectorImpl;\r
+import jetbrains.buildServer.nuget.agent.install.impl.NuGetPackagesConfigParser;\r
+import jetbrains.buildServer.nuget.agent.install.impl.PackageUsagesImpl;\r
+import jetbrains.buildServer.nuget.agent.publish.PackagesPublishRunner;\r
+import jetbrains.buildServer.util.FileUtil;\r
+import org.jetbrains.annotations.NotNull;\r
+import org.jmock.Expectations;\r
+import org.testng.Assert;\r
+import org.testng.annotations.Test;\r
+\r
+import java.io.File;\r
+import java.io.IOException;\r
+import java.util.Arrays;\r
+\r
+/**\r
+ * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
+ * Date: 22.07.11 1:25\r
+ */\r
+public class PackagesPublishIntegrationTest extends IntegrationTestBase {\r
+\r
+  @Test\r
+  public void test_publish_packages() throws IOException, RunBuildException {\r
+    final File pkg = preparePackage();\r
+    callPublishRunner(pkg);\r
+  }\r
+\r
+  @Test\r
+  public void test_create_mock_package() throws IOException {\r
+    final File file = preparePackage();\r
+    System.out.println(file);\r
+  }\r
+\r
+\r
+  private File preparePackage() throws IOException {\r
+    @NotNull final File root = createTempDir();\r
+    final File spec = new File(root, "SamplePackage.nuspec");\r
+    FileUtil.copy(getTestDataPath("SamplePackage.nuspec"), spec);\r
+\r
+    GeneralCommandLine cmd = new GeneralCommandLine();\r
+    cmd.setExePath(Paths.getPathToNuGet().getPath());\r
+    cmd.setWorkingDirectory(root);\r
+    cmd.addParameter("pack");\r
+    cmd.addParameter(spec.getPath());\r
+    cmd.addParameter("-Version");\r
+    long time = System.currentTimeMillis();\r
+    final long max = 65536;\r
+    String build = "";\r
+    for(int i = 0; i <4; i++) {\r
+      build = (Math.max(1, time % max)) + (build.length() == 0 ? "" : "." + build);\r
+      time /= max;\r
+    }\r
+    cmd.addParameter(build);\r
+    cmd.addParameter("-Verbose");\r
+\r
+    final ExecResult result = SimpleCommandLineProcessRunner.runCommand(cmd, new byte[0]);\r
+    System.out.println(result.getStdout());\r
+    System.out.println(result.getStderr());\r
+\r
+    Assert.assertEquals(0, result.getExitCode());\r
+\r
+    File pkg = new File(root, "SamplePackage." + build + ".nupkg");\r
+    Assert.assertTrue(pkg.isFile());\r
+    return pkg;\r
+  }\r
+\r
+  private void callPublishRunner(@NotNull final File pkg) throws RunBuildException {\r
+\r
+    m.checking(new Expectations(){{\r
+      allowing(myPublishParameters).getFiles(); will(returnValue(Arrays.asList(pkg.getPath())));\r
+      allowing(myPublishParameters).getCreateOnly(); will(returnValue(true));\r
+      allowing(myPublishParameters).getNuGetExeFile(); will(returnValue(Paths.getPathToNuGet()));\r
+      allowing(myPublishParameters).getPublishSource(); will(returnValue(null));\r
+      allowing(myPublishParameters).getApiKey(); will(returnValue("88001628-cb42-4c35-91be-4015cf638bcf"));\r
+\r
+      allowing(myParametersFactory).loadPublishParameters(myContext);will(returnValue(myPublishParameters));\r
+    }});\r
+\r
+    NuGetPackagesCollectorImpl collector = new NuGetPackagesCollectorImpl();\r
+        PackageUsages pu = new PackageUsagesImpl(\r
+                collector,\r
+                new NuGetPackagesConfigParser()\r
+        );\r
+\r
+    final PackagesPublishRunner runner = new PackagesPublishRunner(\r
+            new NuGetActionFactoryImpl(executingFactory(), pu, new CommandFactoryImpl()), myParametersFactory);\r
+\r
+    final BuildProcess proc = runner.createBuildProcess(myBuild, myContext);\r
+    assertRunSuccessfully(proc, BuildFinishedStatus.FINISHED_SUCCESS);\r
+  }\r
+}\r
index b66d774f2a490c84af84712b6361161e4ae65973..3cd0aa20a88ca7776c685d770c6db3d85d30be85 100644 (file)
@@ -33,6 +33,7 @@
     <classes>\r
       <class name="jetbrains.buildServer.nuget.tests.integration.InstallPackageIntegtatoinTest"/>\r
       <class name="jetbrains.buildServer.nuget.tests.integration.NuGetExecutorTest"/>\r
+      <class name="jetbrains.buildServer.nuget.tests.integration.PackagesPublishIntegrationTest"/>\r
     </classes>\r
   </test>\r
 </suite>\r
diff --git a/nuget-tests/testData/integration/SamplePackage.nuspec b/nuget-tests/testData/integration/SamplePackage.nuspec
new file mode 100644 (file)
index 0000000..06298ca
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>\r
+<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">\r
+  <metadata>\r
+    <id>SamplePackage</id>\r
+    <version>1.0</version>\r
+    <authors>jonnyzzz-4-test</authors>\r
+    <owners>jonnyzzz-4-test</owners>\r
+    <licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_LINE</licenseUrl>\r
+    <projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_LINE</projectUrl>\r
+    <iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</iconUrl>\r
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>\r
+    <description>Package description</description>\r
+    <tags>Tag1 Tag2</tags>\r
+    <dependencies>\r
+      <dependency id="Elmah" version="1.2" />\r
+    </dependencies>\r
+  </metadata>\r
+</package>
\ No newline at end of file