From 798d367d54a6c6379ad355bd8345fa40e31e7fe9 Mon Sep 17 00:00:00 2001 From: Jacek Antonelli Date: Sat, 6 Sep 2008 18:24:57 -0500 Subject: Second Life viewer sources 1.21.0-RC --- linden/indra/test/llassetuploadqueue_tut.cpp | 200 +++++++++++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 linden/indra/test/llassetuploadqueue_tut.cpp (limited to 'linden/indra/test/llassetuploadqueue_tut.cpp') diff --git a/linden/indra/test/llassetuploadqueue_tut.cpp b/linden/indra/test/llassetuploadqueue_tut.cpp new file mode 100644 index 0000000..13c8fea --- /dev/null +++ b/linden/indra/test/llassetuploadqueue_tut.cpp @@ -0,0 +1,200 @@ +/** + * @file asset_upload_queue_tut.cpp + * @brief Tests for newview/llassetuploadqueue.cpp + * + * $LicenseInfo:firstyear=2007&license=viewergpl$ + * + * Copyright (c) 2007-2008, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "linden_common.h" +#include "lltut.h" + +#include "mock_http_client.h" +#include "../newview/llassetuploadqueue.cpp" + +// Mock implementation. +LLAssetUploadResponder::LLAssetUploadResponder(const LLSD& post_data, + const LLUUID& vfile_id, + LLAssetType::EType asset_type) +{ +} + +LLAssetUploadResponder::LLAssetUploadResponder(const LLSD& post_data, const std::string& file_name) +{ +} + +LLAssetUploadResponder::~LLAssetUploadResponder() +{ +} + +void LLAssetUploadResponder::error(U32 statusNum, const std::string& reason) +{ +} + +void LLAssetUploadResponder::result(const LLSD& content) +{ +} + +void LLAssetUploadResponder::uploadUpload(const LLSD& content) +{ +} + +void LLAssetUploadResponder::uploadComplete(const LLSD& content) +{ +} + +void LLAssetUploadResponder::uploadFailure(const LLSD& content) +{ +} + +LLUpdateTaskInventoryResponder::LLUpdateTaskInventoryResponder(const LLSD& post_data, + const LLUUID& vfile_id, + LLAssetType::EType asset_type) : + LLAssetUploadResponder(post_data, vfile_id, asset_type) +{ +} + +LLUpdateTaskInventoryResponder::LLUpdateTaskInventoryResponder(const LLSD& post_data, + const std::string& file_name) : + LLAssetUploadResponder(post_data, file_name) +{ +} + +LLUpdateTaskInventoryResponder::LLUpdateTaskInventoryResponder(const LLSD& post_data, + const std::string& file_name, + const LLUUID& queue_id) : + LLAssetUploadResponder(post_data, file_name) +{ +} + +void LLUpdateTaskInventoryResponder::uploadComplete(const LLSD& content) +{ +} + +namespace tut +{ + class asset_upload_queue_test_data : public MockHttpClient {}; + typedef test_group asset_upload_queue_test; + typedef asset_upload_queue_test::object asset_upload_queue_object; + tut::asset_upload_queue_test asset_upload_queue("asset_upload_queue"); + + void queue(LLAssetUploadQueue& q, const std::string& filename) + { + LLUUID task_id; + LLUUID item_id; + BOOL is_running = FALSE; + BOOL is_target_mono = TRUE; + LLUUID queue_id; + q.queue(filename, task_id, item_id, is_running, is_target_mono, queue_id); + } + + class LLTestSupplier : public LLAssetUploadQueueSupplier + { + public: + + void set(LLAssetUploadQueue* queue) {mQueue = queue;} + + virtual LLAssetUploadQueue* get() const + { + return mQueue; + } + + private: + LLAssetUploadQueue* mQueue; + }; + + template<> template<> + void asset_upload_queue_object::test<1>() + { + setupTheServer(); + reset(); + LLTestSupplier* supplier = new LLTestSupplier(); + LLAssetUploadQueue q("http://localhost:8888/test/success", supplier); + supplier->set(&q); + queue(q, "foo.bar"); + ensure("upload queue not empty before request", q.isEmpty()); + runThePump(10); + ensure("upload queue not empty after request", q.isEmpty()); + } + + template<> template<> + void asset_upload_queue_object::test<2>() + { + reset(); + LLTestSupplier* supplier = new LLTestSupplier(); + LLAssetUploadQueue q("http://localhost:8888/test/error", supplier); + supplier->set(&q); + queue(q, "foo.bar"); + ensure("upload queue not empty before request", q.isEmpty()); + runThePump(10); + ensure("upload queue not empty after request", q.isEmpty()); + } + + template<> template<> + void asset_upload_queue_object::test<3>() + { + reset(); + LLTestSupplier* supplier = new LLTestSupplier(); + LLAssetUploadQueue q("http://localhost:8888/test/timeout", supplier); + supplier->set(&q); + queue(q, "foo.bar"); + ensure("upload queue not empty before request", q.isEmpty()); + runThePump(10); + ensure("upload queue not empty after request", q.isEmpty()); + } + + template<> template<> + void asset_upload_queue_object::test<4>() + { + reset(); + LLTestSupplier* supplier = new LLTestSupplier(); + LLAssetUploadQueue q("http://localhost:8888/test/success", supplier); + supplier->set(&q); + queue(q, "foo.bar"); + queue(q, "baz.bar"); + ensure("upload queue empty before request", !q.isEmpty()); + runThePump(10); + ensure("upload queue not empty before request", q.isEmpty()); + runThePump(10); + ensure("upload queue not empty after request", q.isEmpty()); + } + + template<> template<> + void asset_upload_queue_object::test<5>() + { + reset(); + LLTestSupplier* supplier = new LLTestSupplier(); + LLAssetUploadQueue q("http://localhost:8888/test/success", supplier); + supplier->set(&q); + queue(q, "foo.bar"); + runThePump(10); + ensure("upload queue not empty before request", q.isEmpty()); + queue(q, "baz.bar"); + ensure("upload queue not empty after request", q.isEmpty()); + runThePump(10); + killServer(); + } +} -- cgit v1.1