All Downloads are FREE. Search and download functionalities are using the official Maven repository.

FitNesseRoot.files.testResults.RestFixtureTests.JavascriptExpectations.20160224235240_0_0_0_1.xml Maven / Gradle / Ivy

<?xml version="1.0"?>
<testResults>
  <FitNesseVersion>v20150424</FitNesseVersion>
  <rootPath>RestFixtureTests.JavascriptExpectations</rootPath>
    <result>
    <counts>
      <right>0</right>
      <wrong>0</wrong>
      <ignores>0</ignores>
      <exceptions>13</exceptions>
    </counts>
   <runTimeInMillis>63</runTimeInMillis>
    <content>&lt;div class="collapsible closed"&gt;&lt;ul&gt;&lt;li&gt;&lt;a href='#' class='expandall'&gt;Expand&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href='#' class='collapseall'&gt;Collapse&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
	&lt;p class="title"&gt;Included page: &lt;a href="RestFixtureTests.SetUp"&gt;.RestFixtureTests.SetUp&lt;/a&gt; &lt;a href="RestFixtureTests.SetUp?edit&amp;amp;redirectToReferer=true&amp;amp;redirectAction=" class="edit"&gt;(edit)&lt;/a&gt;&lt;/p&gt;
	&lt;div&gt;&lt;table&gt;
	&lt;tr class="slimRowTitle"&gt;
		&lt;td&gt;script&lt;/td&gt;
		&lt;td colspan="2"&gt;http server fixture &lt;span class="error"&gt;Could not invoke constructor for HttpServerFixture[0]&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor0"&gt;
		&lt;td&gt;check&lt;/td&gt;
		&lt;td&gt;is started&lt;/td&gt;
		&lt;td&gt;true &lt;span class="error"&gt;The instance scriptTableActor.isStarted. does not exist&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor9"&gt;
		&lt;td colspan="3"&gt;reset resources database &lt;span class="error"&gt;The instance scriptTableActor.resetResourcesDatabase. does not exist&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br/&gt;&lt;h3&gt;Expectations in Javascript on responses with content type application/json&lt;/h3&gt;
&lt;br/&gt;As of RestFixture Version 2, a javascript engine is embedded to allow expectations in Javascript on response body contents in JSON format.&lt;br/&gt;&lt;br/&gt;&lt;div class="collapsible"&gt;&lt;ul&gt;&lt;li&gt;&lt;a href='#' class='expandall'&gt;Expand&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href='#' class='collapseall'&gt;Collapse&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
	&lt;p class="title"&gt;XPaths and JSON&lt;/p&gt;
	&lt;div&gt;For backward compatibility XPath expressions are maintained and executed&lt;br/&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br/&gt;After a successful response is received with content type "application/json" the expectation cell in a RestFixture&lt;a title="create page" href="RestFixtureTests.RestFixture?edit&amp;amp;nonExistent=true"&gt;[?]&lt;/a&gt; row is &lt;br/&gt;interpreted as a string with Javascript and executed within the context of the response body.&lt;br/&gt;&lt;br/&gt;&lt;table&gt;
	&lt;tr class="slimRowTitle"&gt;
		&lt;td&gt;Table: Rest Fixture &lt;span class="error"&gt;Could not invoke constructor for RestFixture[1]&lt;/span&gt;&lt;/td&gt;
		&lt;td colspan="4"&gt;&lt;a href="http://localhost:9876"&gt;http://localhost:9876&lt;/a&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor0"&gt;
		&lt;td&gt;setBody&lt;/td&gt;
		&lt;td colspan="4"&gt; { "resource" : { "name" : "test post", "data" : "some data" } } &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor1"&gt;
		&lt;td&gt;POST&lt;/td&gt;
		&lt;td&gt;/resources/&lt;/td&gt;
		&lt;td&gt;201&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;no-body&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor0"&gt;
		&lt;td&gt;let&lt;/td&gt;
		&lt;td&gt;id&lt;/td&gt;
		&lt;td&gt;header&lt;/td&gt;
		&lt;td&gt;Location:/resources/(.+)&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;br/&gt;A variable &amp;lt;code&amp;gt;jsonbody&amp;lt;/code&amp;gt; is defined holding the JSON in the response.&lt;br/&gt;&lt;br/&gt;The test passes if the result of the evaluation of the cell is a boolean.&lt;br/&gt;&lt;br/&gt;&lt;table&gt;
	&lt;tr class="slimRowTitle"&gt;
		&lt;td&gt;Table: Rest Fixture &lt;span class="error"&gt;Could not invoke constructor for RestFixture[1]&lt;/span&gt;&lt;/td&gt;
		&lt;td colspan="4"&gt;&lt;a href="http://localhost:9876"&gt;http://localhost:9876&lt;/a&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor0"&gt;
		&lt;td&gt;GET&lt;/td&gt;
		&lt;td&gt;/resources/%id%.json&lt;/td&gt;
		&lt;td&gt;200&lt;/td&gt;
		&lt;td&gt;Content-Type : application/json&lt;/td&gt;
		&lt;td&gt;
