comparison UnitTestsSources/LuaTests.cpp @ 1051:92f4bf2c5d73

HTTP GET in Lua
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 23 Jul 2014 12:59:28 +0200
parents 1b1d51e9f1a2
children cc4ff680e2a0
comparison
equal deleted inserted replaced
1050:64f1842aae2e 1051:92f4bf2c5d73
31 31
32 32
33 #include "PrecompiledHeadersUnitTests.h" 33 #include "PrecompiledHeadersUnitTests.h"
34 #include "gtest/gtest.h" 34 #include "gtest/gtest.h"
35 35
36 #include "../Core/Toolbox.h"
36 #include "../Core/Lua/LuaFunctionCall.h" 37 #include "../Core/Lua/LuaFunctionCall.h"
37 38
38 #include <boost/lexical_cast.hpp> 39 #include <boost/lexical_cast.hpp>
40
41 #if !defined(UNIT_TESTS_WITH_HTTP_CONNEXIONS)
42 #error "Please set UNIT_TESTS_WITH_HTTP_CONNEXIONS"
43 #endif
39 44
40 45
41 TEST(Lua, Json) 46 TEST(Lua, Json)
42 { 47 {
43 Orthanc::LuaContext lua; 48 Orthanc::LuaContext lua;
230 ASSERT_EQ("test3", v["List"][1][0].asString()); 235 ASSERT_EQ("test3", v["List"][1][0].asString());
231 ASSERT_EQ("test1", v["List"][1][1].asString()); 236 ASSERT_EQ("test1", v["List"][1][1].asString());
232 ASSERT_EQ("test2", v["List"][1][2].asString()); 237 ASSERT_EQ("test2", v["List"][1][2].asString());
233 } 238 }
234 } 239 }
240
241 TEST(Lua, Http)
242 {
243 const std::string url("http://orthanc.googlecode.com/hg/Resources/Configuration.json");
244
245 Orthanc::LuaContext lua;
246 std::string s;
247 lua.Execute(s, "print(HttpGet({}))");
248 ASSERT_EQ("ERROR", Orthanc::Toolbox::StripSpaces(s));
249
250 #if UNIT_TESTS_WITH_HTTP_CONNEXIONS == 1
251 lua.Execute(s, "print(string.len(HttpGet(\"" + url + "\")))");
252 ASSERT_LE(1000, boost::lexical_cast<int>(Orthanc::Toolbox::StripSpaces(s)));
253
254 // Parse a JSON file
255 lua.Execute(s, "print(HttpGet(\"" + url + "\", true)['Name'])");
256 ASSERT_EQ("MyOrthanc", Orthanc::Toolbox::StripSpaces(s));
257 #endif
258
259 }