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

Side by Side Diff: pkg/http/test/http_test.dart

Issue 16758008: Add 'Server' and 'User-Agent' default header fields. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: git cl dcommit Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « pkg/http/test/client_test.dart ('k') | pkg/http/test/request_test.dart » ('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 Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library http_test; 5 library http_test;
6 6
7 import 'dart:io'; 7 import 'dart:io';
8 8
9 import 'package:http/http.dart' as http; 9 import 'package:http/http.dart' as http;
10 import 'package:unittest/unittest.dart'; 10 import 'package:unittest/unittest.dart';
(...skipping 10 matching lines...) Expand all
21 expect(response.statusCode, equals(200)); 21 expect(response.statusCode, equals(200));
22 expect(response.body, equals('')); 22 expect(response.body, equals(''));
23 }), completes); 23 }), completes);
24 }), completes); 24 }), completes);
25 }); 25 });
26 26
27 test('get', () { 27 test('get', () {
28 expect(startServer().then((_) { 28 expect(startServer().then((_) {
29 expect(http.get(serverUrl, headers: { 29 expect(http.get(serverUrl, headers: {
30 'X-Random-Header': 'Value', 30 'X-Random-Header': 'Value',
31 'X-Other-Header': 'Other Value' 31 'X-Other-Header': 'Other Value',
32 'User-Agent': 'Dart'
32 }).then((response) { 33 }).then((response) {
33 expect(response.statusCode, equals(200)); 34 expect(response.statusCode, equals(200));
34 expect(response.body, parse(equals({ 35 expect(response.body, parse(equals({
35 'method': 'GET', 36 'method': 'GET',
36 'path': '/', 37 'path': '/',
37 'headers': { 38 'headers': {
38 'content-length': ['0'], 39 'content-length': ['0'],
39 'accept-encoding': ['gzip'], 40 'accept-encoding': ['gzip'],
41 'user-agent': ['Dart'],
40 'x-random-header': ['Value'], 42 'x-random-header': ['Value'],
41 'x-other-header': ['Other Value'] 43 'x-other-header': ['Other Value']
42 }, 44 },
43 }))); 45 })));
44 }), completes); 46 }), completes);
45 }), completes); 47 }), completes);
46 }); 48 });
47 49
48 test('post', () { 50 test('post', () {
49 expect(startServer().then((_) { 51 expect(startServer().then((_) {
50 expect(http.post(serverUrl, headers: { 52 expect(http.post(serverUrl, headers: {
51 'X-Random-Header': 'Value', 53 'X-Random-Header': 'Value',
52 'X-Other-Header': 'Other Value' 54 'X-Other-Header': 'Other Value',
55 'User-Agent': 'Dart'
53 }, fields: { 56 }, fields: {
54 'some-field': 'value', 57 'some-field': 'value',
55 'other-field': 'other value' 58 'other-field': 'other value'
56 }).then((response) { 59 }).then((response) {
57 expect(response.statusCode, equals(200)); 60 expect(response.statusCode, equals(200));
58 expect(response.body, parse(equals({ 61 expect(response.body, parse(equals({
59 'method': 'POST', 62 'method': 'POST',
60 'path': '/', 63 'path': '/',
61 'headers': { 64 'headers': {
62 'content-type': [ 65 'content-type': [
63 'application/x-www-form-urlencoded; charset=utf-8' 66 'application/x-www-form-urlencoded; charset=utf-8'
64 ], 67 ],
65 'content-length': ['40'], 68 'content-length': ['40'],
66 'accept-encoding': ['gzip'], 69 'accept-encoding': ['gzip'],
70 'user-agent': ['Dart'],
67 'x-random-header': ['Value'], 71 'x-random-header': ['Value'],
68 'x-other-header': ['Other Value'] 72 'x-other-header': ['Other Value']
69 }, 73 },
70 'body': 'some-field=value&other-field=other+value' 74 'body': 'some-field=value&other-field=other+value'
71 }))); 75 })));
72 }), completes); 76 }), completes);
73 }), completes); 77 }), completes);
74 }); 78 });
75 79
76 test('post without fields', () { 80 test('post without fields', () {
77 expect(startServer().then((_) { 81 expect(startServer().then((_) {
78 expect(http.post(serverUrl, headers: { 82 expect(http.post(serverUrl, headers: {
79 'X-Random-Header': 'Value', 83 'X-Random-Header': 'Value',
80 'X-Other-Header': 'Other Value', 84 'X-Other-Header': 'Other Value',
81 'Content-Type': 'text/plain' 85 'Content-Type': 'text/plain',
86 'User-Agent': 'Dart'
82 }).then((response) { 87 }).then((response) {
83 expect(response.statusCode, equals(200)); 88 expect(response.statusCode, equals(200));
84 expect(response.body, parse(equals({ 89 expect(response.body, parse(equals({
85 'method': 'POST', 90 'method': 'POST',
86 'path': '/', 91 'path': '/',
87 'headers': { 92 'headers': {
88 'accept-encoding': ['gzip'], 93 'accept-encoding': ['gzip'],
89 'content-length': ['0'], 94 'content-length': ['0'],
90 'content-type': ['text/plain'], 95 'content-type': ['text/plain'],
96 'user-agent': ['Dart'],
91 'x-random-header': ['Value'], 97 'x-random-header': ['Value'],
92 'x-other-header': ['Other Value'] 98 'x-other-header': ['Other Value']
93 } 99 }
94 }))); 100 })));
95 }), completes); 101 }), completes);
96 }), completes); 102 }), completes);
97 }); 103 });
98 104
99 test('put', () { 105 test('put', () {
100 expect(startServer().then((_) { 106 expect(startServer().then((_) {
101 expect(http.put(serverUrl, headers: { 107 expect(http.put(serverUrl, headers: {
102 'X-Random-Header': 'Value', 108 'X-Random-Header': 'Value',
103 'X-Other-Header': 'Other Value' 109 'X-Other-Header': 'Other Value',
110 'User-Agent': 'Dart'
104 }, fields: { 111 }, fields: {
105 'some-field': 'value', 112 'some-field': 'value',
106 'other-field': 'other value' 113 'other-field': 'other value'
107 }).then((response) { 114 }).then((response) {
108 expect(response.statusCode, equals(200)); 115 expect(response.statusCode, equals(200));
109 expect(response.body, parse(equals({ 116 expect(response.body, parse(equals({
110 'method': 'PUT', 117 'method': 'PUT',
111 'path': '/', 118 'path': '/',
112 'headers': { 119 'headers': {
113 'content-type': [ 120 'content-type': [
114 'application/x-www-form-urlencoded; charset=utf-8' 121 'application/x-www-form-urlencoded; charset=utf-8'
115 ], 122 ],
116 'accept-encoding': ['gzip'], 123 'accept-encoding': ['gzip'],
117 'content-length': ['40'], 124 'content-length': ['40'],
125 'user-agent': ['Dart'],
118 'x-random-header': ['Value'], 126 'x-random-header': ['Value'],
119 'x-other-header': ['Other Value'] 127 'x-other-header': ['Other Value']
120 }, 128 },
121 'body': 'some-field=value&other-field=other+value' 129 'body': 'some-field=value&other-field=other+value'
122 }))); 130 })));
123 }), completes); 131 }), completes);
124 }), completes); 132 }), completes);
125 }); 133 });
126 134
127 test('put without fields', () { 135 test('put without fields', () {
128 expect(startServer().then((_) { 136 expect(startServer().then((_) {
129 expect(http.put(serverUrl, headers: { 137 expect(http.put(serverUrl, headers: {
130 'X-Random-Header': 'Value', 138 'X-Random-Header': 'Value',
131 'X-Other-Header': 'Other Value', 139 'X-Other-Header': 'Other Value',
132 'Content-Type': 'text/plain' 140 'Content-Type': 'text/plain',
141 'User-Agent': 'Dart'
133 }).then((response) { 142 }).then((response) {
134 expect(response.statusCode, equals(200)); 143 expect(response.statusCode, equals(200));
135 expect(response.body, parse(equals({ 144 expect(response.body, parse(equals({
136 'method': 'PUT', 145 'method': 'PUT',
137 'path': '/', 146 'path': '/',
138 'headers': { 147 'headers': {
139 'content-length': ['0'], 148 'content-length': ['0'],
140 'accept-encoding': ['gzip'], 149 'accept-encoding': ['gzip'],
141 'content-type': ['text/plain'], 150 'content-type': ['text/plain'],
151 'user-agent': ['Dart'],
142 'x-random-header': ['Value'], 152 'x-random-header': ['Value'],
143 'x-other-header': ['Other Value'] 153 'x-other-header': ['Other Value']
144 } 154 }
145 }))); 155 })));
146 }), completes); 156 }), completes);
147 }), completes); 157 }), completes);
148 }); 158 });
149 159
150 test('delete', () { 160 test('delete', () {
151 expect(startServer().then((_) { 161 expect(startServer().then((_) {
152 expect(http.delete(serverUrl, headers: { 162 expect(http.delete(serverUrl, headers: {
153 'X-Random-Header': 'Value', 163 'X-Random-Header': 'Value',
154 'X-Other-Header': 'Other Value' 164 'X-Other-Header': 'Other Value',
165 'User-Agent': 'Dart'
155 }).then((response) { 166 }).then((response) {
156 expect(response.statusCode, equals(200)); 167 expect(response.statusCode, equals(200));
157 expect(response.body, parse(equals({ 168 expect(response.body, parse(equals({
158 'method': 'DELETE', 169 'method': 'DELETE',
159 'path': '/', 170 'path': '/',
160 'headers': { 171 'headers': {
161 'content-length': ['0'], 172 'content-length': ['0'],
162 'accept-encoding': ['gzip'], 173 'accept-encoding': ['gzip'],
174 'user-agent': ['Dart'],
163 'x-random-header': ['Value'], 175 'x-random-header': ['Value'],
164 'x-other-header': ['Other Value'] 176 'x-other-header': ['Other Value']
165 } 177 }
166 }))); 178 })));
167 }), completes); 179 }), completes);
168 }), completes); 180 }), completes);
169 }); 181 });
170 182
171 test('read', () { 183 test('read', () {
172 expect(startServer().then((_) { 184 expect(startServer().then((_) {
173 expect(http.read(serverUrl, headers: { 185 expect(http.read(serverUrl, headers: {
174 'X-Random-Header': 'Value', 186 'X-Random-Header': 'Value',
175 'X-Other-Header': 'Other Value' 187 'X-Other-Header': 'Other Value',
188 'User-Agent': 'Dart'
176 }).then((val) => val), completion(parse(equals({ 189 }).then((val) => val), completion(parse(equals({
177 'method': 'GET', 190 'method': 'GET',
178 'path': '/', 191 'path': '/',
179 'headers': { 192 'headers': {
180 'content-length': ['0'], 193 'content-length': ['0'],
181 'accept-encoding': ['gzip'], 194 'accept-encoding': ['gzip'],
195 'user-agent': ['Dart'],
182 'x-random-header': ['Value'], 196 'x-random-header': ['Value'],
183 'x-other-header': ['Other Value'] 197 'x-other-header': ['Other Value']
184 }, 198 },
185 })))); 199 }))));
186 }), completes); 200 }), completes);
187 }); 201 });
188 202
189 test('read throws an error for a 4** status code', () { 203 test('read throws an error for a 4** status code', () {
190 expect(startServer().then((_) { 204 expect(startServer().then((_) {
191 expect(http.read(serverUrl.resolve('/error')), throwsHttpException); 205 expect(http.read(serverUrl.resolve('/error')), throwsHttpException);
192 }), completes); 206 }), completes);
193 }); 207 });
194 208
195 test('readBytes', () { 209 test('readBytes', () {
196 expect(startServer().then((_) { 210 expect(startServer().then((_) {
197 var future = http.readBytes(serverUrl, headers: { 211 var future = http.readBytes(serverUrl, headers: {
198 'X-Random-Header': 'Value', 212 'X-Random-Header': 'Value',
199 'X-Other-Header': 'Other Value' 213 'X-Other-Header': 'Other Value',
214 'User-Agent': 'Dart'
200 }).then((bytes) => new String.fromCharCodes(bytes)); 215 }).then((bytes) => new String.fromCharCodes(bytes));
201 216
202 expect(future, completion(parse(equals({ 217 expect(future, completion(parse(equals({
203 'method': 'GET', 218 'method': 'GET',
204 'path': '/', 219 'path': '/',
205 'headers': { 220 'headers': {
206 'content-length': ['0'], 221 'content-length': ['0'],
207 'accept-encoding': ['gzip'], 222 'accept-encoding': ['gzip'],
223 'user-agent': ['Dart'],
208 'x-random-header': ['Value'], 224 'x-random-header': ['Value'],
209 'x-other-header': ['Other Value'] 225 'x-other-header': ['Other Value']
210 }, 226 },
211 })))); 227 }))));
212 }), completes); 228 }), completes);
213 }); 229 });
214 230
215 test('readBytes throws an error for a 4** status code', () { 231 test('readBytes throws an error for a 4** status code', () {
216 expect(startServer().then((_) { 232 expect(startServer().then((_) {
217 expect(http.readBytes(serverUrl.resolve('/error')), throwsHttpException) ; 233 expect(http.readBytes(serverUrl.resolve('/error')), throwsHttpException) ;
218 }), completes); 234 }), completes);
219 }); 235 });
220 }); 236 });
221 } 237 }
OLDNEW
« no previous file with comments | « pkg/http/test/client_test.dart ('k') | pkg/http/test/request_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698