Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(488)

Unified Diff: chrome/browser/remoting/directory_add_request_unittest.cc

Issue 6036001: Move directory code from chrome/service to chrome/browser. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merges Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/remoting/directory_add_request.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/remoting/directory_add_request_unittest.cc
diff --git a/chrome/browser/remoting/directory_add_request_unittest.cc b/chrome/browser/remoting/directory_add_request_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..6389b3e8d4eebf259223778292ecc8b88cd71b00
--- /dev/null
+++ b/chrome/browser/remoting/directory_add_request_unittest.cc
@@ -0,0 +1,82 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/remoting/directory_add_request.h"
+#include "chrome/test/testing_profile.h"
+#include "net/url_request/url_request_status.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace remoting {
+
+namespace {
+class MockDoneCallback {
+ public:
+ MOCK_METHOD2(OnDone,
+ void(DirectoryAddRequest::Result,
+ const std::string& message));
+};
+} // namespace
+
+class DirectoryAddRequestTest : public testing::Test {
+ protected:
+ virtual void SetUp() {
+ target_.reset(new DirectoryAddRequest(profile_.GetRequestContext()));
+ }
+
+ void TestResult(int response_code, const std::string& data,
+ DirectoryAddRequest::Result expected_result,
+ const std::string& expected_message) {
+ MockDoneCallback callback;
+ EXPECT_CALL(callback, OnDone(expected_result, expected_message))
+ .Times(1);
+
+ target_->done_callback_.reset(
+ NewCallback(&callback, &MockDoneCallback::OnDone));
+
+ GURL url;
+ URLRequestStatus status_ok;
+ ResponseCookies cookies;
+ target_->OnURLFetchComplete(NULL, url, status_ok, response_code,
+ cookies, data);
+ }
+
+ TestingProfile profile_;
+ scoped_ptr<DirectoryAddRequest> target_;
+};
+
+TEST_F(DirectoryAddRequestTest, Success) {
+ TestResult(200, "{\"data\":{\"kind\":\"chromoting#host\","
+ "\"hostId\":\"e64906c9-fdc9-4921-80cb-563cf7f564f3\","
+ "\"hostName\":\"host_name\",\"publicKey\":\"PUBLIC+KEY\"}}",
+ DirectoryAddRequest::SUCCESS, "");
+}
+
+TEST_F(DirectoryAddRequestTest, Duplicate) {
+ TestResult(400, "{\"error\":{\"errors\":[{\"domain\":\"global\","
+ "\"reason\":\"invalid\",\"message\":\"Attempt to register "
+ "a duplicate host.\"}],\"code\":400,\"message\":\"Attempt to "
+ "register a duplicate host.\"}}",
+ DirectoryAddRequest::ERROR_EXISTS,
+ "Attempt to register a duplicate host.");
+}
+
+TEST_F(DirectoryAddRequestTest, InvalidRequest) {
+ TestResult(400, "{\"error\":{\"errors\":[{\"domain\":\"global\","
+ "\"reason\":\"invalid\",\"message\":\"Invalid Value\"}],"
+ "\"code\":400,\"message\":\"Invalid Value\"}}",
+ DirectoryAddRequest::ERROR_INVALID_REQUEST,
+ "Invalid Value");
+}
+
+TEST_F(DirectoryAddRequestTest, InvalidToken) {
+ TestResult(401, "{\"error\":{\"errors\":[{\"domain\":\"global\","
+ "\"reason\":\"invalid\",\"message\":\"Token invalid\","
+ "\"locationType\":\"header\",\"location\":\"Authorization\"}],"
+ "\"code\":401,\"message\":\"Token invalid\"}}",
+ DirectoryAddRequest::ERROR_AUTH,
+ "Token invalid");
+}
+
+} // namespace remoting
« no previous file with comments | « chrome/browser/remoting/directory_add_request.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698