jsonbody.resource.name=="test post" &amp;&amp; jsonbody.resource.data=="some data" 
&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;br/&gt;It is possible to specify multiple assertions, one for each line. &lt;br/&gt;The test passes if each line evaluates to true.&lt;br/&gt;&lt;br/&gt;&lt;table&gt;
	&lt;tr class="slimRowTitle"&gt;
		&lt;td&gt;Table: Rest Fixture &lt;span class="error"&gt;Could not invoke constructor for RestFixture[1]&lt;/span&gt;&lt;/td&gt;
		&lt;td colspan="4"&gt;&lt;a href="http://localhost:9876"&gt;http://localhost:9876&lt;/a&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor0"&gt;
		&lt;td&gt;GET&lt;/td&gt;
		&lt;td&gt;/resources/%id%.json&lt;/td&gt;
		&lt;td&gt;200&lt;/td&gt;
		&lt;td&gt;Content-Type : application/json&lt;/td&gt;
		&lt;td&gt;
jsonbody.resource.name.length &gt;= 0 
jsonbody.resource.name.length &lt; 1000
jsonbody.resource.name.length &lt; jsonbody.resource.name.length+1
&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor1"&gt;
		&lt;td&gt;let&lt;/td&gt;
		&lt;td&gt;content&lt;/td&gt;
		&lt;td&gt;js&lt;/td&gt;
		&lt;td&gt;response.body&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;br/&gt;&lt;table&gt;
	&lt;tr class="slimRowTitle"&gt;
		&lt;td&gt;Table: Rest Fixture &lt;span class="error"&gt;Could not invoke constructor for RestFixture[1]&lt;/span&gt;&lt;/td&gt;
		&lt;td colspan="4"&gt;&lt;a href="http://localhost:9876"&gt;http://localhost:9876&lt;/a&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor0"&gt;
		&lt;td&gt;setBody&lt;/td&gt;
		&lt;td colspan="4"&gt;%content%&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor1"&gt;
		&lt;td&gt;POST&lt;/td&gt;
		&lt;td&gt;/resources/&lt;/td&gt;
		&lt;td&gt;201&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;no-body&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor0"&gt;
		&lt;td&gt;let&lt;/td&gt;
		&lt;td&gt;id&lt;/td&gt;
		&lt;td&gt;header&lt;/td&gt;
		&lt;td&gt;Location:/resources/(.+)&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;br/&gt;In some cases may be useful to force evaluation of the expectation cell as a javascript block. &lt;br/&gt;By embedding the &amp;lt;code&amp;gt;/* javascript */&amp;lt;/code&amp;gt; comment, the whole expectation cell will be parsed and evaluated entirely using the javascript interpreter.&lt;br/&gt;&lt;br/&gt;&lt;table&gt;
	&lt;tr class="slimRowTitle"&gt;
		&lt;td&gt;Table: Rest Fixture &lt;span class="error"&gt;Could not invoke constructor for RestFixture[1]&lt;/span&gt;&lt;/td&gt;
		&lt;td colspan="4"&gt;&lt;a href="http://localhost:9876"&gt;http://localhost:9876&lt;/a&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor0"&gt;
		&lt;td&gt;GET&lt;/td&gt;
		&lt;td&gt;/resources/%id%.json&lt;/td&gt;
		&lt;td&gt;200&lt;/td&gt;
		&lt;td&gt;Content-Type : application/json&lt;/td&gt;
		&lt;td&gt;&lt;pre&gt;
