Skip to content

Regression

org.appng.core.model.ApplicationProviderTest.testUpdateExecute

Failing for the past 1 build (Since Failed#143 )
Took 71 ms.

Error Message

XML does not match control XML
org.custommonkey.xmlunit.Diff
[different] Expected attribute value 'true' but was '${1==1}' - comparing <condition expression="true"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression to <condition expression="${1==1}"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<applicationReference xmlns="http://www.appng.org/schema/platform" id="demo-application" version="1.5.2">
    <config>
        <title id="plugintitle">A Test-Plugin</title>
        <permissions>
            <permission ref="debug" mode="set"></permission>
        </permissions>
        <session>
            <session-params>
                <session-param name="sessionparam1"></session-param>
                <session-param name="sessionparam2"></session-param>
            </session-params>
        </session>
    </config>
    <pages>
        <page id="entity" type="index" executionTime="23">
            <config>
                <title id="entity">Entity</title>
                <description></description>
                <permissions>
                    <permission ref="page.entity" mode="set"></permission>
                </permissions>
                <url-schema>
                    <url-params>
                        <url-param name="action">update</url-param>
                        <url-param name="entityId">1</url-param>
                        <url-param name="entityAction"/>
                        <url-param name="entityId">1</url-param>
                    </url-params>
                    <get-params>
                        <get-param name="form_action"></get-param>
                    </get-params>
                    <post-params>
                        <post-param name="form_action">update</post-param>
                    </post-params>
                </url-schema>
                <linkpanel id="page-nav" location="top">
                    <link id="page-nav[1]" target="/page0" mode="intern">
                        <label id="page0">Page 0</label>
                    </link>
                    <link id="page-nav[2]" target="/page1" mode="intern">
                        <condition expression="${1==1}"/>
                        <label id="page1">Page 1</label>
                    </link>
                    <link id="page-nav[4]" target="/page3" mode="intern">
                        <permissions>
                            <permission ref="page3" mode="set"></permission>
                        </permissions>
                        <label id="page3">Page 3</label>
                    </link>
                </linkpanel>
            </config>
            <structure>
                <section executionTime="21" id="42">
                    <element passive="true" executionTime="21">
                        <title id="update.entity" params="#{name},${entityId}">Update entity Anakin (ID: 1)</title>
                        <action id="update" eventId="events" async="false">
                            <config>
<title id="update.entity" params="#{name},${entityId}">Update entity Anakin (ID: 1)</title>
<permissions>
    <permission ref="update.entity" mode="set"></permission>
</permissions>
<params>
    <param name="entityId">1</param>
    <param name="form_action">update</param>
    <param name="action">update</param>
</params>
<meta-data bindClass="org.appng.testapplication.TestEntity">
    <field name="id" type="int" format="#" readonly="true" hidden="true" binding="id">
        <label id="id">ID</label>
        <condition expression="${1==1}"/>
    </field>
    <field name="name" type="text" binding="name">
        <label id="name">Name</label>
        <validation>
            <notNull>
                <message ref="name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
            </notNull>
        </validation>
    </field>
    <field name="integerValue" type="list:checkbox" binding="integerValue">
        <label id="integerValue">integer value</label>
    </field>
    <field name="doubleValue" type="decimal" format="#.##" binding="doubleValue">
        <label id="doubleValue">double value</label>
    </field>
    <field name="booleanValue" type="checkbox" binding="booleanValue">
        <label id="booleanValue">boolean value</label>
    </field>
    <field name="enumValue" type="list:radio" binding="enumValue">
        <label id="enumValue">enumValue</label>
    </field>
    <field name="parent" type="object" binding="parent">
        <field name="name" type="text" binding="parent.name">
            <validation>
                <notNull>
                    <message ref="parent.name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
                </notNull>
            </validation>
        </field>
        <field name="integerValue" type="int" format="#" binding="parent.integerValue"/>
    </field>
    <field name="children" type="list:object" binding="children">
        <field name="children[0]" type="object" binding="children[0]">
            <field name="name" type="text" binding="children[0].name">
                <validation>
                    <notNull>
                        <message ref="children[0].name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
                    </notNull>
                </validation>
            </field>
            <field name="integerValue" type="int" format="#" binding="children[0].integerValue"/>
        </field>
        <field name="children[1]" type="object" binding="children[1]">
            <field name="name" type="text" binding="children[1].name">
                <validation>
                    <notNull>
                        <message ref="children[1].name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
                    </notNull>
                </validation>
            </field>
            <field name="integerValue" type="int" format="#" binding="children[1].integerValue"/>
        </field>
    </field>
</meta-data>
                            </config>
                            <condition expression="${form_action eq 'update' and action eq 'update' and not empty entityId}"/>
                            <messages>
<message ref="update" class="OK">executed action update</message>
                            </messages>
                            <datasource id="entity">
<params>
    <param name="entityId">1</param>
</params>
                            </datasource>
                            <data>
<selection id="integerValue" type="checkbox">
    <title id="integerValue">integer value</title>
    <option value="1" name="1" selected="false"/>
    <option value="2" name="2" selected="false"/>
    <option value="3" name="3" selected="false"/>
    <option value="4" name="4" selected="false"/>
    <option value="5" name="5" selected="true"/>
</selection>
<selection id="enumValue">
    <option value="ACME" name="acme" selected="true"/>
    <option value="WARNER" name="warner" selected="false"/>
</selection>
<result>
    <field name="id" type="int">
        <value>1</value>
    </field>
    <field name="name" type="text">
        <value>Anakin</value>
    </field>
    <field name="integerValue" type="list:checkbox">
        <value>5</value>
    </field>
    <field name="doubleValue" type="decimal">
        <value>5.5</value>
    </field>
    <field name="booleanValue" type="checkbox">
        <value>false</value>
    </field>
    <field name="enumValue" type="list:radio">
        <value>ACME</value>
    </field>
    <field name="parent" type="object">
        <field name="name" type="text">
            <value>Anakin</value>
        </field>
        <field name="integerValue" type="int">
            <value>5</value>
        </field>
        <value></value>
    </field>
    <field name="children" type="list:object">
        <field name="children[0]" type="object">
            <field name="name" type="text">
                <value>Luke</value>
            </field>
            <field name="integerValue" type="int">
                <value></value>
            </field>
            <value></value>
        </field>
        <field name="children[1]" type="object">
            <field name="name" type="text">
                <value>Lea</value>
            </field>
            <field name="integerValue" type="int">
                <value></value>
            </field>
            <value></value>
        </field>
    </field>
</result>
                            </data>
                            <bean id="entities">
<option name="action" id="update"/>
<option name="entity" id="1"/>
                            </bean>
                        </action>
                    </element>
                </section>
            </structure>
        </page>
    </pages>
</applicationReference>
, org.custommonkey.xmlunit.Diff
[different] Expected attribute value 'true' but was '${1==1}' - comparing <condition expression="true"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression to <condition expression="${1==1}"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression

Stacktrace

junit.framework.AssertionFailedError: 
XML does not match control XML
org.custommonkey.xmlunit.Diff
[different] Expected attribute value 'true' but was '${1==1}' - comparing <condition expression="true"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression to <condition expression="${1==1}"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<applicationReference xmlns="http://www.appng.org/schema/platform" id="demo-application" version="1.5.2">
    <config>
        <title id="plugintitle">A Test-Plugin</title>
        <permissions>
            <permission ref="debug" mode="set"></permission>
        </permissions>
        <session>
            <session-params>
                <session-param name="sessionparam1"></session-param>
                <session-param name="sessionparam2"></session-param>
            </session-params>
        </session>
    </config>
    <pages>
        <page id="entity" type="index" executionTime="23">
            <config>
                <title id="entity">Entity</title>
                <description></description>
                <permissions>
                    <permission ref="page.entity" mode="set"></permission>
                </permissions>
                <url-schema>
                    <url-params>
                        <url-param name="action">update</url-param>
                        <url-param name="entityId">1</url-param>
                        <url-param name="entityAction"/>
                        <url-param name="entityId">1</url-param>
                    </url-params>
                    <get-params>
                        <get-param name="form_action"></get-param>
                    </get-params>
                    <post-params>
                        <post-param name="form_action">update</post-param>
                    </post-params>
                </url-schema>
                <linkpanel id="page-nav" location="top">
                    <link id="page-nav[1]" target="/page0" mode="intern">
                        <label id="page0">Page 0</label>
                    </link>
                    <link id="page-nav[2]" target="/page1" mode="intern">
                        <condition expression="${1==1}"/>
                        <label id="page1">Page 1</label>
                    </link>
                    <link id="page-nav[4]" target="/page3" mode="intern">
                        <permissions>
                            <permission ref="page3" mode="set"></permission>
                        </permissions>
                        <label id="page3">Page 3</label>
                    </link>
                </linkpanel>
            </config>
            <structure>
                <section executionTime="21" id="42">
                    <element passive="true" executionTime="21">
                        <title id="update.entity" params="#{name},${entityId}">Update entity Anakin (ID: 1)</title>
                        <action id="update" eventId="events" async="false">
                            <config>
<title id="update.entity" params="#{name},${entityId}">Update entity Anakin (ID: 1)</title>
<permissions>
    <permission ref="update.entity" mode="set"></permission>
</permissions>
<params>
    <param name="entityId">1</param>
    <param name="form_action">update</param>
    <param name="action">update</param>
</params>
<meta-data bindClass="org.appng.testapplication.TestEntity">
    <field name="id" type="int" format="#" readonly="true" hidden="true" binding="id">
        <label id="id">ID</label>
        <condition expression="${1==1}"/>
    </field>
    <field name="name" type="text" binding="name">
        <label id="name">Name</label>
        <validation>
            <notNull>
                <message ref="name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
            </notNull>
        </validation>
    </field>
    <field name="integerValue" type="list:checkbox" binding="integerValue">
        <label id="integerValue">integer value</label>
    </field>
    <field name="doubleValue" type="decimal" format="#.##" binding="doubleValue">
        <label id="doubleValue">double value</label>
    </field>
    <field name="booleanValue" type="checkbox" binding="booleanValue">
        <label id="booleanValue">boolean value</label>
    </field>
    <field name="enumValue" type="list:radio" binding="enumValue">
        <label id="enumValue">enumValue</label>
    </field>
    <field name="parent" type="object" binding="parent">
        <field name="name" type="text" binding="parent.name">
            <validation>
                <notNull>
                    <message ref="parent.name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
                </notNull>
            </validation>
        </field>
        <field name="integerValue" type="int" format="#" binding="parent.integerValue"/>
    </field>
    <field name="children" type="list:object" binding="children">
        <field name="children[0]" type="object" binding="children[0]">
            <field name="name" type="text" binding="children[0].name">
                <validation>
                    <notNull>
                        <message ref="children[0].name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
                    </notNull>
                </validation>
            </field>
            <field name="integerValue" type="int" format="#" binding="children[0].integerValue"/>
        </field>
        <field name="children[1]" type="object" binding="children[1]">
            <field name="name" type="text" binding="children[1].name">
                <validation>
                    <notNull>
                        <message ref="children[1].name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
                    </notNull>
                </validation>
            </field>
            <field name="integerValue" type="int" format="#" binding="children[1].integerValue"/>
        </field>
    </field>
</meta-data>
                            </config>
                            <condition expression="${form_action eq 'update' and action eq 'update' and not empty entityId}"/>
                            <messages>
<message ref="update" class="OK">executed action update</message>
                            </messages>
                            <datasource id="entity">
<params>
    <param name="entityId">1</param>
</params>
                            </datasource>
                            <data>
<selection id="integerValue" type="checkbox">
    <title id="integerValue">integer value</title>
    <option value="1" name="1" selected="false"/>
    <option value="2" name="2" selected="false"/>
    <option value="3" name="3" selected="false"/>
    <option value="4" name="4" selected="false"/>
    <option value="5" name="5" selected="true"/>
</selection>
<selection id="enumValue">
    <option value="ACME" name="acme" selected="true"/>
    <option value="WARNER" name="warner" selected="false"/>
</selection>
<result>
    <field name="id" type="int">
        <value>1</value>
    </field>
    <field name="name" type="text">
        <value>Anakin</value>
    </field>
    <field name="integerValue" type="list:checkbox">
        <value>5</value>
    </field>
    <field name="doubleValue" type="decimal">
        <value>5.5</value>
    </field>
    <field name="booleanValue" type="checkbox">
        <value>false</value>
    </field>
    <field name="enumValue" type="list:radio">
        <value>ACME</value>
    </field>
    <field name="parent" type="object">
        <field name="name" type="text">
            <value>Anakin</value>
        </field>
        <field name="integerValue" type="int">
            <value>5</value>
        </field>
        <value></value>
    </field>
    <field name="children" type="list:object">
        <field name="children[0]" type="object">
            <field name="name" type="text">
                <value>Luke</value>
            </field>
            <field name="integerValue" type="int">
                <value></value>
            </field>
            <value></value>
        </field>
        <field name="children[1]" type="object">
            <field name="name" type="text">
                <value>Lea</value>
            </field>
            <field name="integerValue" type="int">
                <value></value>
            </field>
            <value></value>
        </field>
    </field>
</result>
                            </data>
                            <bean id="entities">
<option name="action" id="update"/>
<option name="entity" id="1"/>
                            </bean>
                        </action>
                    </element>
                </section>
            </structure>
        </page>
    </pages>
</applicationReference>
, org.custommonkey.xmlunit.Diff
[different] Expected attribute value 'true' but was '${1==1}' - comparing <condition expression="true"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression to <condition expression="${1==1}"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression

	at org.appng.core.model.ApplicationProviderTest.runMonitoredTest(ApplicationProviderTest.java:292)
	at org.appng.core.model.ApplicationProviderTest.testUpdateExecute(ApplicationProviderTest.java:171)

Standard Output

2023-01-16 15:59:17,766 WARN  [main] org.appng.forms.impl.RequestBean: parameter form_action is alread present with value [update], tried to add [update]
2023-01-16 15:59:17,767 WARN  [main] org.appng.forms.impl.RequestBean: parameter action is alread present with value [update], tried to add [update]
2023-01-16 15:59:17,767 WARN  [main] org.appng.forms.impl.RequestBean: parameter entityId is alread present with value [1], tried to add [1]