コード例 #1
0
        public async Task CallNestedComplexRefTypeParamAPI_Get_GetResponseWithParamatersNameValueAppended()
        {
            #region Arrange

            var resourceURL = @"/api/user/GetNestedComplexReferenceTypeParamStringResponse";
            var restHelper  = new EcSolvo.RestHelper(_BaseAddress);

            string ParameterKey1     = "VariableStr";
            string ParameterValueStr = "Jia";

            string ParameterKey2     = "VariableInt";
            int    ParameterValueInt = 1;

            string ParameterKey3      = "VariableBool";
            bool   ParameterValueBool = true;

            string   ParameterKey4          = "VariableDateTime";
            DateTime ParameterValueDateTime = DateTime.Now;

            string ParameterKey5          = "OuterVariableStr";
            string OuterParameterValueStr = "Outer";

            ComplexRefType ParameterComplexRefType = new ComplexRefType()
            {
                VariableBool     = ParameterValueBool,
                VariableDateTime = ParameterValueDateTime,
                VariableInt      = ParameterValueInt,
                VariableStr      = ParameterValueStr
            };

            NestedComplexRefType ParameterNestedComplexRefType = new NestedComplexRefType()
            {
                InnerVariableComplex = ParameterComplexRefType,
                OuterVariableStr     = OuterParameterValueStr
            };
            string result;
            #endregion

            #region Act
            using (WebApp.Start <WebApiStartup>(_BaseAddress))
            {
                restHelper.AddURLParameters("VariableNestedComplexRef", ParameterNestedComplexRefType);
                restHelper.AddURLParameters("DummyStr1", "DummyStr");
                restHelper.AddURLParameters("DummyStr2", "DummyStr");
                var RequestJSON = restHelper.SaveRequestAsJSON <bool>(HttpMethod.Get, resourceURL);
                result = await restHelper.LoadAndExecuteAsync(RequestJSON);
            }


            #endregion

            #region Assert
            Assert.AreEqual <string>(string.Format("{0}={1}&{2}={3}&{4}={5}&{6}={7}&{8}={9}",
                                                   ParameterKey5, OuterParameterValueStr,
                                                   ParameterKey1, ParameterValueStr,
                                                   ParameterKey2, ParameterValueInt,
                                                   ParameterKey3, ParameterValueBool,
                                                   ParameterKey4, ParameterValueDateTime), result);
            #endregion
        }
コード例 #2
0
        public async Task CallComplexArrayParamAPI_Get_GetResponseWithParamatersNameValueAppended()
        {
            #region Arrange

            var resourceURL = @"/api/user/GetComplexArrayStringResponse";
            var restHelper  = new EcSolvo.RestHelper(_BaseAddress);

            var      ParameterKey      = "ArrayObject";
            bool     ParameterBool     = true;
            int      ParameterInt      = 2;
            DateTime ParameterDateTime = DateTime.Now;
            string   ParameterStr      = "Jia";
            var      ParameterArray    = new ComplexRefType[] {
                new ComplexRefType()
                {
                    VariableBool = ParameterBool, VariableDateTime = ParameterDateTime, VariableInt = ParameterInt, VariableStr = ParameterStr
                },
                new ComplexRefType()
                {
                    VariableBool = ParameterBool, VariableDateTime = ParameterDateTime, VariableInt = ParameterInt, VariableStr = ParameterStr
                },
                new ComplexRefType()
                {
                    VariableBool = ParameterBool, VariableDateTime = ParameterDateTime, VariableInt = ParameterInt, VariableStr = ParameterStr
                }
            };

            string result;
            #endregion

            #region Act
            using (WebApp.Start <WebApiStartup>(_BaseAddress))
            {
                restHelper.AddURLParameters(ParameterKey, ParameterArray);
                var RequestJSON = restHelper.SaveRequestAsJSON <bool>(HttpMethod.Get, resourceURL);
                result = await restHelper.LoadAndExecuteAsync(RequestJSON);
            }


            #endregion

            #region Assert
            Assert.AreEqual <string>(string.Format("ArrayObjectBool-{0},{1},{2}",
                                                   ParameterArray[0].VariableBool,
                                                   ParameterArray[1].VariableBool,
                                                   ParameterArray[2].VariableBool), result);
            #endregion
        }
コード例 #3
0
        public async Task CallComplexRefTypeParamAPI_Post_GetResponseWithParamatersNameValueAppended()
        {
            #region Arrange
            var resourceURL = "api/user/PostComplexReferenceTypeParamStringResponse";
            var restHelper  = new EcSolvo.RestHelper(_BaseAddress);

            string ParameterKey1     = "VariableStr";
            string ParameterValueStr = "Jia";

            string ParameterKey2     = "VariableInt";
            int    ParameterValueInt = 1;

            string ParameterKey3      = "VariableBool";
            bool   ParameterValueBool = true;

            string   ParameterKey4          = "VariableDateTime";
            DateTime ParameterValueDateTime = DateTime.Now;

            ComplexRefType ParameterComplexRefType = new ComplexRefType()
            {
                VariableBool     = ParameterValueBool,
                VariableDateTime = ParameterValueDateTime,
                VariableInt      = ParameterValueInt,
                VariableStr      = ParameterValueStr
            };
            string result;
            #endregion

            #region Act
            using (WebApp.Start <WebApiStartup>(_BaseAddress))
            {
                restHelper.AssignMessageBodyParameter(ParameterComplexRefType);
                result = await restHelper.ExecuteAsync <string>(HttpMethod.Post, resourceURL);
            }
            #endregion

            #region Assert
            Assert.AreEqual <string>(string.Format("{0}={1}&{2}={3}&{4}={5}&{6}={7}",
                                                   ParameterKey1, ParameterValueStr,
                                                   ParameterKey2, ParameterValueInt,
                                                   ParameterKey3, ParameterValueBool,
                                                   ParameterKey4, ParameterValueDateTime), result);
            #endregion
        }