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

Side by Side Diff: chrome/browser/local_discovery/privet_http_unittest.cc

Issue 59033010: Initial support for /privet/printer/createjob (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/local_discovery/privet_http_impl.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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/local_discovery/privet_http_impl.h" 7 #include "chrome/browser/local_discovery/privet_http_impl.h"
8 #include "net/base/host_port_pair.h" 8 #include "net/base/host_port_pair.h"
9 #include "net/base/net_errors.h" 9 #include "net/base/net_errors.h"
10 #include "net/url_request/test_url_fetcher_factory.h" 10 #include "net/url_request/test_url_fetcher_factory.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 " \"support_url\": \"http://support.google.com/cloudprint/?hl=en\"," 66 " \"support_url\": \"http://support.google.com/cloudprint/?hl=en\","
67 " \"update_url\": \"http://support.google.com/cloudprint/?hl=en\"," 67 " \"update_url\": \"http://support.google.com/cloudprint/?hl=en\","
68 " \"x-privet-token\": \"SampleTokenForTesting\"," 68 " \"x-privet-token\": \"SampleTokenForTesting\","
69 " \"api\": [" 69 " \"api\": ["
70 " \"/privet/accesstoken\"," 70 " \"/privet/accesstoken\","
71 " \"/privet/capabilities\"," 71 " \"/privet/capabilities\","
72 " \"/privet/printer/submitdoc\"," 72 " \"/privet/printer/submitdoc\","
73 " ]" 73 " ]"
74 "}"; 74 "}";
75 75
76 const char kSampleInfoResponseWithCreatejob[] = "{"
77 " \"version\": \"1.0\","
78 " \"name\": \"Common printer\","
79 " \"description\": \"Printer connected through Chrome connector\","
80 " \"url\": \"https://www.google.com/cloudprint\","
81 " \"type\": ["
82 " \"printer\""
83 " ],"
84 " \"id\": \"\","
85 " \"device_state\": \"idle\","
86 " \"connection_state\": \"online\","
87 " \"manufacturer\": \"Google\","
88 " \"model\": \"Google Chrome\","
89 " \"serial_number\": \"1111-22222-33333-4444\","
90 " \"firmware\": \"24.0.1312.52\","
91 " \"uptime\": 600,"
92 " \"setup_url\": \"http://support.google.com/\","
93 " \"support_url\": \"http://support.google.com/cloudprint/?hl=en\","
94 " \"update_url\": \"http://support.google.com/cloudprint/?hl=en\","
95 " \"x-privet-token\": \"SampleTokenForTesting\","
96 " \"api\": ["
97 " \"/privet/accesstoken\","
98 " \"/privet/capabilities\","
99 " \"/privet/printer/createjob\","
100 " \"/privet/printer/submitdoc\","
101 " ]"
102 "}";
76 103
77 const char kSampleRegisterStartResponse[] = "{" 104 const char kSampleRegisterStartResponse[] = "{"
78 "\"user\": \"example@google.com\"," 105 "\"user\": \"example@google.com\","
79 "\"action\": \"start\"" 106 "\"action\": \"start\""
80 "}"; 107 "}";
81 108
82 const char kSampleRegisterGetClaimTokenResponse[] = "{" 109 const char kSampleRegisterGetClaimTokenResponse[] = "{"
83 " \"action\": \"getClaimToken\"," 110 " \"action\": \"getClaimToken\","
84 " \"user\": \"example@google.com\"," 111 " \"user\": \"example@google.com\","
85 " \"token\": \"MySampleToken\"," 112 " \"token\": \"MySampleToken\","
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 155
129 const char kSampleCapabilitiesResponsePWGOnly[] = "{" 156 const char kSampleCapabilitiesResponsePWGOnly[] = "{"
130 "\"version\" : \"1.0\"," 157 "\"version\" : \"1.0\","
131 "\"printer\" : {" 158 "\"printer\" : {"
132 " \"supported_content_type\" : [" 159 " \"supported_content_type\" : ["
133 " { \"content_type\" : \"image/pwg-raster\" }" 160 " { \"content_type\" : \"image/pwg-raster\" }"
134 " ]" 161 " ]"
135 "}" 162 "}"
136 "}"; 163 "}";
137 164
165 const char kSampleCreatejobResponse[] = "{ \"job_id\": \"1234\" }";
166
138 class MockTestURLFetcherFactoryDelegate 167 class MockTestURLFetcherFactoryDelegate
139 : public net::TestURLFetcher::DelegateForTests { 168 : public net::TestURLFetcher::DelegateForTests {
140 public: 169 public:
141 // Callback issued correspondingly to the call to the |Start()| method. 170 // Callback issued correspondingly to the call to the |Start()| method.
142 MOCK_METHOD1(OnRequestStart, void(int fetcher_id)); 171 MOCK_METHOD1(OnRequestStart, void(int fetcher_id));
143 172
144 // Callback issued correspondingly to the call to |AppendChunkToUpload|. 173 // Callback issued correspondingly to the call to |AppendChunkToUpload|.
145 // Uploaded chunks can be retrieved with the |upload_chunks()| getter. 174 // Uploaded chunks can be retrieved with the |upload_chunks()| getter.
146 MOCK_METHOD1(OnChunkUpload, void(int fetcher_id)); 175 MOCK_METHOD1(OnChunkUpload, void(int fetcher_id));
147 176
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 EXPECT_CALL(local_print_delegate_, OnPrivetPrintingDoneInternal()); 812 EXPECT_CALL(local_print_delegate_, OnPrivetPrintingDoneInternal());
784 813
785 // TODO(noamsml): Is encoding spaces as pluses standard? 814 // TODO(noamsml): Is encoding spaces as pluses standard?
786 EXPECT_TRUE(SuccessfulResponseToURLAndData( 815 EXPECT_TRUE(SuccessfulResponseToURLAndData(
787 GURL("http://10.0.0.8:6006/privet/printer/submitdoc?" 816 GURL("http://10.0.0.8:6006/privet/printer/submitdoc?"
788 "user=sample%40gmail.com&jobname=Sample+job+name"), 817 "user=sample%40gmail.com&jobname=Sample+job+name"),
789 "Sample print data", 818 "Sample print data",
790 kSampleLocalPrintResponse)); 819 kSampleLocalPrintResponse));
791 }; 820 };
792 821
822 TEST_F(PrivetLocalPrintTest, SuccessfulLocalPrintWithCreatejob) {
823 local_print_operation_->SetUsername("sample@gmail.com");
824 local_print_operation_->SetJobname("Sample job name");
825 local_print_operation_->SetTicket("Sample print ticket");
826 local_print_operation_->Start();
827
828 EXPECT_TRUE(SuccessfulResponseToURL(
829 GURL("http://10.0.0.8:6006/privet/info"),
830 kSampleInfoResponseWithCreatejob));
831
832 EXPECT_CALL(local_print_delegate_, OnPrivetPrintingRequestPDFInternal());
833
834 EXPECT_TRUE(SuccessfulResponseToURL(
835 GURL("http://10.0.0.8:6006/privet/capabilities"),
836 kSampleCapabilitiesResponse));
837
838 local_print_operation_->SendData("Sample print data");
839
840 EXPECT_TRUE(SuccessfulResponseToURLAndData(
841 GURL("http://10.0.0.8:6006/privet/printer/createjob"),
842 "Sample print ticket",
843 kSampleCreatejobResponse));
844
845 EXPECT_CALL(local_print_delegate_, OnPrivetPrintingDoneInternal());
846
847 // TODO(noamsml): Is encoding spaces as pluses standard?
848 EXPECT_TRUE(SuccessfulResponseToURLAndData(
849 GURL("http://10.0.0.8:6006/privet/printer/submitdoc?"
850 "user=sample%40gmail.com&jobname=Sample+job+name&job_id=1234"),
851 "Sample print data",
852 kSampleLocalPrintResponse));
853 };
854
855
793 } // namespace 856 } // namespace
794 857
795 } // namespace local_discovery 858 } // namespace local_discovery
OLDNEW
« no previous file with comments | « chrome/browser/local_discovery/privet_http_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698