Exemplo n.º 1
0
        public void Should_Evaluate_Large_Json_Text()
        {
            // Arrange.
            IRunnerVariablesProvider variablesProvider = GetVariablesProvider();
            StringBuilder            sb = new StringBuilder("{ \"content\" : \"");
            int size = 1024 * 1024 * 10;

            for (int i = 0; i < size; i++)
            {
                sb.Append("A");
            }
            sb.Append("\"}");
            string            jsonBodyText = sb.ToString();
            RestResponse      response     = CreateResponse(ContentType.JSON, jsonBodyText);
            JavascriptWrapper jswrapper    = new JavascriptWrapper(variablesProvider);
            int expectedResult             = size;

            // Act.
            string javascriptText = "response.jsonbody.content.length";
            object rawResult      = jswrapper.evaluateExpression(response, javascriptText);
            int    actualResult   = Convert.ToInt32(rawResult);

            // Assert.
            Assert.AreEqual(expectedResult, actualResult);
        }
Exemplo n.º 2
0
        private void ReadResponsePropertyInJavaScript(string javascriptText,
                                                      string expectedResult, RestResponse response)
        {
            // Arrange.
            IRunnerVariablesProvider variablesProvider = GetVariablesProvider();
            JavascriptWrapper        jswrapper         = new JavascriptWrapper(variablesProvider);

            // Act.
            object rawResult    = jswrapper.evaluateExpression(response, javascriptText);
            string actualResult = rawResult.ToString();

            // Assert.
            Assert.AreEqual(expectedResult, actualResult);
        }
Exemplo n.º 3
0
        public virtual string handle(IRunnerVariablesProvider variablesProvider, Config config,
                                     RestResponse response, object expressionContext, string expression)
        {
            JavascriptWrapper            js     = new JavascriptWrapper(variablesProvider);
            IDictionary <string, string> urlMap =
                config.getAsMap("restfixture.javascript.imports.map",
                                new Dictionary <string, string>());
            object result = js.evaluateExpression(response, expression, urlMap);

            if (result == null)
            {
                return(null);
            }
            return(result.ToString());
        }
Exemplo n.º 4
0
        public void Should_Return_Null_For_Null_JavaScript_And_Null_JsonString()
        {
            // Arrange.
            IRunnerVariablesProvider variablesProvider = GetVariablesProvider();
            RestResponse             response          = null;
            JavascriptWrapper        jswrapper         = new JavascriptWrapper(variablesProvider);
            string expectedResult = null;

            // Act.
            string javascriptText = "null";
            object rawResult      = jswrapper.evaluateExpression(response, javascriptText);
            string actualResult   = (string)rawResult;

            // Assert.
            Assert.AreEqual(expectedResult, actualResult);
        }
Exemplo n.º 5
0
        public void Should_Handle_Null_ResponseObject()
        {
            // Arrange.
            IRunnerVariablesProvider variablesProvider = GetVariablesProvider();
            RestResponse             response          = null;
            JavascriptWrapper        jswrapper         = new JavascriptWrapper(variablesProvider);
            string expectedResult = "response is null: true";

            // Act.
            string javascriptText = "'response is null: ' + (response == null)";
            object rawResult      = jswrapper.evaluateExpression(response, javascriptText);
            string actualResult   = rawResult.ToString();

            // Assert.
            Assert.AreEqual(expectedResult, actualResult);
        }
Exemplo n.º 6
0
        public void Should_Read_Symbols_From_JavaScript()
        {
            // Arrange.
            FitVariables initialVariables = new FitVariables();

            initialVariables.put("my_sym", "98");
            IRunnerVariablesProvider variablesProvider = GetVariablesProvider(initialVariables);
            RestResponse             response          = new RestResponse();
            JavascriptWrapper        jswrapper         = new JavascriptWrapper(variablesProvider);
            string expectedResult = "my sym is: 98";

            // Act.
            string javascriptText = "'my sym is: ' + symbols['my_sym']";
            object rawResult      = jswrapper.evaluateExpression(response, javascriptText);
            string actualResult   = rawResult.ToString();

            // Assert.
            Assert.AreEqual(expectedResult, actualResult);
        }