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

Side by Side Diff: chrome/browser/chromeos/attestation/attestation_ca_client_unittest.cc

Issue 1239993004: Fix all failed and canceled URLRequestStatuses without errors. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix more failures Created 5 years, 4 months 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/policy/cloud/user_policy_signin_service_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/message_loop/message_loop.h" 6 #include "base/message_loop/message_loop.h"
7 #include "chrome/browser/chromeos/attestation/attestation_ca_client.h" 7 #include "chrome/browser/chromeos/attestation/attestation_ca_client.h"
8 #include "content/public/test/test_browser_thread.h" 8 #include "content/public/test/test_browser_thread.h"
9 #include "net/base/net_errors.h"
9 #include "net/http/http_status_code.h" 10 #include "net/http/http_status_code.h"
10 #include "net/url_request/test_url_fetcher_factory.h" 11 #include "net/url_request/test_url_fetcher_factory.h"
11 #include "net/url_request/url_fetcher.h" 12 #include "net/url_request/url_fetcher.h"
12 #include "net/url_request/url_request_status.h" 13 #include "net/url_request/url_request_status.h"
13 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
14 15
15 namespace chromeos { 16 namespace chromeos {
16 namespace attestation { 17 namespace attestation {
17 18
18 class AttestationCAClientTest : public ::testing::Test { 19 class AttestationCAClientTest : public ::testing::Test {
(...skipping 13 matching lines...) Expand all
32 } 33 }
33 34
34 void DeleteClientDataCallback (AttestationCAClient* client, 35 void DeleteClientDataCallback (AttestationCAClient* client,
35 bool result, 36 bool result,
36 const std::string& data) { 37 const std::string& data) {
37 delete client; 38 delete client;
38 DataCallback(result, data); 39 DataCallback(result, data);
39 } 40 }
40 41
41 protected: 42 protected:
42 void SendResponse(net::URLRequestStatus::Status status, int response_code) { 43 void SendResponse(net::Error error, int response_code) {
43 net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0); 44 net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0);
44 CHECK(fetcher); 45 CHECK(fetcher);
45 fetcher->set_status(net::URLRequestStatus(status, 0)); 46 fetcher->set_status(net::URLRequestStatus::FromError(error));
46 fetcher->set_response_code(response_code); 47 fetcher->set_response_code(response_code);
47 fetcher->SetResponseString(fetcher->upload_data() + "_response"); 48 fetcher->SetResponseString(fetcher->upload_data() + "_response");
48 fetcher->delegate()->OnURLFetchComplete(fetcher); 49 fetcher->delegate()->OnURLFetchComplete(fetcher);
49 } 50 }
50 51
51 base::MessageLoop message_loop_; 52 base::MessageLoop message_loop_;
52 content::TestBrowserThread io_thread_; 53 content::TestBrowserThread io_thread_;
53 net::TestURLFetcherFactory url_fetcher_factory_; 54 net::TestURLFetcherFactory url_fetcher_factory_;
54 55
55 // For use with DataCallback. 56 // For use with DataCallback.
56 int num_invocations_; 57 int num_invocations_;
57 bool result_; 58 bool result_;
58 std::string data_; 59 std::string data_;
59 }; 60 };
60 61
61 TEST_F(AttestationCAClientTest, EnrollRequest) { 62 TEST_F(AttestationCAClientTest, EnrollRequest) {
62 AttestationCAClient client; 63 AttestationCAClient client;
63 client.SendEnrollRequest( 64 client.SendEnrollRequest(
64 "enroll", 65 "enroll",
65 base::Bind(&AttestationCAClientTest::DataCallback, 66 base::Bind(&AttestationCAClientTest::DataCallback,
66 base::Unretained(this))); 67 base::Unretained(this)));
67 SendResponse(net::URLRequestStatus::SUCCESS, net::HTTP_OK); 68 SendResponse(net::OK, net::HTTP_OK);
68 69
69 EXPECT_EQ(1, num_invocations_); 70 EXPECT_EQ(1, num_invocations_);
70 EXPECT_TRUE(result_); 71 EXPECT_TRUE(result_);
71 EXPECT_EQ("enroll_response", data_); 72 EXPECT_EQ("enroll_response", data_);
72 } 73 }
73 74
74 TEST_F(AttestationCAClientTest, CertificateRequest) { 75 TEST_F(AttestationCAClientTest, CertificateRequest) {
75 AttestationCAClient client; 76 AttestationCAClient client;
76 client.SendCertificateRequest( 77 client.SendCertificateRequest(
77 "certificate", 78 "certificate",
78 base::Bind(&AttestationCAClientTest::DataCallback, 79 base::Bind(&AttestationCAClientTest::DataCallback,
79 base::Unretained(this))); 80 base::Unretained(this)));
80 SendResponse(net::URLRequestStatus::SUCCESS, net::HTTP_OK); 81 SendResponse(net::OK, net::HTTP_OK);
81 82
82 EXPECT_EQ(1, num_invocations_); 83 EXPECT_EQ(1, num_invocations_);
83 EXPECT_TRUE(result_); 84 EXPECT_TRUE(result_);
84 EXPECT_EQ("certificate_response", data_); 85 EXPECT_EQ("certificate_response", data_);
85 } 86 }
86 87
87 TEST_F(AttestationCAClientTest, CertificateRequestNetworkFailure) { 88 TEST_F(AttestationCAClientTest, CertificateRequestNetworkFailure) {
88 AttestationCAClient client; 89 AttestationCAClient client;
89 client.SendCertificateRequest( 90 client.SendCertificateRequest(
90 "certificate", 91 "certificate",
91 base::Bind(&AttestationCAClientTest::DataCallback, 92 base::Bind(&AttestationCAClientTest::DataCallback,
92 base::Unretained(this))); 93 base::Unretained(this)));
93 SendResponse(net::URLRequestStatus::FAILED, net::HTTP_OK); 94 SendResponse(net::ERR_FAILED, net::HTTP_OK);
94 95
95 EXPECT_EQ(1, num_invocations_); 96 EXPECT_EQ(1, num_invocations_);
96 EXPECT_FALSE(result_); 97 EXPECT_FALSE(result_);
97 EXPECT_EQ("", data_); 98 EXPECT_EQ("", data_);
98 } 99 }
99 100
100 TEST_F(AttestationCAClientTest, CertificateRequestHttpError) { 101 TEST_F(AttestationCAClientTest, CertificateRequestHttpError) {
101 AttestationCAClient client; 102 AttestationCAClient client;
102 client.SendCertificateRequest( 103 client.SendCertificateRequest(
103 "certificate", 104 "certificate",
104 base::Bind(&AttestationCAClientTest::DataCallback, 105 base::Bind(&AttestationCAClientTest::DataCallback,
105 base::Unretained(this))); 106 base::Unretained(this)));
106 SendResponse(net::URLRequestStatus::SUCCESS, net::HTTP_NOT_FOUND); 107 SendResponse(net::OK, net::HTTP_NOT_FOUND);
107 108
108 EXPECT_EQ(1, num_invocations_); 109 EXPECT_EQ(1, num_invocations_);
109 EXPECT_FALSE(result_); 110 EXPECT_FALSE(result_);
110 EXPECT_EQ("", data_); 111 EXPECT_EQ("", data_);
111 } 112 }
112 113
113 TEST_F(AttestationCAClientTest, DeleteOnCallback) { 114 TEST_F(AttestationCAClientTest, DeleteOnCallback) {
114 AttestationCAClient* client = new AttestationCAClient(); 115 AttestationCAClient* client = new AttestationCAClient();
115 client->SendCertificateRequest( 116 client->SendCertificateRequest(
116 "certificate", 117 "certificate",
117 base::Bind(&AttestationCAClientTest::DeleteClientDataCallback, 118 base::Bind(&AttestationCAClientTest::DeleteClientDataCallback,
118 base::Unretained(this), 119 base::Unretained(this),
119 client)); 120 client));
120 SendResponse(net::URLRequestStatus::SUCCESS, net::HTTP_OK); 121 SendResponse(net::OK, net::HTTP_OK);
121 122
122 EXPECT_EQ(1, num_invocations_); 123 EXPECT_EQ(1, num_invocations_);
123 EXPECT_TRUE(result_); 124 EXPECT_TRUE(result_);
124 EXPECT_EQ("certificate_response", data_); 125 EXPECT_EQ("certificate_response", data_);
125 } 126 }
126 127
127 } // namespace attestation 128 } // namespace attestation
128 } // namespace chromeos 129 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/policy/cloud/user_policy_signin_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698