private void DeserializeAndAddMapping(string json, Guid?guid = null) { var mappingModel = JsonConvert.DeserializeObject <MappingModel>(json); Check.NotNull(mappingModel, nameof(mappingModel)); Check.NotNull(mappingModel.Request, nameof(mappingModel.Request)); Check.NotNull(mappingModel.Response, nameof(mappingModel.Response)); var requestBuilder = InitRequestBuilder(mappingModel.Request); var responseBuilder = InitResponseBuilder(mappingModel.Response); IRespondWithAProvider respondProvider = Given(requestBuilder); if (guid != null) { respondProvider = respondProvider.WithGuid(guid.Value); } else if (mappingModel.Guid != null && mappingModel.Guid != Guid.Empty) { respondProvider = respondProvider.WithGuid(mappingModel.Guid.Value); } if (!string.IsNullOrEmpty(mappingModel.Title)) { respondProvider = respondProvider.WithTitle(mappingModel.Title); } if (mappingModel.Priority != null) { respondProvider = respondProvider.AtPriority(mappingModel.Priority.Value); } respondProvider.RespondWith(responseBuilder); }
private void DeserializeAndAddOrUpdateMapping(MappingModel mappingModel, Guid?guid = null, string path = null) { Check.NotNull(mappingModel, nameof(mappingModel)); Check.NotNull(mappingModel.Request, nameof(mappingModel.Request)); Check.NotNull(mappingModel.Response, nameof(mappingModel.Response)); var requestBuilder = InitRequestBuilder(mappingModel.Request); var responseBuilder = InitResponseBuilder(mappingModel.Response); IRespondWithAProvider respondProvider = Given(requestBuilder); if (guid != null) { respondProvider = respondProvider.WithGuid(guid.Value); } else if (mappingModel.Guid != null && mappingModel.Guid != Guid.Empty) { respondProvider = respondProvider.WithGuid(mappingModel.Guid.Value); } if (path != null) { respondProvider = respondProvider.WithPath(path); } if (!string.IsNullOrEmpty(mappingModel.Title)) { respondProvider = respondProvider.WithTitle(mappingModel.Title); } if (mappingModel.Priority != null) { respondProvider = respondProvider.AtPriority(mappingModel.Priority.Value); } if (mappingModel.Scenario != null) { respondProvider = respondProvider.InScenario(mappingModel.Scenario); respondProvider = respondProvider.WhenStateIs(mappingModel.WhenStateIs); respondProvider = respondProvider.WillSetStateTo(mappingModel.SetStateTo); } if (mappingModel.LogOnMatchFail) { respondProvider = respondProvider.WithLogOnMatchFail(true); } respondProvider.RespondWith(responseBuilder); }
private ResponseMessage MappingPut(RequestMessage requestMessage) { Guid guid = Guid.Parse(requestMessage.Path.TrimStart(AdminMappings.ToCharArray())); var mappingModel = JsonConvert.DeserializeObject <MappingModel>(requestMessage.Body); if (mappingModel.Request == null) { return new ResponseMessage { StatusCode = 400, Body = "Request missing" } } ; if (mappingModel.Response == null) { return new ResponseMessage { StatusCode = 400, Body = "Response missing" } } ; var requestBuilder = InitRequestBuilder(mappingModel.Request); var responseBuilder = InitResponseBuilder(mappingModel.Response); IRespondWithAProvider respondProvider = Given(requestBuilder).WithGuid(guid); if (!string.IsNullOrEmpty(mappingModel.Title)) { respondProvider = respondProvider.WithTitle(mappingModel.Title); } respondProvider.RespondWith(responseBuilder); return(new ResponseMessage { Body = "Mapping added or updated" }); }