예제 #1
0
        public void GivenTheUserName(string username)
        {
            RequestTop xmlRpc;

            if (!ScenarioContext.Current.TryGetValue <RequestTop>(Keys.XmlRpcRequest, out xmlRpc))
            {
                xmlRpc = new RequestTop
                {
                    Params = new List <RequestParam>()
                };
            }

            var param = new RequestParam
            {
                RequestValue =
                {
                    ValueChoice = MemberValue.ValueType.String,
                    Value       = username
                }
            };

            xmlRpc.Params.Add(param);

            ScenarioContext.Current.Set(xmlRpc, Keys.XmlRpcRequest);
        }
예제 #2
0
        public void GivenAPassword(string password)
        {
            //var xmlRpc = ScenarioContext.Current.Get<Request>(Keys.XmlRpcRequest) ?? new Request { Params = new List<RequestParam>() };

            RequestTop xmlRpc;

            if (!ScenarioContext.Current.TryGetValue <RequestTop>(Keys.XmlRpcRequest, out xmlRpc))
            {
                xmlRpc = new RequestTop
                {
                    Params = new List <RequestParam>()
                };
            }

            var param = new RequestParam
            {
                RequestValue =
                {
                    ValueChoice = MemberValue.ValueType.String,
                    Value       = password
                }
            };

            xmlRpc.Params.Add(param);

            ScenarioContext.Current.Set(xmlRpc, Keys.XmlRpcRequest);
        }
예제 #3
0
        public void GivenIHaveAUserWithAnAppKeyOf(string appKey)
        {
            RequestTop xmlRpc;

            if (!ScenarioContext.Current.TryGetValue <RequestTop>(Keys.XmlRpcRequest, out xmlRpc))
            {
                xmlRpc = new RequestTop
                {
                    Params = new List <RequestParam>()
                };
            }

            var param = new RequestParam
            {
                RequestValue =
                {
                    ValueChoice = MemberValue.ValueType.String,
                    Value       = appKey
                }
            };

            xmlRpc.Params.Add(param);

            ScenarioContext.Current.Set(xmlRpc, Keys.XmlRpcRequest);
        }
예제 #4
0
        public void GivenTheBlogIdIs(int blogId)
        {
            RequestTop xmlRpc;

            if (!ScenarioContext.Current.TryGetValue <RequestTop>(Keys.XmlRpcRequest, out xmlRpc))
            {
                xmlRpc = new RequestTop
                {
                    Params = new List <RequestParam>()
                };
            }

            var param = new RequestParam
            {
                RequestValue =
                {
                    ValueChoice = MemberValue.ValueType.String,
                    Value       = blogId.ToString(CultureInfo.InvariantCulture)
                }
            };

            xmlRpc.Params.Add(param);

            ScenarioContext.Current.Set(xmlRpc, Keys.XmlRpcRequest);
        }
예제 #5
0
 public static void HttpRequestMessage(HttpRequestMessage request)
 {
     using (var stream = new MemoryStream())
     {
         var        serializer = new XmlSerializer(typeof(RequestTop));
         RequestTop requestTop = request.Content.ReadAsAsync <RequestTop>().Result;
         serializer.Serialize(XmlWriter.Create(stream), requestTop);
         string message = Encoding.UTF8.GetString(stream.ToArray());
         Debug.WriteLine(message);
         stream.Flush();
     }
 }
        public async Task <HttpResponseMessage> PostAsync(RequestTop request)
        {
            if (request == null)
            {
                return(this.Request.CreateResponse(HttpStatusCode.NotAcceptable));
            }

            var requestMapper      = this.requestMapperFactory.GetContentFor(request.Method);
            var responseMapper     = this.responseMapperFactory.GetContentFor(request.Method);
            var httpResponseMapper = this.httpResponseMessageMapperFactory.GetContentFor(request.Method);
            var processor          = this.processorFactory.GetContentFor(request.Method);

            var metaWeblogRequest = requestMapper.MapFrom(request);
            var result            = await processor.ProcessAsync(metaWeblogRequest);

            var response = responseMapper.MapFrom(result);

            return((HttpResponseMessage)httpResponseMapper.MapFrom(response));
        }