diff --git a/NuGetGallery.sln b/NuGetGallery.sln index af638bc77a..099882cdfe 100644 --- a/NuGetGallery.sln +++ b/NuGetGallery.sln @@ -134,6 +134,26 @@ Global {8AC9E39E-366C-47E5-80AE-38E71CD31386}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {8AC9E39E-366C-47E5-80AE-38E71CD31386}.Release|Mixed Platforms.Build.0 = Release|Any CPU {8AC9E39E-366C-47E5-80AE-38E71CD31386}.Release|x86.ActiveCfg = Release|Any CPU + {0A6B1A52-4D26-4946-9DDD-416D01A1ADBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0A6B1A52-4D26-4946-9DDD-416D01A1ADBF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0A6B1A52-4D26-4946-9DDD-416D01A1ADBF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {0A6B1A52-4D26-4946-9DDD-416D01A1ADBF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {0A6B1A52-4D26-4946-9DDD-416D01A1ADBF}.Debug|x86.ActiveCfg = Debug|Any CPU + {0A6B1A52-4D26-4946-9DDD-416D01A1ADBF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0A6B1A52-4D26-4946-9DDD-416D01A1ADBF}.Release|Any CPU.Build.0 = Release|Any CPU + {0A6B1A52-4D26-4946-9DDD-416D01A1ADBF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {0A6B1A52-4D26-4946-9DDD-416D01A1ADBF}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {0A6B1A52-4D26-4946-9DDD-416D01A1ADBF}.Release|x86.ActiveCfg = Release|Any CPU + {8FB56455-C688-44AE-95F1-48FFCB199BFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8FB56455-C688-44AE-95F1-48FFCB199BFE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8FB56455-C688-44AE-95F1-48FFCB199BFE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {8FB56455-C688-44AE-95F1-48FFCB199BFE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {8FB56455-C688-44AE-95F1-48FFCB199BFE}.Debug|x86.ActiveCfg = Debug|Any CPU + {8FB56455-C688-44AE-95F1-48FFCB199BFE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8FB56455-C688-44AE-95F1-48FFCB199BFE}.Release|Any CPU.Build.0 = Release|Any CPU + {8FB56455-C688-44AE-95F1-48FFCB199BFE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {8FB56455-C688-44AE-95F1-48FFCB199BFE}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {8FB56455-C688-44AE-95F1-48FFCB199BFE}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -141,6 +161,8 @@ Global GlobalSection(NestedProjects) = preSolution {1DACF781-5CD0-4123-8BAC-CD385D864BE5} = {05998089-58F5-4A84-8C11-C5C6244A6F89} {FDC76BEF-3360-45AC-A13E-AE8F14D343D5} = {05998089-58F5-4A84-8C11-C5C6244A6F89} + {0A6B1A52-4D26-4946-9DDD-416D01A1ADBF} = {05998089-58F5-4A84-8C11-C5C6244A6F89} + {8FB56455-C688-44AE-95F1-48FFCB199BFE} = {05998089-58F5-4A84-8C11-C5C6244A6F89} {7F92C174-5310-4090-A6A3-3CC7C67C19D6} = {B9B19787-DCC0-489E-9173-36A32C6B6848} {0EA1CBE8-DEFB-4D97-86E2-33657204C764} = {B9B19787-DCC0-489E-9173-36A32C6B6848} {4405C24C-7F57-4826-831F-D5D7E139F02E} = {B9B19787-DCC0-489E-9173-36A32C6B6848} diff --git a/PackageNames.csv b/PackageNames.csv new file mode 100644 index 0000000000..ad528e639a --- /dev/null +++ b/PackageNames.csv @@ -0,0 +1,3 @@ +PackageNames +jQuery +EntityFramework diff --git a/tests/NuGetGallery.FunctionalTests/EditPackageTest.cs b/tests/NuGetGallery.FunctionalTests/EditPackageTest.cs new file mode 100644 index 0000000000..7ec502e50d --- /dev/null +++ b/tests/NuGetGallery.FunctionalTests/EditPackageTest.cs @@ -0,0 +1,90 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace NuGetGallery.FunctionalTests +{ + using System; + using System.Collections.Generic; + using System.Text; + using Microsoft.VisualStudio.TestTools.WebTesting; + using Microsoft.VisualStudio.TestTools.WebTesting.Rules; + + + [DeploymentItem("tests\\nugetgallery.functionaltests\\PackageNames.csv")] + [DataSource("PackageNames", "Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\PackageNames.csv", Microsoft.VisualStudio.TestTools.WebTesting.DataBindingAccessMethod.Sequential, Microsoft.VisualStudio.TestTools.WebTesting.DataBindingSelectColumns.SelectOnlyBoundColumns, "PackageNames#csv")] + [DataBinding("PackageNames", "PackageNames#csv", "PackageNames", "PackageNames.PackageNames#csv.PackageNames")] + public class EditPackageTest : WebTest + { + + public EditPackageTest() + { + this.PreAuthenticate = true; + } + + public override IEnumerator GetRequestEnumerator() + { + // Initialize validation rules that apply to all requests in the WebTest + //if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low)) + //{ + // ValidateResponseUrl validationRule1 = new ValidateResponseUrl(); + // this.ValidateResponse += new EventHandler(validationRule1.Validate); + //} + //if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low)) + //{ + // ValidationRuleResponseTimeGoal validationRule2 = new ValidationRuleResponseTimeGoal(); + // validationRule2.Tolerance = 0D; + // this.ValidateResponseOnPageComplete += new EventHandler(validationRule2.Validate); + //} + + //Do initial login to be able to perform package management. + WebTestRequest logonGet = AssertAndValidationHelper.GetLogonGetRequest(); + yield return logonGet; + logonGet = null; + WebTestRequest logonPost = AssertAndValidationHelper.GetLogonPostRequest(this); + yield return logonPost; + logonPost = null; + + WebTestRequest request1 = new WebTestRequest("https://staging.nuget.org/packages/SimpleTestPackageA/12.0.0/Edit"); + request1.ExpectedResponseUrl = "https://staging.nuget.org/Users/Account/LogOn?ReturnUrl=%2fpackages%2fSimpleTestP" + + "ackageA%2f12.0.0%2fEdit"; + // request1.QueryStringParameters.Add("Parameter1", this.Context["PackageNames.PackageNames#csv.PackageNames"].ToString()); + ExtractHiddenFields extractionRule1 = new ExtractHiddenFields(); + extractionRule1.Required = true; + extractionRule1.HtmlDecode = true; + extractionRule1.ContextParameterName = "1"; + request1.ExtractValues += new EventHandler(extractionRule1.Extract); + yield return request1; + request1 = null; + + + + WebTestRequest request3 = new WebTestRequest("https://staging.nuget.org/packages/SimpleTestPackageA/12.0.0/Edit"); + request3.Method = "POST"; + request3.ExpectedResponseUrl = "https://staging.nuget.org/packages/SimpleTestPackageA/12.0.0"; + FormPostHttpBody request3Body = new FormPostHttpBody(); + request3Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString()); + request3Body.FormPostParameters.Add("Edit.VersionTitle", "Edit Package Demo1"); + request3Body.FormPostParameters.Add("Edit.Description", "My package description."); + request3Body.FormPostParameters.Add("Edit.Summary", ""); + request3Body.FormPostParameters.Add("Edit.IconUrl", ""); + request3Body.FormPostParameters.Add("Edit.ProjectUrl", ""); + request3Body.FormPostParameters.Add("Edit.Authors", "bhuvana"); + request3Body.FormPostParameters.Add("Edit.Copyright", ""); + request3Body.FormPostParameters.Add("Edit.Tags", "demo"); + request3Body.FormPostParameters.Add("Edit.ReleaseNotes", ""); + request3.Body = request3Body; + WebTestRequest request3Dependent1 = new WebTestRequest("https://staging.nuget.org/api/v2/service-alert"); + request3Dependent1.QueryStringParameters.Add("cachebust", "1377492797562", false, false); + request3.DependentRequests.Add(request3Dependent1); + yield return request3; + request3 = null; + } + } +} diff --git a/tests/NuGetGallery.FunctionalTests/NuGetGallery.FunctionalTests.csproj b/tests/NuGetGallery.FunctionalTests/NuGetGallery.FunctionalTests.csproj index b1693d3424..417d19a52e 100644 --- a/tests/NuGetGallery.FunctionalTests/NuGetGallery.FunctionalTests.csproj +++ b/tests/NuGetGallery.FunctionalTests/NuGetGallery.FunctionalTests.csproj @@ -117,6 +117,9 @@ Always + + PreserveNewest + diff --git a/tests/NuGetGallery.FunctionalTests/PackageNames.csv b/tests/NuGetGallery.FunctionalTests/PackageNames.csv new file mode 100644 index 0000000000..ad528e639a --- /dev/null +++ b/tests/NuGetGallery.FunctionalTests/PackageNames.csv @@ -0,0 +1,3 @@ +PackageNames +jQuery +EntityFramework diff --git a/tests/NuGetGallery.FunctionalTests/WebUITests/PackageManagement/WebTest1.e4305e86-77a2-4d80-a0e4-432e0a405492.rec.webtestresult b/tests/NuGetGallery.FunctionalTests/WebUITests/PackageManagement/WebTest1.e4305e86-77a2-4d80-a0e4-432e0a405492.rec.webtestresult new file mode 100644 index 0000000000..9adc6461fb Binary files /dev/null and b/tests/NuGetGallery.FunctionalTests/WebUITests/PackageManagement/WebTest1.e4305e86-77a2-4d80-a0e4-432e0a405492.rec.webtestresult differ diff --git a/tests/NuGetGallery.FunctionalTests/WebUITests/PackageManagement/WebTest1.webtest b/tests/NuGetGallery.FunctionalTests/WebUITests/PackageManagement/WebTest1.webtest new file mode 100644 index 0000000000..8d637494f3 --- /dev/null +++ b/tests/NuGetGallery.FunctionalTests/WebUITests/PackageManagement/WebTest1.webtest @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file