public void TestDuplicateParameters(ParametersBulkCreate parameter, Values value) { var handler = new BulkCreateManager(); var response = handler.BulkCreate <BulkUpdateResponse>(value == Values.Same ? DuplicateParametersSameValue[parameter] : DuplicateParametersNotSameValue[parameter], System.Net.Http.HttpMethod.Post); PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.NoContent)); }
public void TestBulkCreateInjection(ParametersBulkCreate parameter, InjectionInput inputType) { var handler = new BulkCreateManager(); var request = DefaultBulkCreateParameters(ResourceId.Client, "P_Name", "Test Name"); var valueInput = InjectionInputData.InjectionInputMapper[inputType]; request = GetRequestForBulkCreate(request, parameter, valueInput); var response = handler.BulkCreate <object>(request, System.Net.Http.HttpMethod.Post); PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest)); }
public void TestBulkCreateGenarateInvalid(ParametersBulkCreate parameter, InvalidTestCases inputType, System.Net.HttpStatusCode resultCode) { var handler = new BulkCreateManager(); var request = DefaultBulkCreateParameters(ResourceId.Client, "P_Name", "Test Name"); request = GetRequestForBulkCreate(request, parameter, InvalidMaps[inputType].ToString(), inputType); var response = handler.BulkCreate <BulkUpdateResponse>(request, System.Net.Http.HttpMethod.Post); if (resultCode == System.Net.HttpStatusCode.OK) { PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK)); } else { PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest)); } }
private static Dictionary <string, object> GetRequestForBulkCreate(Dictionary <string, object> request, ParametersBulkCreate parameter, string valueInput, InvalidTestCases inputType = InvalidTestCases.Empty) { var tmpRequest = request["create"] as Dictionary <string, object>; var entries = (tmpRequest["entries"] as List <Dictionary <string, object> >)[0]; var merge = entries["merge"] as Dictionary <string, object>; var records = merge["records"] as Dictionary <string, object>; switch (parameter) { case ParametersBulkCreate.Ids: if (inputType != InvalidTestCases.Missing) { records["ids"] = valueInput; } else { records.Remove("ids"); } break; case ParametersBulkCreate.PhpSearch: if (inputType != InvalidTestCases.Missing) { records["phpSearch"] = valueInput; } else { records.Remove("phpSearch"); } break; case ParametersBulkCreate.FieldName: if (inputType != InvalidTestCases.Missing) { entries["fields"] = new Dictionary <string, string> { [valueInput] = "Test" }; } else { entries["fields"] = new Dictionary <string, string>(); } break; case ParametersBulkCreate.Field: if (inputType != InvalidTestCases.Missing) { merge["field"] = valueInput; } else { merge.Remove("field"); } break; case ParametersBulkCreate.Fields: if (inputType != InvalidTestCases.Missing) { entries["fields"] = valueInput; } else { merge.Remove("fields"); } break; case ParametersBulkCreate.Resource: if (inputType != InvalidTestCases.Missing) { entries["resource"] = valueInput; } else { entries.Remove("resource"); } break; case ParametersBulkCreate.Merge: if (inputType != InvalidTestCases.Missing) { entries["merge"] = valueInput; } else { entries.Remove("merge"); } break; case ParametersBulkCreate.Records: if (inputType != InvalidTestCases.Missing) { merge["records"] = valueInput; } else { merge.Remove("records"); } break; default: if (inputType != InvalidTestCases.Missing) { tmpRequest[parameter.ToString().ToLower()] = valueInput; } else { tmpRequest.Remove(parameter.ToString().ToLower()); } break; } request["create"] = tmpRequest; return(request); }