You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2013/04/24 22:37:47 UTC

svn commit: r1471658 - /incubator/mesos/trunk/third_party/libprocess/src/tests/http_tests.cpp

Author: benh
Date: Wed Apr 24 20:37:46 2013
New Revision: 1471658

URL: http://svn.apache.org/r1471658
Log:
Updated some tests to use new testing abstractions.

Review: https://reviews.apache.org/r/10759

Modified:
    incubator/mesos/trunk/third_party/libprocess/src/tests/http_tests.cpp

Modified: incubator/mesos/trunk/third_party/libprocess/src/tests/http_tests.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/third_party/libprocess/src/tests/http_tests.cpp?rev=1471658&r1=1471657&r2=1471658&view=diff
==============================================================================
--- incubator/mesos/trunk/third_party/libprocess/src/tests/http_tests.cpp (original)
+++ incubator/mesos/trunk/third_party/libprocess/src/tests/http_tests.cpp Wed Apr 24 20:37:46 2013
@@ -8,8 +8,13 @@
 #include <string>
 
 #include <process/future.hpp>
+#include <process/gmock.hpp>
+#include <process/gtest.hpp>
 #include <process/http.hpp>
+#include <process/io.hpp>
 
+#include <stout/gtest.hpp>
+#include <stout/nothing.hpp>
 #include <stout/os.hpp>
 
 #include "encoder.hpp"
@@ -68,14 +73,12 @@ TEST(HTTP, Endpoints)
   EXPECT_CALL(process, body(_))
     .WillOnce(Return(http::OK()));
 
-  ASSERT_EQ(data.size(), write(s, data.data(), data.size()));
+   ASSERT_SOME(os::write(s, data));
 
   std::string response = "HTTP/1.1 200 OK";
 
   char temp[response.size()];
-
-  ASSERT_LT(0, read(s, temp, response.size()));
-
+  ASSERT_LT(0, ::read(s, temp, response.size()));
   ASSERT_EQ(response, std::string(temp, response.size()));
 
   ASSERT_EQ(0, close(s));
@@ -88,21 +91,19 @@ TEST(HTTP, Endpoints)
   ok.type = http::Response::PIPE;
   ok.pipe = pipes[0];
 
-  volatile bool pipeCalled = false;
-
+  Future<Nothing> pipe;
   EXPECT_CALL(process, pipe(_))
-    .WillOnce(DoAll(Assign(&pipeCalled, true),
+    .WillOnce(DoAll(FutureSatisfy(&pipe),
                     Return(ok)));
 
   Future<http::Response> future = http::get(process.self(), "pipe");
 
-  while (!pipeCalled);
+  AWAIT_READY(pipe);
 
-  ASSERT_TRUE(os::write(pipes[1], "Hello World\n").isSome());
-  ASSERT_TRUE(os::close(pipes[1]).isSome());
+  ASSERT_SOME(os::write(pipes[1], "Hello World\n"));
+  ASSERT_SOME(os::close(pipes[1]));
 
-  future.await(Seconds(1.0));
-  ASSERT_TRUE(future.isReady());
+  AWAIT_READY(future);
   ASSERT_EQ(http::statuses[200], future.get().status);
   ASSERT_EQ("chunked", future.get().headers["Transfer-Encoding"]);
   ASSERT_EQ("Hello World\n", future.get().body);
@@ -116,18 +117,17 @@ TEST(HTTP, Encode)
 {
   std::string unencoded = "a$&+,/:;=?@ \"<>#%{}|\\^~[]`\x19\x80\xFF";
   unencoded += std::string("\x00", 1); // Add a null byte to the end.
+
   std::string encoded = http::encode(unencoded);
 
   EXPECT_EQ("a%24%26%2B%2C%2F%3A%3B%3D%3F%40%20%22%3C%3E%23"
             "%25%7B%7D%7C%5C%5E%7E%5B%5D%60%19%80%FF%00",
             encoded);
 
-  Try<std::string> decoded = http::decode(encoded);
-  EXPECT_TRUE(decoded.isSome()) << decoded.error();
-  EXPECT_EQ(unencoded, decoded.get());
-
-  EXPECT_TRUE(http::decode("%").isError());
-  EXPECT_TRUE(http::decode("%1").isError());
-  EXPECT_TRUE(http::decode("%;1").isError());
-  EXPECT_TRUE(http::decode("%1;").isError());
+  EXPECT_SOME_EQ(unencoded, http::decode(encoded));
+
+  EXPECT_ERROR(http::decode("%"));
+  EXPECT_ERROR(http::decode("%1"));
+  EXPECT_ERROR(http::decode("%;1"));
+  EXPECT_ERROR(http::decode("%1;"));
 }