From 381f74276b94f9f635b08c4bccf3040fce5d59fb Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 19 Jan 2012 21:14:09 +0000 Subject: Add LLImageManager regression test for discard case --- .../Linden/UDP/Tests/LLImageManagerTests.cs | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'OpenSim/Region/ClientStack/Linden/UDP/Tests') diff --git a/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs b/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs index bdc9c7d..118333c 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs @@ -88,5 +88,58 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests Assert.That(tc.SentImageDataPackets.Count, Is.EqualTo(1)); } + + [Test] + public void TestRequestAndDiscardImage() + { + TestHelpers.InMethod(); +// XmlConfigurator.Configure(); + + UUID imageId = TestHelpers.ParseTail(0x1); + string creatorId = TestHelpers.ParseTail(0x2).ToString(); + UUID userId = TestHelpers.ParseTail(0x3); + + J2KDecoderModule j2kdm = new J2KDecoderModule(); + + Scene scene = SceneHelpers.SetupScene(); + SceneHelpers.SetupSceneModules(scene, j2kdm); + + TestClient tc = new TestClient(SceneHelpers.GenerateAgentData(userId), scene); + LLImageManager llim = new LLImageManager(tc, scene.AssetService, j2kdm); + + using ( + Stream resource + = GetType().Assembly.GetManifestResourceStream( + "OpenSim.Region.ClientStack.LindenUDP.Tests.Resources.4-tile2.jp2")) + { + using (BinaryReader br = new BinaryReader(resource)) + { + AssetBase asset = new AssetBase(imageId, "Test Image", (sbyte)AssetType.Texture, creatorId); + asset.Data = br.ReadBytes(99999999); + scene.AssetService.Store(asset); + } + } + + TextureRequestArgs args = new TextureRequestArgs(); + args.RequestedAssetID = imageId; + args.DiscardLevel = 0; + args.PacketNumber = 1; + args.Priority = 5; + args.requestSequence = 1; + llim.EnqueueReq(args); + + // Now create a discard request + TextureRequestArgs discardArgs = new TextureRequestArgs(); + discardArgs.RequestedAssetID = imageId; + discardArgs.DiscardLevel = -1; + discardArgs.PacketNumber = 1; + discardArgs.Priority = 0; + discardArgs.requestSequence = 2; + llim.EnqueueReq(discardArgs); + + llim.ProcessImageQueue(20); + + Assert.That(tc.SentImageDataPackets.Count, Is.EqualTo(0)); + } } } \ No newline at end of file -- cgit v1.1 From 503faaea62502e1e86fc11bee1a322e060836f62 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 19 Jan 2012 21:23:40 +0000 Subject: refactor: separate out common parts of LLImageManagerTests --- .../Linden/UDP/Tests/LLImageManagerTests.cs | 88 ++++++++++------------ 1 file changed, 40 insertions(+), 48 deletions(-) (limited to 'OpenSim/Region/ClientStack/Linden/UDP/Tests') diff --git a/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs b/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs index 118333c..f176964 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs @@ -45,24 +45,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests [TestFixture] public class LLImageManagerTests { - [Test] - public void TestRequestAndSendImage() - { - TestHelpers.InMethod(); -// XmlConfigurator.Configure(); - - UUID imageId = TestHelpers.ParseTail(0x1); - string creatorId = TestHelpers.ParseTail(0x2).ToString(); - UUID userId = TestHelpers.ParseTail(0x3); - - J2KDecoderModule j2kdm = new J2KDecoderModule(); - - Scene scene = SceneHelpers.SetupScene(); - SceneHelpers.SetupSceneModules(scene, j2kdm); - - TestClient tc = new TestClient(SceneHelpers.GenerateAgentData(userId), scene); - LLImageManager llim = new LLImageManager(tc, scene.AssetService, j2kdm); + private AssetBase m_testImageAsset; + private LLImageManager llim; + private TestClient tc; + [TestFixtureSetUp] + public void FixtureInit() + { using ( Stream resource = GetType().Assembly.GetManifestResourceStream( @@ -70,14 +59,42 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests { using (BinaryReader br = new BinaryReader(resource)) { - AssetBase asset = new AssetBase(imageId, "Test Image", (sbyte)AssetType.Texture, creatorId); - asset.Data = br.ReadBytes(99999999); - scene.AssetService.Store(asset); + m_testImageAsset + = new AssetBase( + TestHelpers.ParseTail(0x1), + "Test Image", + (sbyte)AssetType.Texture, + TestHelpers.ParseTail(0x2).ToString()); + + m_testImageAsset.Data = br.ReadBytes(99999999); } } + } + + [SetUp] + public void SetUp() + { + UUID userId = TestHelpers.ParseTail(0x3); + + J2KDecoderModule j2kdm = new J2KDecoderModule(); + + Scene scene = SceneHelpers.SetupScene(); + SceneHelpers.SetupSceneModules(scene, j2kdm); + + scene.AssetService.Store(m_testImageAsset); + + tc = new TestClient(SceneHelpers.GenerateAgentData(userId), scene); + llim = new LLImageManager(tc, scene.AssetService, j2kdm); + } + + [Test] + public void TestRequestAndSendImage() + { + TestHelpers.InMethod(); +// XmlConfigurator.Configure(); TextureRequestArgs args = new TextureRequestArgs(); - args.RequestedAssetID = TestHelpers.ParseTail(0x1); + args.RequestedAssetID = m_testImageAsset.FullID; args.DiscardLevel = 0; args.PacketNumber = 1; args.Priority = 5; @@ -95,33 +112,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests TestHelpers.InMethod(); // XmlConfigurator.Configure(); - UUID imageId = TestHelpers.ParseTail(0x1); - string creatorId = TestHelpers.ParseTail(0x2).ToString(); - UUID userId = TestHelpers.ParseTail(0x3); - - J2KDecoderModule j2kdm = new J2KDecoderModule(); - - Scene scene = SceneHelpers.SetupScene(); - SceneHelpers.SetupSceneModules(scene, j2kdm); - - TestClient tc = new TestClient(SceneHelpers.GenerateAgentData(userId), scene); - LLImageManager llim = new LLImageManager(tc, scene.AssetService, j2kdm); - - using ( - Stream resource - = GetType().Assembly.GetManifestResourceStream( - "OpenSim.Region.ClientStack.LindenUDP.Tests.Resources.4-tile2.jp2")) - { - using (BinaryReader br = new BinaryReader(resource)) - { - AssetBase asset = new AssetBase(imageId, "Test Image", (sbyte)AssetType.Texture, creatorId); - asset.Data = br.ReadBytes(99999999); - scene.AssetService.Store(asset); - } - } - TextureRequestArgs args = new TextureRequestArgs(); - args.RequestedAssetID = imageId; + args.RequestedAssetID = m_testImageAsset.FullID; args.DiscardLevel = 0; args.PacketNumber = 1; args.Priority = 5; @@ -130,7 +122,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests // Now create a discard request TextureRequestArgs discardArgs = new TextureRequestArgs(); - discardArgs.RequestedAssetID = imageId; + discardArgs.RequestedAssetID = m_testImageAsset.FullID; discardArgs.DiscardLevel = -1; discardArgs.PacketNumber = 1; discardArgs.Priority = 0; -- cgit v1.1 From d38e2c0c91b684d54974865d3ac2fb88c3354c21 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 19 Jan 2012 21:57:12 +0000 Subject: Add image not in database test for LLImageManager --- .../Linden/UDP/Tests/LLImageManagerTests.cs | 33 ++++++++++++++++++---- 1 file changed, 28 insertions(+), 5 deletions(-) (limited to 'OpenSim/Region/ClientStack/Linden/UDP/Tests') diff --git a/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs b/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs index f176964..1b68d68 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs @@ -46,6 +46,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests public class LLImageManagerTests { private AssetBase m_testImageAsset; + private Scene scene; private LLImageManager llim; private TestClient tc; @@ -78,21 +79,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests J2KDecoderModule j2kdm = new J2KDecoderModule(); - Scene scene = SceneHelpers.SetupScene(); + scene = SceneHelpers.SetupScene(); SceneHelpers.SetupSceneModules(scene, j2kdm); - scene.AssetService.Store(m_testImageAsset); - tc = new TestClient(SceneHelpers.GenerateAgentData(userId), scene); llim = new LLImageManager(tc, scene.AssetService, j2kdm); } [Test] - public void TestRequestAndSendImage() + public void TestSendImage() { TestHelpers.InMethod(); // XmlConfigurator.Configure(); + scene.AssetService.Store(m_testImageAsset); + TextureRequestArgs args = new TextureRequestArgs(); args.RequestedAssetID = m_testImageAsset.FullID; args.DiscardLevel = 0; @@ -107,11 +108,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests } [Test] - public void TestRequestAndDiscardImage() + public void TestDiscardImage() { TestHelpers.InMethod(); // XmlConfigurator.Configure(); + scene.AssetService.Store(m_testImageAsset); + TextureRequestArgs args = new TextureRequestArgs(); args.RequestedAssetID = m_testImageAsset.FullID; args.DiscardLevel = 0; @@ -133,5 +136,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests Assert.That(tc.SentImageDataPackets.Count, Is.EqualTo(0)); } + + [Test] + public void TestMissingImage() + { + TestHelpers.InMethod(); +// XmlConfigurator.Configure(); + + TextureRequestArgs args = new TextureRequestArgs(); + args.RequestedAssetID = m_testImageAsset.FullID; + args.DiscardLevel = 0; + args.PacketNumber = 1; + args.Priority = 5; + args.requestSequence = 1; + + llim.EnqueueReq(args); + llim.ProcessImageQueue(20); + + Assert.That(tc.SentImageDataPackets.Count, Is.EqualTo(0)); + Assert.That(tc.SentImageNotInDatabasePackets.Count, Is.EqualTo(1)); + } } } \ No newline at end of file -- cgit v1.1