public async Task BigArrayObjectWithJsonShoulNotdMakeServerHang(string mediaType) { var model = new Security_ArrayModel(); List <string> stringList = new List <string>(); List <Security_ComplexModel> complexList = new List <Security_ComplexModel>(); List <Security_NestedModel> navigationList = new List <Security_NestedModel>(); for (int i = 0; i < 10000; i++) { stringList.Add(string.Empty); complexList.Add(new Security_ComplexModel()); navigationList.Add(new Security_NestedModel()); } model.StringArray = stringList; model.ComplexArray = complexList; model.NavigationCollection = navigationList; HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, this.BaseAddress + "/Security_ArrayModel"); request.Content = new StringContent(JsonConvert.SerializeObject(model)); request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse(mediaType); var response = await this.Client.SendAsync(request); response.EnsureSuccessStatusCode(); }
public async Task BigDataServiceVersionHeaderShouldBeRejected() { var model = new Security_ArrayModel(); AttackStringBuilder asb = new AttackStringBuilder(); asb.Append("3.0").Repeat("0", 100000); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, this.BaseAddress + "/Security_ArrayModel"); request.Content = new StringContent(JsonConvert.SerializeObject(model)); request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); request.Headers.Add("DataServiceVersion", asb.ToString()); var response = await this.Client.SendAsync(request); Assert.False(response.IsSuccessStatusCode); }