コード例 #1
0
        public void TestDuplicateParameters(ParametersBulkDelete parameter, Values value)
        {
            var handler  = new DefaultManager();
            var response = handler.Send <object>(BulkDeleteEndpoint, value == Values.Same ? DuplicateParametersSameValue[parameter]() : DuplicateParametersNotSameValue[parameter](), HttpMethod.POST);

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.NoContent));
        }
コード例 #2
0
        public void TestBulkDeleteInjection(ParametersBulkDelete parameter, InjectionInput inputType)
        {
            var handler = new DefaultManager();
            var request = DefaultBulkDeleteParametersWithRecordIds(ResourceId.Client, new List <string> {
                RecordsCreator.Data[$"{ResourceId.Client}0"].Id.ToString()
            });
            var valueInput = InjectionInputData.InjectionInputMapper[inputType];

            request = GetRequestForBulkDelete(ResourceId.Client, request, parameter, valueInput);
            var response = handler.Send <object>(BulkDeleteEndpoint, request.ToJson(), HttpMethod.POST);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest));
        }
コード例 #3
0
        public void TestBulkDeleteGenarateInvalid(ParametersBulkDelete parameter, InvalidTestCases inputType, System.Net.HttpStatusCode resultCode)
        {
            var handler = new DefaultManager();
            var request = DefaultBulkDeleteParametersWithRecordIds(ResourceId.Client, new List <string> {
                RecordsCreator.Data[$"{ResourceId.Client}0"].Id.ToString()
            });

            request = GetRequestForBulkDelete(ResourceId.Client, request, parameter, InvalidMaps[inputType].ToString(), inputType);
            var response = handler.Send <object>(BulkDeleteEndpoint, request.ToJson(), 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));
            }
        }
コード例 #4
0
        private static Dictionary <string, object> GetRequestForBulkDelete(ResourceId resource, Dictionary <string, object> request, ParametersBulkDelete parameter, string valueInput, InvalidTestCases inputType = InvalidTestCases.Empty)
        {
            var records = request["records"] as Dictionary <string, object>;

            switch (parameter)
            {
            case ParametersBulkDelete.Ids:
                if (inputType != InvalidTestCases.Missing)
                {
                    records["recordIds"] = valueInput;
                }
                else
                {
                    records.Remove("recordIds");
                    records["conditions"] = GetDefaultSearchFilters(ResourceId.Client).Conditions;
                }
                break;

            case ParametersBulkDelete.Resource:
                if (inputType != InvalidTestCases.Missing)
                {
                    request["resourceId"] = valueInput;
                }
                else
                {
                    request.Remove("resourceId");
                }
                break;

            case ParametersBulkDelete.Records:
                if (inputType != InvalidTestCases.Missing)
                {
                    request["records"] = valueInput;
                }
                else
                {
                    request.Remove("records");
                }
                break;

            case ParametersBulkDelete.Conditions:
                if (inputType != InvalidTestCases.Missing)
                {
                    records.Remove("recordIds");
                    records["conditions"] = valueInput;
                }
                break;

            default:
                if (inputType != InvalidTestCases.Missing)
                {
                    request[parameter.ToString().ToLower()] = valueInput;
                }
                else
                {
                    request.Remove(parameter.ToString().ToLower());
                }
                break;
            }
            return(request);
        }