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

Side by Side Diff: net/spdy/spdy_http_stream_unittest.cc

Issue 2227503003: Add net log to UploadDataStream. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: typo Created 4 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 | « net/quic/core/quic_end_to_end_unittest.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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "net/spdy/spdy_http_stream.h" 5 #include "net/spdy/spdy_http_stream.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 public: 69 public:
70 enum class FailureMode { SYNC, ASYNC }; 70 enum class FailureMode { SYNC, ASYNC };
71 71
72 explicit ReadErrorUploadDataStream(FailureMode mode) 72 explicit ReadErrorUploadDataStream(FailureMode mode)
73 : UploadDataStream(true, 0), async_(mode), weak_factory_(this) {} 73 : UploadDataStream(true, 0), async_(mode), weak_factory_(this) {}
74 74
75 private: 75 private:
76 void CompleteRead() { UploadDataStream::OnReadCompleted(ERR_FAILED); } 76 void CompleteRead() { UploadDataStream::OnReadCompleted(ERR_FAILED); }
77 77
78 // UploadDataStream implementation: 78 // UploadDataStream implementation:
79 int InitInternal() override { return OK; } 79 int InitInternal(const BoundNetLog& net_log) override { return OK; }
80 80
81 int ReadInternal(IOBuffer* buf, int buf_len) override { 81 int ReadInternal(IOBuffer* buf, int buf_len) override {
82 if (async_ == FailureMode::ASYNC) { 82 if (async_ == FailureMode::ASYNC) {
83 base::ThreadTaskRunnerHandle::Get()->PostTask( 83 base::ThreadTaskRunnerHandle::Get()->PostTask(
84 FROM_HERE, base::Bind(&ReadErrorUploadDataStream::CompleteRead, 84 FROM_HERE, base::Bind(&ReadErrorUploadDataStream::CompleteRead,
85 weak_factory_.GetWeakPtr())); 85 weak_factory_.GetWeakPtr()));
86 return ERR_IO_PENDING; 86 return ERR_IO_PENDING;
87 } 87 }
88 return ERR_FAILED; 88 return ERR_FAILED;
89 } 89 }
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 const int kFirstChunkSize = kUploadDataSize/2; 357 const int kFirstChunkSize = kUploadDataSize/2;
358 upload_stream.AppendData(kUploadData, kFirstChunkSize, false); 358 upload_stream.AppendData(kUploadData, kFirstChunkSize, false);
359 upload_stream.AppendData(kUploadData + kFirstChunkSize, 359 upload_stream.AppendData(kUploadData + kFirstChunkSize,
360 kUploadDataSize - kFirstChunkSize, true); 360 kUploadDataSize - kFirstChunkSize, true);
361 361
362 HttpRequestInfo request; 362 HttpRequestInfo request;
363 request.method = "POST"; 363 request.method = "POST";
364 request.url = GURL("http://www.example.org/"); 364 request.url = GURL("http://www.example.org/");
365 request.upload_data_stream = &upload_stream; 365 request.upload_data_stream = &upload_stream;
366 366
367 ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); 367 ASSERT_THAT(
368 upload_stream.Init(TestCompletionCallback().callback(), BoundNetLog()),
369 IsOk());
368 370
369 TestCompletionCallback callback; 371 TestCompletionCallback callback;
370 HttpResponseInfo response; 372 HttpResponseInfo response;
371 HttpRequestHeaders headers; 373 HttpRequestHeaders headers;
372 BoundNetLog net_log; 374 BoundNetLog net_log;
373 SpdyHttpStream http_stream(session_, true); 375 SpdyHttpStream http_stream(session_, true);
374 ASSERT_EQ( 376 ASSERT_EQ(
375 OK, 377 OK,
376 http_stream.InitializeStream(&request, DEFAULT_PRIORITY, 378 http_stream.InitializeStream(&request, DEFAULT_PRIORITY,
377 net_log, CompletionCallback())); 379 net_log, CompletionCallback()));
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 InitSession(reads, arraysize(reads), writes, arraysize(writes)); 413 InitSession(reads, arraysize(reads), writes, arraysize(writes));
412 414
413 ChunkedUploadDataStream upload_stream(0); 415 ChunkedUploadDataStream upload_stream(0);
414 upload_stream.AppendData(nullptr, 0, true); 416 upload_stream.AppendData(nullptr, 0, true);
415 417
416 HttpRequestInfo request; 418 HttpRequestInfo request;
417 request.method = "POST"; 419 request.method = "POST";
418 request.url = GURL("http://www.example.org/"); 420 request.url = GURL("http://www.example.org/");
419 request.upload_data_stream = &upload_stream; 421 request.upload_data_stream = &upload_stream;
420 422
421 ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); 423 ASSERT_THAT(
424 upload_stream.Init(TestCompletionCallback().callback(), BoundNetLog()),
425 IsOk());
422 426
423 TestCompletionCallback callback; 427 TestCompletionCallback callback;
424 HttpResponseInfo response; 428 HttpResponseInfo response;
425 HttpRequestHeaders headers; 429 HttpRequestHeaders headers;
426 BoundNetLog net_log; 430 BoundNetLog net_log;
427 SpdyHttpStream http_stream(session_, true); 431 SpdyHttpStream http_stream(session_, true);
428 ASSERT_EQ(OK, http_stream.InitializeStream(&request, DEFAULT_PRIORITY, 432 ASSERT_EQ(OK, http_stream.InitializeStream(&request, DEFAULT_PRIORITY,
429 net_log, CompletionCallback())); 433 net_log, CompletionCallback()));
430 EXPECT_EQ(ERR_IO_PENDING, 434 EXPECT_EQ(ERR_IO_PENDING,
431 http_stream.SendRequest(headers, &response, callback.callback())); 435 http_stream.SendRequest(headers, &response, callback.callback()));
(...skipping 30 matching lines...) Expand all
462 466
463 ChunkedUploadDataStream upload_stream(0); 467 ChunkedUploadDataStream upload_stream(0);
464 // Append first chunk. 468 // Append first chunk.
465 upload_stream.AppendData(kUploadData, kUploadDataSize, false); 469 upload_stream.AppendData(kUploadData, kUploadDataSize, false);
466 470
467 HttpRequestInfo request; 471 HttpRequestInfo request;
468 request.method = "POST"; 472 request.method = "POST";
469 request.url = GURL("http://www.example.org/"); 473 request.url = GURL("http://www.example.org/");
470 request.upload_data_stream = &upload_stream; 474 request.upload_data_stream = &upload_stream;
471 475
472 ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); 476 ASSERT_THAT(
477 upload_stream.Init(TestCompletionCallback().callback(), BoundNetLog()),
478 IsOk());
473 479
474 TestCompletionCallback callback; 480 TestCompletionCallback callback;
475 HttpResponseInfo response; 481 HttpResponseInfo response;
476 HttpRequestHeaders headers; 482 HttpRequestHeaders headers;
477 BoundNetLog net_log; 483 BoundNetLog net_log;
478 SpdyHttpStream http_stream(session_, true); 484 SpdyHttpStream http_stream(session_, true);
479 ASSERT_EQ(OK, http_stream.InitializeStream(&request, DEFAULT_PRIORITY, 485 ASSERT_EQ(OK, http_stream.InitializeStream(&request, DEFAULT_PRIORITY,
480 net_log, CompletionCallback())); 486 net_log, CompletionCallback()));
481 487
482 EXPECT_EQ(ERR_IO_PENDING, 488 EXPECT_EQ(ERR_IO_PENDING,
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 535
530 InitSession(reads, arraysize(reads), writes, arraysize(writes)); 536 InitSession(reads, arraysize(reads), writes, arraysize(writes));
531 537
532 ChunkedUploadDataStream upload_stream(0); 538 ChunkedUploadDataStream upload_stream(0);
533 539
534 HttpRequestInfo request; 540 HttpRequestInfo request;
535 request.method = "POST"; 541 request.method = "POST";
536 request.url = GURL("http://www.example.org/"); 542 request.url = GURL("http://www.example.org/");
537 request.upload_data_stream = &upload_stream; 543 request.upload_data_stream = &upload_stream;
538 544
539 ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); 545 ASSERT_THAT(
546 upload_stream.Init(TestCompletionCallback().callback(), BoundNetLog()),
547 IsOk());
540 upload_stream.AppendData(kUploadData, kUploadDataSize, false); 548 upload_stream.AppendData(kUploadData, kUploadDataSize, false);
541 549
542 BoundNetLog net_log; 550 BoundNetLog net_log;
543 std::unique_ptr<SpdyHttpStream> http_stream( 551 std::unique_ptr<SpdyHttpStream> http_stream(
544 new SpdyHttpStream(session_, true)); 552 new SpdyHttpStream(session_, true));
545 ASSERT_EQ(OK, http_stream->InitializeStream(&request, DEFAULT_PRIORITY, 553 ASSERT_EQ(OK, http_stream->InitializeStream(&request, DEFAULT_PRIORITY,
546 net_log, CompletionCallback())); 554 net_log, CompletionCallback()));
547 555
548 TestCompletionCallback callback; 556 TestCompletionCallback callback;
549 HttpRequestHeaders headers; 557 HttpRequestHeaders headers;
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 629
622 InitSession(reads, arraysize(reads), writes, arraysize(writes)); 630 InitSession(reads, arraysize(reads), writes, arraysize(writes));
623 631
624 ChunkedUploadDataStream upload_stream(0); 632 ChunkedUploadDataStream upload_stream(0);
625 633
626 HttpRequestInfo request; 634 HttpRequestInfo request;
627 request.method = "POST"; 635 request.method = "POST";
628 request.url = GURL("http://www.example.org/"); 636 request.url = GURL("http://www.example.org/");
629 request.upload_data_stream = &upload_stream; 637 request.upload_data_stream = &upload_stream;
630 638
631 ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); 639 ASSERT_THAT(
640 upload_stream.Init(TestCompletionCallback().callback(), BoundNetLog()),
641 IsOk());
632 upload_stream.AppendData(kUploadData, kUploadDataSize, false); 642 upload_stream.AppendData(kUploadData, kUploadDataSize, false);
633 643
634 BoundNetLog net_log; 644 BoundNetLog net_log;
635 std::unique_ptr<SpdyHttpStream> http_stream( 645 std::unique_ptr<SpdyHttpStream> http_stream(
636 new SpdyHttpStream(session_, true)); 646 new SpdyHttpStream(session_, true));
637 ASSERT_EQ(OK, http_stream->InitializeStream(&request, DEFAULT_PRIORITY, 647 ASSERT_EQ(OK, http_stream->InitializeStream(&request, DEFAULT_PRIORITY,
638 net_log, CompletionCallback())); 648 net_log, CompletionCallback()));
639 649
640 TestCompletionCallback callback; 650 TestCompletionCallback callback;
641 HttpRequestHeaders headers; 651 HttpRequestHeaders headers;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 712
703 InitSession(reads, arraysize(reads), writes, arraysize(writes)); 713 InitSession(reads, arraysize(reads), writes, arraysize(writes));
704 714
705 ChunkedUploadDataStream upload_stream(0); 715 ChunkedUploadDataStream upload_stream(0);
706 716
707 HttpRequestInfo request; 717 HttpRequestInfo request;
708 request.method = "POST"; 718 request.method = "POST";
709 request.url = GURL("http://www.example.org/"); 719 request.url = GURL("http://www.example.org/");
710 request.upload_data_stream = &upload_stream; 720 request.upload_data_stream = &upload_stream;
711 721
712 ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); 722 ASSERT_THAT(
723 upload_stream.Init(TestCompletionCallback().callback(), BoundNetLog()),
724 IsOk());
713 upload_stream.AppendData("", 0, true); 725 upload_stream.AppendData("", 0, true);
714 726
715 BoundNetLog net_log; 727 BoundNetLog net_log;
716 std::unique_ptr<SpdyHttpStream> http_stream( 728 std::unique_ptr<SpdyHttpStream> http_stream(
717 new SpdyHttpStream(session_, true)); 729 new SpdyHttpStream(session_, true));
718 ASSERT_EQ(OK, http_stream->InitializeStream(&request, DEFAULT_PRIORITY, 730 ASSERT_EQ(OK, http_stream->InitializeStream(&request, DEFAULT_PRIORITY,
719 net_log, CompletionCallback())); 731 net_log, CompletionCallback()));
720 732
721 TestCompletionCallback callback; 733 TestCompletionCallback callback;
722 HttpRequestHeaders headers; 734 HttpRequestHeaders headers;
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
813 825
814 InitSession(reads, arraysize(reads), writes, arraysize(writes)); 826 InitSession(reads, arraysize(reads), writes, arraysize(writes));
815 827
816 ChunkedUploadDataStream upload_stream(0); 828 ChunkedUploadDataStream upload_stream(0);
817 829
818 HttpRequestInfo request; 830 HttpRequestInfo request;
819 request.method = "POST"; 831 request.method = "POST";
820 request.url = GURL("http://www.example.org/"); 832 request.url = GURL("http://www.example.org/");
821 request.upload_data_stream = &upload_stream; 833 request.upload_data_stream = &upload_stream;
822 834
823 ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); 835 ASSERT_THAT(
836 upload_stream.Init(TestCompletionCallback().callback(), BoundNetLog()),
837 IsOk());
824 838
825 BoundNetLog net_log; 839 BoundNetLog net_log;
826 std::unique_ptr<SpdyHttpStream> http_stream( 840 std::unique_ptr<SpdyHttpStream> http_stream(
827 new SpdyHttpStream(session_, true)); 841 new SpdyHttpStream(session_, true));
828 ASSERT_EQ(OK, http_stream->InitializeStream(&request, DEFAULT_PRIORITY, 842 ASSERT_EQ(OK, http_stream->InitializeStream(&request, DEFAULT_PRIORITY,
829 net_log, CompletionCallback())); 843 net_log, CompletionCallback()));
830 844
831 HttpRequestHeaders headers; 845 HttpRequestHeaders headers;
832 HttpResponseInfo response; 846 HttpResponseInfo response;
833 // This will attempt to Write() the initial request and headers, which will 847 // This will attempt to Write() the initial request and headers, which will
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
907 SpdySerializedFrame resp(spdy_util_.ConstructSpdyPostReply(nullptr, 0)); 921 SpdySerializedFrame resp(spdy_util_.ConstructSpdyPostReply(nullptr, 0));
908 922
909 MockRead reads[] = { 923 MockRead reads[] = {
910 CreateMockRead(resp, 2), MockRead(SYNCHRONOUS, 0, 3), 924 CreateMockRead(resp, 2), MockRead(SYNCHRONOUS, 0, 3),
911 }; 925 };
912 926
913 InitSession(reads, arraysize(reads), writes, arraysize(writes)); 927 InitSession(reads, arraysize(reads), writes, arraysize(writes));
914 928
915 ReadErrorUploadDataStream upload_data_stream( 929 ReadErrorUploadDataStream upload_data_stream(
916 ReadErrorUploadDataStream::FailureMode::SYNC); 930 ReadErrorUploadDataStream::FailureMode::SYNC);
917 ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback()), 931 ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback(),
932 BoundNetLog()),
918 IsOk()); 933 IsOk());
919 934
920 HttpRequestInfo request; 935 HttpRequestInfo request;
921 request.method = "POST"; 936 request.method = "POST";
922 request.url = GURL("http://www.example.org/"); 937 request.url = GURL("http://www.example.org/");
923 request.upload_data_stream = &upload_data_stream; 938 request.upload_data_stream = &upload_data_stream;
924 939
925 TestCompletionCallback callback; 940 TestCompletionCallback callback;
926 HttpResponseInfo response; 941 HttpResponseInfo response;
927 HttpRequestHeaders headers; 942 HttpRequestHeaders headers;
(...skipping 27 matching lines...) Expand all
955 SpdySerializedFrame resp(spdy_util_.ConstructSpdyPostReply(nullptr, 0)); 970 SpdySerializedFrame resp(spdy_util_.ConstructSpdyPostReply(nullptr, 0));
956 971
957 MockRead reads[] = { 972 MockRead reads[] = {
958 MockRead(ASYNC, 0, 2), 973 MockRead(ASYNC, 0, 2),
959 }; 974 };
960 975
961 InitSession(reads, arraysize(reads), writes, arraysize(writes)); 976 InitSession(reads, arraysize(reads), writes, arraysize(writes));
962 977
963 ReadErrorUploadDataStream upload_data_stream( 978 ReadErrorUploadDataStream upload_data_stream(
964 ReadErrorUploadDataStream::FailureMode::ASYNC); 979 ReadErrorUploadDataStream::FailureMode::ASYNC);
965 ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback()), 980 ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback(),
981 BoundNetLog()),
966 IsOk()); 982 IsOk());
967 983
968 HttpRequestInfo request; 984 HttpRequestInfo request;
969 request.method = "POST"; 985 request.method = "POST";
970 request.url = GURL("http://www.example.org/"); 986 request.url = GURL("http://www.example.org/");
971 request.upload_data_stream = &upload_data_stream; 987 request.upload_data_stream = &upload_data_stream;
972 988
973 TestCompletionCallback callback; 989 TestCompletionCallback callback;
974 HttpResponseInfo response; 990 HttpResponseInfo response;
975 HttpRequestHeaders headers; 991 HttpRequestHeaders headers;
(...skipping 23 matching lines...) Expand all
999 MockRead reads[] = {MockRead(ASYNC, 0, 3)}; 1015 MockRead reads[] = {MockRead(ASYNC, 0, 3)};
1000 InitSession(reads, arraysize(reads), writes, arraysize(writes)); 1016 InitSession(reads, arraysize(reads), writes, arraysize(writes));
1001 1017
1002 HttpRequestInfo request; 1018 HttpRequestInfo request;
1003 request.method = "POST"; 1019 request.method = "POST";
1004 request.url = GURL("http://www.example.org/"); 1020 request.url = GURL("http://www.example.org/");
1005 ChunkedUploadDataStream upload_stream(0); 1021 ChunkedUploadDataStream upload_stream(0);
1006 request.upload_data_stream = &upload_stream; 1022 request.upload_data_stream = &upload_stream;
1007 1023
1008 TestCompletionCallback upload_callback; 1024 TestCompletionCallback upload_callback;
1009 ASSERT_THAT(upload_stream.Init(upload_callback.callback()), IsOk()); 1025 ASSERT_THAT(upload_stream.Init(upload_callback.callback(), BoundNetLog()),
1026 IsOk());
1010 upload_stream.AppendData("", 0, true); 1027 upload_stream.AppendData("", 0, true);
1011 1028
1012 BoundNetLog net_log; 1029 BoundNetLog net_log;
1013 SpdyHttpStream http_stream(session_, true); 1030 SpdyHttpStream http_stream(session_, true);
1014 ASSERT_THAT(http_stream.InitializeStream(&request, DEFAULT_PRIORITY, net_log, 1031 ASSERT_THAT(http_stream.InitializeStream(&request, DEFAULT_PRIORITY, net_log,
1015 CompletionCallback()), 1032 CompletionCallback()),
1016 IsOk()); 1033 IsOk());
1017 1034
1018 CancelStreamCallback callback(&http_stream); 1035 CancelStreamCallback callback(&http_stream);
1019 HttpRequestHeaders headers; 1036 HttpRequestHeaders headers;
1020 HttpResponseInfo response; 1037 HttpResponseInfo response;
1021 // This will attempt to Write() the initial request and headers, which will 1038 // This will attempt to Write() the initial request and headers, which will
1022 // complete asynchronously. 1039 // complete asynchronously.
1023 EXPECT_EQ(ERR_IO_PENDING, 1040 EXPECT_EQ(ERR_IO_PENDING,
1024 http_stream.SendRequest(headers, &response, callback.callback())); 1041 http_stream.SendRequest(headers, &response, callback.callback()));
1025 EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key_)); 1042 EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key_));
1026 1043
1027 // The callback cancels |http_stream|. 1044 // The callback cancels |http_stream|.
1028 EXPECT_THAT(callback.WaitForResult(), IsOk()); 1045 EXPECT_THAT(callback.WaitForResult(), IsOk());
1029 1046
1030 EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key_)); 1047 EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key_));
1031 } 1048 }
1032 1049
1033 // TODO(willchan): Write a longer test for SpdyStream that exercises all 1050 // TODO(willchan): Write a longer test for SpdyStream that exercises all
1034 // methods. 1051 // methods.
1035 1052
1036 } // namespace net 1053 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_end_to_end_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698