PageRenderTime 22ms CodeModel.GetById 8ms app.highlight 9ms RepoModel.GetById 1ms app.codeStats 0ms

/indra/llmessage/tests/llmockhttpclient.h

https://bitbucket.org/lindenlab/viewer-beta/
C++ Header | 66 lines | 29 code | 10 blank | 27 comment | 2 complexity | a21e443f62ecf4e4df8e75b332695407 MD5 | raw file
 1/** 
 2 * @file 
 3 * @brief 
 4 *
 5 * $LicenseInfo:firstyear=2008&license=viewerlgpl$
 6 * Second Life Viewer Source Code
 7 * Copyright (C) 2010, Linden Research, Inc.
 8 * 
 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation;
12 * version 2.1 of the License only.
13 * 
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 * Lesser General Public License for more details.
18 * 
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
22 * 
23 * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
24 * $/LicenseInfo$
25 */
26
27/* Macro Definitions */
28#ifndef LL_LLMOCKHTTPCLIENT_H
29#define LL_LLMOCKHTTPCLIENT_H
30
31#include "linden_common.h"
32#include "llhttpclientinterface.h"
33
34#include <gmock/gmock.h>
35
36class LLMockHTTPClient : public LLHTTPClientInterface
37{
38public:
39  MOCK_METHOD2(get, void(const std::string& url, LLCurl::ResponderPtr responder));
40  MOCK_METHOD3(get, void(const std::string& url, LLCurl::ResponderPtr responder, const LLSD& headers));
41  MOCK_METHOD3(put, void(const std::string& url, const LLSD& body, LLCurl::ResponderPtr responder));
42};
43
44// A helper to match responder types
45template<typename T>
46struct ResponderType
47{
48	bool operator()(LLCurl::ResponderPtr ptr) const
49	{
50		T* p = dynamic_cast<T*>(ptr.get());
51		return p != NULL;
52	}
53};
54
55inline bool operator==(const LLSD& l, const LLSD& r)
56{
57	std::ostringstream ls, rs;
58	ls << l;
59	rs << r;
60	return ls.str() == rs.str();
61
62}
63
64
65#endif //LL_LLMOCKHTTPCLIENT_H
66