message_tut.cpp

Go to the documentation of this file.
00001 
00033 #include <tut/tut.h>
00034 #include "linden_common.h"
00035 #include "lltut.h"
00036 
00037 #include "llapr.h"
00038 #include "llversionserver.h"
00039 #include "message.h"
00040 #include "message_prehash.h"
00041 
00042 namespace
00043 {
00044         struct Response : public LLHTTPNode::Response
00045         {
00046                 virtual void result(const LLSD&) {}
00047                 virtual void status(S32 code, const std::string& message) 
00048                 {
00049                         mStatus = code;
00050                 }
00051                 S32 mStatus;
00052         };
00053 }
00054 
00055 namespace tut
00056 {       
00057         struct LLMessageSystemTestData 
00058         {
00059                 LLMessageSystemTestData()
00060                 {
00061                         static bool init = false;
00062                         if(! init)
00063                         {
00064                                 ll_init_apr();
00065                                 init_prehash_data();
00066                                 init = true;
00067                         }
00068 
00069                         // currently test disconnected message system
00070                         start_messaging_system("notafile", 13035,
00071                                                                    LL_VERSION_MAJOR,
00072                                                                    LL_VERSION_MINOR,        
00073                                                                    LL_VERSION_PATCH,        
00074                                                                    FALSE,        
00075                                                                    "notasharedsecret");
00076                 }
00077 
00078                 ~LLMessageSystemTestData()
00079                 {
00080                         // not end_messaging_system()
00081                         delete gMessageSystem;
00082                         gMessageSystem = NULL;
00083                 }
00084         };
00085         
00086         typedef test_group<LLMessageSystemTestData>     LLMessageSystemTestGroup;
00087         typedef LLMessageSystemTestGroup::object                LLMessageSystemTestObject;
00088         LLMessageSystemTestGroup messageTestGroup("LLMessageSystem");
00089         
00090         template<> template<>
00091         void LLMessageSystemTestObject::test<1>()
00092                 // dispatch unknown message
00093         {
00094                 const char* name = "notamessasge";
00095                 const LLSD message;
00096                 const LLPointer<Response> response = new Response();
00097                 gMessageSystem->dispatch(name, message, response);
00098                 ensure_equals(response->mStatus, 404);
00099         }
00100 }
00101 

Generated on Thu Jul 1 06:09:56 2010 for Second Life Viewer by  doxygen 1.4.7