/* javascript */
var concat = jsonbody.resource.name + " and " + jsonbody.resource.data
concat=="test post and some data" 
&lt;/pre&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class="slimRowColor1"&gt;
		&lt;td&gt;let&lt;/td&gt;
		&lt;td&gt;content&lt;/td&gt;
		&lt;td&gt;js&lt;/td&gt;
		&lt;td&gt;response.body&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;br/&gt;</content>
    <relativePageName>JavascriptExpectations</relativePageName>
            <instructions>
            <instructionResult>
        <instruction>{id='scriptTable_0_0', instruction='make', instanceName='scriptTableActor', className='HttpServerFixture', args=[]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>scriptTable_0_0</instructionId>
                              <type>ConstructionExpectation</type>
                                        <evaluationMessage>Could not invoke constructor for HttpServerFixture[0]</evaluationMessage>
                  </expectation>
              </instructionResult>
            <instructionResult>
        <instruction>{id='scriptTable_0_1', instruction='call', instanceName='scriptTableActor', methodName='isStarted', args=[]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>scriptTable_0_1</instructionId>
                              <type>ReturnedValueExpectation</type>
                                        <evaluationMessage>The instance scriptTableActor.isStarted. does not exist</evaluationMessage>
                  </expectation>
              </instructionResult>
            <instructionResult>
        <instruction>{id='scriptTable_0_2', instruction='call', instanceName='scriptTableActor', methodName='resetResourcesDatabase', args=[]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>scriptTable_0_2</instructionId>
                              <type>ScriptActionExpectation</type>
                                        <evaluationMessage>The instance scriptTableActor.resetResourcesDatabase. does not exist</evaluationMessage>
                  </expectation>
              </instructionResult>
            <instructionResult>
        <instruction>{id='tableTable_1_0', instruction='make', instanceName='tableTable_1', className='RestFixture', args=[&lt;a href="http://localhost:9876"&gt;http://localhost:9876&lt;/a&gt;]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>tableTable_1_0</instructionId>
                              <type>ConstructionExpectation</type>
                                        <evaluationMessage>Could not invoke constructor for RestFixture[1]</evaluationMessage>
                  </expectation>
              </instructionResult>
            <instructionResult>
        <instruction>{id='tableTable_1_1', instruction='call', instanceName='tableTable_1', methodName='doTable', args=[[[setBody,  { "resource" : { "name" : "test post", "data" : "some data" } } ], [POST, /resources/, 201, , no-body], [let, id, header, Location:/resources/(.+), ]]]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>tableTable_1_1</instructionId>
                              <type>TableTableExpectation</type>
                                        <evaluationMessage>The instance tableTable_1.doTable. does not exist</evaluationMessage>
                  </expectation>
              </instructionResult>
            <instructionResult>
        <instruction>{id='tableTable_2_0', instruction='make', instanceName='tableTable_2', className='RestFixture', args=[&lt;a href="http://localhost:9876"&gt;http://localhost:9876&lt;/a&gt;]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>tableTable_2_0</instructionId>
                              <type>ConstructionExpectation</type>
                                        <evaluationMessage>Could not invoke constructor for RestFixture[1]</evaluationMessage>
                  </expectation>
              </instructionResult>
            <instructionResult>
        <instruction>{id='tableTable_2_1', instruction='call', instanceName='tableTable_2', methodName='doTable', args=[[[GET, /resources/%id%.json, 200, Content-Type : application/json, 
jsonbody.resource.name=="test post" &amp;&amp; jsonbody.resource.data=="some data" 
]]]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>tableTable_2_1</instructionId>
                              <type>TableTableExpectation</type>
                                        <evaluationMessage>The instance tableTable_2.doTable. does not exist</evaluationMessage>
                  </expectation>
              </instructionResult>
            <instructionResult>
        <instruction>{id='tableTable_3_0', instruction='make', instanceName='tableTable_3', className='RestFixture', args=[&lt;a href="http://localhost:9876"&gt;http://localhost:9876&lt;/a&gt;]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>tableTable_3_0</instructionId>
                              <type>ConstructionExpectation</type>
                                        <evaluationMessage>Could not invoke constructor for RestFixture[1]</evaluationMessage>
                  </expectation>
              </instructionResult>
            <instructionResult>
        <instruction>{id='tableTable_3_1', instruction='call', instanceName='tableTable_3', methodName='doTable', args=[[[GET, /resources/%id%.json, 200, Content-Type : application/json, 
jsonbody.resource.name.length &gt;= 0 
jsonbody.resource.name.length &lt; 1000
jsonbody.resource.name.length &lt; jsonbody.resource.name.length+1
], [let, content, js, response.body, ]]]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>tableTable_3_1</instructionId>
                              <type>TableTableExpectation</type>
                                        <evaluationMessage>The instance tableTable_3.doTable. does not exist</evaluationMessage>
                  </expectation>
              </instructionResult>
            <instructionResult>
        <instruction>{id='tableTable_4_0', instruction='make', instanceName='tableTable_4', className='RestFixture', args=[&lt;a href="http://localhost:9876"&gt;http://localhost:9876&lt;/a&gt;]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>tableTable_4_0</instructionId>
                              <type>ConstructionExpectation</type>
                                        <evaluationMessage>Could not invoke constructor for RestFixture[1]</evaluationMessage>
                  </expectation>
              </instructionResult>
            <instructionResult>
        <instruction>{id='tableTable_4_1', instruction='call', instanceName='tableTable_4', methodName='doTable', args=[[[setBody, %content%], [POST, /resources/, 201, , no-body], [let, id, header, Location:/resources/(.+), ]]]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>tableTable_4_1</instructionId>
                              <type>TableTableExpectation</type>
                                        <evaluationMessage>The instance tableTable_4.doTable. does not exist</evaluationMessage>
                  </expectation>
              </instructionResult>
            <instructionResult>
        <instruction>{id='tableTable_5_0', instruction='make', instanceName='tableTable_5', className='RestFixture', args=[&lt;a href="http://localhost:9876"&gt;http://localhost:9876&lt;/a&gt;]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>tableTable_5_0</instructionId>
                              <type>ConstructionExpectation</type>
                                        <evaluationMessage>Could not invoke constructor for RestFixture[1]</evaluationMessage>
                  </expectation>
              </instructionResult>
            <instructionResult>
        <instruction>{id='tableTable_5_1', instruction='call', instanceName='tableTable_5', methodName='doTable', args=[[[GET, /resources/%id%.json, 200, Content-Type : application/json, &lt;pre&gt;
/* javascript */
var concat = jsonbody.resource.name + " and " + jsonbody.resource.data
concat=="test post and some data" 
&lt;/pre&gt;], [let, content, js, response.body, ]]]}</instruction>
        <slimResult></slimResult>
                <expectation>
                    <status>error</status>
                    <instructionId>tableTable_5_1</instructionId>
                              <type>TableTableExpectation</type>
                                        <evaluationMessage>The instance tableTable_5.doTable. does not exist</evaluationMessage>
                  </expectation>
              </instructionResult>
          </instructions>
      </result>
    <finalCounts>
    <right>0</right>
    <wrong>0</wrong>
    <ignores>0</ignores>
    <exceptions>1</exceptions>
  </finalCounts>
  <totalRunTimeInMillis>63</totalRunTimeInMillis>
</testResults>





© 2015 - 2025 Weber Informatics LLC | Privacy Policy