Test for Resource size values (transfer size, decoded size, header size, request and response) for resources served over the network.


== Running test suite: Resource.Size.Network
-- Running test case: Resource.Size.Network.text
PASS: statusCode should be 200.
PASS: compressed should be false.
PASS: responseSource should be Symbol(network).
size: 2955
requestBodyTransferSize: 0
responseBodyTransferSize: 2955
estimatedNetworkEncodedSize: 2955
networkEncodedSize: 2955
PASS: estimatedTotalTransferSize should be >= (encoded body size + headers).
PASS: networkTotalTransferSize should be >= (encoded body size + headers).
PASS: requestHeadersTransferSize should be non-empty.
PASS: responseHeadersTransferSize should be non-empty.

-- Running test case: Resource.Size.Network.text.empty
PASS: statusCode should be 200.
PASS: compressed should be false.
PASS: responseSource should be Symbol(network).
size: 0
requestBodyTransferSize: 0
responseBodyTransferSize: 0
estimatedNetworkEncodedSize: 0
networkEncodedSize: 0
PASS: estimatedTotalTransferSize should be >= (encoded body size + headers).
PASS: networkTotalTransferSize should be >= (encoded body size + headers).
PASS: requestHeadersTransferSize should be non-empty.
PASS: responseHeadersTransferSize should be non-empty.

-- Running test case: Resource.Size.Network.text.gzipped
PASS: statusCode should be 200.
PASS: compressed should be true.
PASS: responseSource should be Symbol(network).
size: 2955
requestBodyTransferSize: 0
responseBodyTransferSize: 1229
estimatedNetworkEncodedSize: 1229
networkEncodedSize: 1229
PASS: estimatedTotalTransferSize should be >= (encoded body size + headers).
PASS: networkTotalTransferSize should be >= (encoded body size + headers).
PASS: requestHeadersTransferSize should be non-empty.
PASS: responseHeadersTransferSize should be non-empty.

-- Running test case: Resource.Size.Network.text.gzipped.no-content-length
PASS: statusCode should be 200.
PASS: compressed should be true.
PASS: responseSource should be Symbol(network).
size: 2955
requestBodyTransferSize: 0
responseBodyTransferSize: 1239
estimatedNetworkEncodedSize: 1239
networkEncodedSize: 1239
PASS: estimatedTotalTransferSize should be >= (encoded body size + headers).
PASS: networkTotalTransferSize should be >= (encoded body size + headers).
PASS: requestHeadersTransferSize should be non-empty.
PASS: responseHeadersTransferSize should be non-empty.

-- Running test case: Resource.Size.Network.image
PASS: statusCode should be 200.
PASS: compressed should be false.
PASS: responseSource should be Symbol(network).
size: 12940
requestBodyTransferSize: 0
responseBodyTransferSize: 12940
estimatedNetworkEncodedSize: 12940
networkEncodedSize: 12940
PASS: estimatedTotalTransferSize should be >= (encoded body size + headers).
PASS: networkTotalTransferSize should be >= (encoded body size + headers).
PASS: requestHeadersTransferSize should be non-empty.
PASS: responseHeadersTransferSize should be non-empty.

-- Running test case: Resource.Size.Network.404
PASS: statusCode should be 404.
PASS: compressed should be false.
PASS: responseSource should be Symbol(network).
size: 512
requestBodyTransferSize: 0
responseBodyTransferSize: 512
estimatedNetworkEncodedSize: 512
networkEncodedSize: 512
PASS: estimatedTotalTransferSize should be >= (encoded body size + headers).
PASS: networkTotalTransferSize should be >= (encoded body size + headers).
PASS: requestHeadersTransferSize should be non-empty.
PASS: responseHeadersTransferSize should be non-empty.

-- Running test case: Resource.Size.Network.requestData
PASS: statusCode should be 200.
PASS: compressed should be false.
PASS: responseSource should be Symbol(network).
size: 28
requestBodyTransferSize: 1027
responseBodyTransferSize: 28
estimatedNetworkEncodedSize: 28
networkEncodedSize: 28
PASS: estimatedTotalTransferSize should be >= (encoded body size + headers).
PASS: networkTotalTransferSize should be >= (encoded body size + headers).
PASS: requestHeadersTransferSize should be non-empty.
PASS: responseHeadersTransferSize should be non-empty.
PASS: requestHeadersTransferSize should be > 1060 bytes.

