diff options
author | Justin Clark-Casey (justincc) | 2012-11-22 03:01:57 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-11-22 03:03:37 +0000 |
commit | 448811ccddfa6fb3dbbd7279e240ff9ef805d218 (patch) | |
tree | a1aa55d5bf0ad871dc75fc01e40320bdeebc7ce5 /OpenSim/Server/Handlers/Asset/Tests/AssetServerPostHandlerTests.cs | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC_OLD-448811ccddfa6fb3dbbd7279e240ff9ef805d218.zip opensim-SC_OLD-448811ccddfa6fb3dbbd7279e240ff9ef805d218.tar.gz opensim-SC_OLD-448811ccddfa6fb3dbbd7279e240ff9ef805d218.tar.bz2 opensim-SC_OLD-448811ccddfa6fb3dbbd7279e240ff9ef805d218.tar.xz |
If an asset POST does not contain well-formed XML, return a 400 (Bad Request) HTTP status rather than simply dropping the request.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Server/Handlers/Asset/Tests/AssetServerPostHandlerTests.cs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/OpenSim/Server/Handlers/Asset/Tests/AssetServerPostHandlerTests.cs b/OpenSim/Server/Handlers/Asset/Tests/AssetServerPostHandlerTests.cs index 9e82576..427fa16 100644 --- a/OpenSim/Server/Handlers/Asset/Tests/AssetServerPostHandlerTests.cs +++ b/OpenSim/Server/Handlers/Asset/Tests/AssetServerPostHandlerTests.cs | |||
@@ -27,6 +27,7 @@ | |||
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.IO; | 29 | using System.IO; |
30 | using System.Net; | ||
30 | using System.Text; | 31 | using System.Text; |
31 | using System.Xml; | 32 | using System.Xml; |
32 | using System.Xml.Serialization; | 33 | using System.Xml.Serialization; |
@@ -38,6 +39,7 @@ using OpenSim.Server.Handlers.Asset; | |||
38 | using OpenSim.Services.AssetService; | 39 | using OpenSim.Services.AssetService; |
39 | using OpenSim.Services.Interfaces; | 40 | using OpenSim.Services.Interfaces; |
40 | using OpenSim.Tests.Common; | 41 | using OpenSim.Tests.Common; |
42 | using OpenSim.Tests.Common.Mock; | ||
41 | 43 | ||
42 | namespace OpenSim.Server.Handlers.Asset.Test | 44 | namespace OpenSim.Server.Handlers.Asset.Test |
43 | { | 45 | { |
@@ -80,5 +82,29 @@ namespace OpenSim.Server.Handlers.Asset.Test | |||
80 | 82 | ||
81 | Assert.That(retrievedAsset, Is.Not.Null); | 83 | Assert.That(retrievedAsset, Is.Not.Null); |
82 | } | 84 | } |
85 | |||
86 | [Test] | ||
87 | public void TestBadXmlAssetStoreRequest() | ||
88 | { | ||
89 | TestHelpers.InMethod(); | ||
90 | |||
91 | IConfigSource config = new IniConfigSource(); | ||
92 | config.AddConfig("AssetService"); | ||
93 | config.Configs["AssetService"].Set("StorageProvider", "OpenSim.Tests.Common.dll"); | ||
94 | |||
95 | AssetService assetService = new AssetService(config); | ||
96 | |||
97 | AssetServerPostHandler asph = new AssetServerPostHandler(assetService); | ||
98 | |||
99 | MemoryStream buffer = new MemoryStream(); | ||
100 | byte[] badData = new byte[] { 0x48, 0x65, 0x6c, 0x6c, 0x6f }; | ||
101 | buffer.Write(badData, 0, badData.Length); | ||
102 | buffer.Position = 0; | ||
103 | |||
104 | TestOSHttpResponse response = new TestOSHttpResponse(); | ||
105 | asph.Handle(null, buffer, null, response); | ||
106 | |||
107 | Assert.That(response.StatusCode, Is.EqualTo((int)HttpStatusCode.BadRequest)); | ||
108 | } | ||
83 | } | 109 | } |
84 | } \ No newline at end of file | 110 | } \ No newline at end of file |