Mercurial > hg > orthanc
annotate UnitTests/RestApi.cpp @ 220:bb8c260c0092
fix for windows
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 29 Nov 2012 15:06:50 +0100 |
parents | 96b7918a6a18 |
children | e7432706b354 |
rev | line source |
---|---|
209 | 1 #include "gtest/gtest.h" |
2 | |
3 #include <ctype.h> | |
4 #include <glog/logging.h> | |
5 | |
6 #include "../Core/RestApi/RestApi.h" | |
7 | |
8 using namespace Orthanc; | |
9 | |
10 TEST(RestApi, RestApiPath) | |
11 { | |
12 RestApiPath::Components args; | |
13 UriComponents trail; | |
14 | |
15 { | |
16 RestApiPath uri("/coucou/{abc}/d/*"); | |
17 ASSERT_TRUE(uri.Match(args, trail, "/coucou/moi/d/e/f/g")); | |
18 ASSERT_EQ(1u, args.size()); | |
19 ASSERT_EQ(3u, trail.size()); | |
20 ASSERT_EQ("moi", args["abc"]); | |
21 ASSERT_EQ("e", trail[0]); | |
22 ASSERT_EQ("f", trail[1]); | |
23 ASSERT_EQ("g", trail[2]); | |
24 | |
25 ASSERT_FALSE(uri.Match(args, trail, "/coucou/moi/f")); | |
26 ASSERT_TRUE(uri.Match(args, trail, "/coucou/moi/d/")); | |
27 ASSERT_FALSE(uri.Match(args, trail, "/a/moi/d")); | |
28 ASSERT_FALSE(uri.Match(args, trail, "/coucou/moi")); | |
29 } | |
30 | |
31 { | |
32 RestApiPath uri("/coucou/{abc}/d"); | |
33 ASSERT_FALSE(uri.Match(args, trail, "/coucou/moi/d/e/f/g")); | |
34 ASSERT_TRUE(uri.Match(args, trail, "/coucou/moi/d")); | |
35 ASSERT_EQ(1u, args.size()); | |
36 ASSERT_EQ(0u, trail.size()); | |
37 ASSERT_EQ("moi", args["abc"]); | |
38 } | |
39 | |
40 { | |
41 RestApiPath uri("/*"); | |
42 ASSERT_TRUE(uri.Match(args, trail, "/a/b/c")); | |
43 ASSERT_EQ(0u, args.size()); | |
44 ASSERT_EQ(3u, trail.size()); | |
45 ASSERT_EQ("a", trail[0]); | |
46 ASSERT_EQ("b", trail[1]); | |
47 ASSERT_EQ("c", trail[2]); | |
48 } | |
49 } | |
50 | |
51 | |
52 | |
210
96b7918a6a18
start of the refactoring of the Orthanc REST API
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
209
diff
changeset
|
53 #if 0 |
209 | 54 |
55 #include "../Core/HttpServer/MongooseServer.h" | |
56 | |
57 struct Tutu : public IDynamicObject | |
58 { | |
59 static void Toto(RestApi::GetCall& call) | |
60 { | |
61 printf("DONE\n"); | |
62 Json::Value a = Json::objectValue; | |
63 a["Tutu"] = "Toto"; | |
64 a["Youpie"] = call.GetArgument("coucou", "nope"); | |
65 a["Toto"] = call.GetUriComponent("test", "nope"); | |
66 call.GetOutput().AnswerJson(a); | |
67 } | |
68 }; | |
69 | |
70 | |
71 | |
72 TEST(RestApi, Tutu) | |
73 { | |
74 MongooseServer httpServer; | |
75 httpServer.SetPortNumber(8042); | |
76 httpServer.Start(); | |
77 | |
78 RestApi* api = new RestApi; | |
79 httpServer.RegisterHandler(api); | |
80 api->Register("/coucou/{test}/a/*", Tutu::Toto); | |
81 | |
82 httpServer.Start(); | |
83 /*LOG(WARNING) << "REST has started"; | |
84 Toolbox::ServerBarrier();*/ | |
85 } | |
210
96b7918a6a18
start of the refactoring of the Orthanc REST API
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
209
diff
changeset
|
86 |
96b7918a6a18
start of the refactoring of the Orthanc REST API
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
209
diff
changeset
|
87 #endif |