public TestState()
            {
                Session = new StoredHttpSession {
                    Id = Guid.NewGuid(), Timestamp = DateTimeOffset.UtcNow
                };

                UseCompression = false;

                CloudStorageAccount account = CloudStorageAccount.DevelopmentStorageAccount;

                CloudBlobClient blobClient = account.CreateCloudBlobClient();

                BlobContainer = new DelegatingCloudBlobContainer(blobClient.GetContainerReference(Constants.TestBlobContainerName));

                CloudTableClient tableClient = account.CreateCloudTableClient();

                Table = new DelegatingCloudTable(tableClient.GetTableReference(Constants.TestTableName));

                RequestWithContent = new HttpRequestMessage
                {
                    Method     = HttpMethod.Post,
                    RequestUri = new Uri("http://www.example.com/"),
                    Version    = new Version("1.1"),
                    Content    = new StringContent("request content", Encoding.UTF8, "text/plain")
                };
                RequestWithContent.Headers.Add("X-Request", "request header");
                RequestWithContent.Content.Headers.Add("X-Request-Content", "request content header");

                RequestWithoutContent = new HttpRequestMessage
                {
                    Method     = HttpMethod.Post,
                    RequestUri = new Uri("http://www.example.com/"),
                    Version    = new Version("1.1")
                };
                RequestWithoutContent.Headers.Add("X-Request", "request header");

                ResponseWithContent = new HttpResponseMessage
                {
                    Version      = new Version("1.1"),
                    StatusCode   = (HttpStatusCode)429,
                    ReasonPhrase = "Too Many Requests",
                    Content      = new StringContent("response content", Encoding.UTF8, "text/plain")
                };
                ResponseWithContent.Headers.Add("X-Response", "response header");
                ResponseWithContent.Content.Headers.Add("X-Response-Content", "response content header");

                ResponseWithoutContent = new HttpResponseMessage
                {
                    Version      = new Version("1.1"),
                    StatusCode   = (HttpStatusCode)429,
                    ReasonPhrase = "Too Many Requests"
                };
                ResponseWithoutContent.Headers.Add("X-Response", "response header");
            }
            public TestState()
            {
                CloudStorageAccount account = CloudStorageAccount.DevelopmentStorageAccount;
                var tableClient             = account.CreateCloudTableClient();

                Table = new DelegatingCloudTable(tableClient.GetTableReference(Constants.TestTableName));
                Table.CreateIfNotExistsAsync(CancellationToken.None).Wait();

                PartitionKey = Guid.NewGuid().ToString();
                RowKeyA      = Guid.NewGuid().ToString();
                RowKeyB      = Guid.NewGuid().ToString();
                ContentA     = "A";
                ContentB     = "B";
                EntityA      = new JsonSerializedTableEntity <string> {
                    PartitionKey = PartitionKey, RowKey = RowKeyA, Content = ContentA
                };
                EntityB = new JsonSerializedTableEntity <string> {
                    PartitionKey = PartitionKey, RowKey = RowKeyB, Content = ContentA
                };
            }