{
  "_class" : "hudson.tasks.junit.TestResult",
  "testActions" : [
    
  ],
  "duration" : 15.336,
  "empty" : False,
  "failCount" : 3,
  "passCount" : 14,
  "skipCount" : 0,
  "suites" : [
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.DriverDelegateWrapperTest",
          "duration" : 0.054,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testJobRetrieval",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.DriverDelegateWrapperTest",
          "duration" : 0.018,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testConcurrentExectionDisallowed",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        }
      ],
      "duration" : 0.072,
      "enclosingBlockNames" : [
        "Results"
      ],
      "enclosingBlocks" : [
        "17"
      ],
      "id" : None,
      "name" : "org.appng.application.scheduler.DriverDelegateWrapperTest",
      "nodeId" : "18",
      "properties" : {
        
      },
      "stderr" : None,
      "stdout" : None,
      "timestamp" : None
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.SchedulingTest",
          "duration" : 1.82,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testCreate",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.SchedulingTest",
          "duration" : 0.246,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testDelete",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.SchedulingTest",
          "duration" : 0.077,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testSchedule",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.SchedulingTest",
          "duration" : 0.119,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testShowJob",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.SchedulingTest",
          "duration" : 0.192,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testShowJobs",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.SchedulingTest",
          "duration" : 0.064,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testStart",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.SchedulingTest",
          "duration" : 0.104,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testUnschedule",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.SchedulingTest",
          "duration" : 0.079,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testUpdate",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        }
      ],
      "duration" : 6.118,
      "enclosingBlockNames" : [
        "Results"
      ],
      "enclosingBlocks" : [
        "17"
      ],
      "id" : None,
      "name" : "org.appng.application.scheduler.SchedulingTest",
      "nodeId" : "18",
      "properties" : {
        
      },
      "stderr" : None,
      "stdout" : None,
      "timestamp" : None
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.business.TestJobRecordings",
          "duration" : 0.483,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testAddRecord",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.business.TestJobRecordings",
          "duration" : 0.272,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testGetRecord",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 1,
          "className" : "org.appng.application.scheduler.business.TestJobRecordings",
          "duration" : 0.145,
          "errorDetails" : "XML does not match control XML\u000aorg.custommonkey.xmlunit.Diff\u000a[different] Expected number of element attributes '4' but was '3' - comparing <field...> at /datasource[1]/config[1]/meta-data[1]/field[3] to <field...> at /datasource[1]/config[1]/meta-data[1]/field[3]\u000a\u000a<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\u000a<datasource xmlns=\"http://www.appng.org/schema/platform\" id=\"records\">\u000a    <config>\u000a        <title id=\"records.list\">Recorded Job Executions</title>\u000a        <params>\u000a            <param name=\"jobId\">thejob</param>\u000a            <param name=\"path\"/>\u000a            <param name=\"tab\"/>\u000a        </params>\u000a        <meta-data bindClass=\"org.appng.application.scheduler.model.JobRecord\">\u000a            <field name=\"applicationName\" type=\"text\" binding=\"applicationName\">\u000a                <sort/>\u000a                <label id=\"record.application\">Application</label>\u000a            </field>\u000a            <field name=\"jobName\" type=\"text\" binding=\"jobName\">\u000a                <sort/>\u000a                <label id=\"record.jobName\">Job Name</label>\u000a            </field>\u000a            <field name=\"duration\" type=\"int\" binding=\"duration\">\u000a                <sort/>\u000a                <label id=\"record.duration\">Duration (sec)</label>\u000a            </field>\u000a            <field name=\"start\" type=\"date\" binding=\"start\">\u000a                <sort/>\u000a                <label id=\"record.start\">Start Time</label>\u000a            </field>\u000a            <field name=\"end\" type=\"date\" binding=\"end\">\u000a                <sort/>\u000a                <label id=\"record.end\">End Time</label>\u000a            </field>\u000a            <field name=\"result\" type=\"image\" binding=\"result\">\u000a                <sort/>\u000a                <label id=\"record.result\">Result</label>\u000a                <icon condition=\"${'FAIL' eq current.result}\">led_red</icon>\u000a                <icon condition=\"${'SUCCESS'eq current.result}\">led_green</icon>\u000a            </field>\u000a            <field name=\"actions\" type=\"linkpanel\" binding=\"actions\">\u000a                <label id=\"actions\">Actions</label>\u000a            </field>\u000a        </meta-data>\u000a        <linkpanel id=\"actions\" location=\"inline\">\u000a            <link id=\"actions[1]\" mode=\"intern\" target=\"/${current.id}\" default=\"true\">\u000a                <label id=\"record.details\">Show Details</label>\u000a                <icon>preview</icon>\u000a            </link>\u000a        </linkpanel>\u000a    </config>\u000a    <data>\u000a        <resultset chunk=\"0\" chunkname=\"records\" chunksize=\"25\" nextchunk=\"0\" previouschunk=\"0\" firstchunk=\"0\" lastchunk=\"0\" hits=\"1\"/>\u000a    </data>\u000a</datasource>\u000a, org.custommonkey.xmlunit.Diff\u000a[different] Expected number of element attributes '4' but was '3' - comparing <field...> at /datasource[1]/config[1]/meta-data[1]/field[3] to <field...> at /datasource[1]/config[1]/meta-data[1]/field[3]\u000a",
          "errorStackTrace" : "junit.framework.AssertionFailedError: \u000aXML does not match control XML\u000aorg.custommonkey.xmlunit.Diff\u000a[different] Expected number of element attributes '4' but was '3' - comparing <field...> at /datasource[1]/config[1]/meta-data[1]/field[3] to <field...> at /datasource[1]/config[1]/meta-data[1]/field[3]\u000a\u000a<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\u000a<datasource xmlns=\"http://www.appng.org/schema/platform\" id=\"records\">\u000a    <config>\u000a        <title id=\"records.list\">Recorded Job Executions</title>\u000a        <params>\u000a            <param name=\"jobId\">thejob</param>\u000a            <param name=\"path\"/>\u000a            <param name=\"tab\"/>\u000a        </params>\u000a        <meta-data bindClass=\"org.appng.application.scheduler.model.JobRecord\">\u000a            <field name=\"applicationName\" type=\"text\" binding=\"applicationName\">\u000a                <sort/>\u000a                <label id=\"record.application\">Application</label>\u000a            </field>\u000a            <field name=\"jobName\" type=\"text\" binding=\"jobName\">\u000a                <sort/>\u000a                <label id=\"record.jobName\">Job Name</label>\u000a            </field>\u000a            <field name=\"duration\" type=\"int\" binding=\"duration\">\u000a                <sort/>\u000a                <label id=\"record.duration\">Duration (sec)</label>\u000a            </field>\u000a            <field name=\"start\" type=\"date\" binding=\"start\">\u000a                <sort/>\u000a                <label id=\"record.start\">Start Time</label>\u000a            </field>\u000a            <field name=\"end\" type=\"date\" binding=\"end\">\u000a                <sort/>\u000a                <label id=\"record.end\">End Time</label>\u000a            </field>\u000a            <field name=\"result\" type=\"image\" binding=\"result\">\u000a                <sort/>\u000a                <label id=\"record.result\">Result</label>\u000a                <icon condition=\"${'FAIL' eq current.result}\">led_red</icon>\u000a                <icon condition=\"${'SUCCESS'eq current.result}\">led_green</icon>\u000a            </field>\u000a            <field name=\"actions\" type=\"linkpanel\" binding=\"actions\">\u000a                <label id=\"actions\">Actions</label>\u000a            </field>\u000a        </meta-data>\u000a        <linkpanel id=\"actions\" location=\"inline\">\u000a            <link id=\"actions[1]\" mode=\"intern\" target=\"/${current.id}\" default=\"true\">\u000a                <label id=\"record.details\">Show Details</label>\u000a                <icon>preview</icon>\u000a            </link>\u000a        </linkpanel>\u000a    </config>\u000a    <data>\u000a        <resultset chunk=\"0\" chunkname=\"records\" chunksize=\"25\" nextchunk=\"0\" previouschunk=\"0\" firstchunk=\"0\" lastchunk=\"0\" hits=\"1\"/>\u000a    </data>\u000a</datasource>\u000a, org.custommonkey.xmlunit.Diff\u000a[different] Expected number of element attributes '4' but was '3' - comparing <field...> at /datasource[1]/config[1]/meta-data[1]/field[3] to <field...> at /datasource[1]/config[1]/meta-data[1]/field[3]\u000a\u000a\u0009at org.appng.application.scheduler.business.TestJobRecordings.testGetRecordsForJobId(TestJobRecordings.java:137)\u000a",
          "failedSince" : 78,
          "flakyFailures" : [
            
          ],
          "name" : "testGetRecordsForJobId",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "FAILED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 1,
          "className" : "org.appng.application.scheduler.business.TestJobRecordings",
          "duration" : 0.137,
          "errorDetails" : "XML does not match control XML\u000aorg.custommonkey.xmlunit.Diff\u000a[different] Expected number of element attributes '4' but was '3' - comparing <field...> at /datasource[1]/config[1]/meta-data[1]/field[3] to <field...> at /datasource[1]/config[1]/meta-data[1]/field[3]\u000a\u000a<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\u000a<datasource xmlns=\"http://www.appng.org/schema/platform\" id=\"records\">\u000a    <config>\u000a        <title id=\"records.list\">Recorded Job Executions</title>\u000a        <params>\u000a            <param name=\"jobId\">thejob</param>\u000a            <param name=\"path\"/>\u000a            <param name=\"tab\"/>\u000a        </params>\u000a        <meta-data bindClass=\"org.appng.application.scheduler.model.JobRecord\">\u000a            <field name=\"applicationName\" type=\"text\" binding=\"applicationName\">\u000a                <sort/>\u000a                <label id=\"record.application\">Application</label>\u000a            </field>\u000a            <field name=\"jobName\" type=\"text\" binding=\"jobName\">\u000a                <sort/>\u000a                <label id=\"record.jobName\">Job Name</label>\u000a            </field>\u000a            <field name=\"duration\" type=\"int\" binding=\"duration\">\u000a                <sort/>\u000a                <label id=\"record.duration\">Duration (sec)</label>\u000a            </field>\u000a            <field name=\"start\" type=\"date\" binding=\"start\">\u000a                <sort/>\u000a                <label id=\"record.start\">Start Time</label>\u000a            </field>\u000a            <field name=\"end\" type=\"date\" binding=\"end\">\u000a                <sort/>\u000a                <label id=\"record.end\">End Time</label>\u000a            </field>\u000a            <field name=\"result\" type=\"image\" binding=\"result\">\u000a                <sort/>\u000a                <label id=\"record.result\">Result</label>\u000a                <icon condition=\"${'FAIL' eq current.result}\">led_red</icon>\u000a                <icon condition=\"${'SUCCESS'eq current.result}\">led_green</icon>\u000a            </field>\u000a            <field name=\"actions\" type=\"linkpanel\" binding=\"actions\">\u000a                <label id=\"actions\">Actions</label>\u000a            </field>\u000a        </meta-data>\u000a        <linkpanel id=\"actions\" location=\"inline\">\u000a            <link id=\"actions[1]\" mode=\"intern\" target=\"/${current.id}\" default=\"true\">\u000a                <label id=\"record.details\">Show Details</label>\u000a                <icon>preview</icon>\u000a            </link>\u000a        </linkpanel>\u000a    </config>\u000a    <data>\u000a        <resultset chunk=\"0\" chunkname=\"records\" chunksize=\"25\" nextchunk=\"0\" previouschunk=\"0\" firstchunk=\"0\" lastchunk=\"0\" hits=\"1\"/>\u000a    </data>\u000a</datasource>\u000a, org.custommonkey.xmlunit.Diff\u000a[different] Expected number of element attributes '4' but was '3' - comparing <field...> at /datasource[1]/config[1]/meta-data[1]/field[3] to <field...> at /datasource[1]/config[1]/meta-data[1]/field[3]\u000a",
          "errorStackTrace" : "junit.framework.AssertionFailedError: \u000aXML does not match control XML\u000aorg.custommonkey.xmlunit.Diff\u000a[different] Expected number of element attributes '4' but was '3' - comparing <field...> at /datasource[1]/config[1]/meta-data[1]/field[3] to <field...> at /datasource[1]/config[1]/meta-data[1]/field[3]\u000a\u000a<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\u000a<datasource xmlns=\"http://www.appng.org/schema/platform\" id=\"records\">\u000a    <config>\u000a        <title id=\"records.list\">Recorded Job Executions</title>\u000a        <params>\u000a            <param name=\"jobId\">thejob</param>\u000a            <param name=\"path\"/>\u000a            <param name=\"tab\"/>\u000a        </params>\u000a        <meta-data bindClass=\"org.appng.application.scheduler.model.JobRecord\">\u000a            <field name=\"applicationName\" type=\"text\" binding=\"applicationName\">\u000a                <sort/>\u000a                <label id=\"record.application\">Application</label>\u000a            </field>\u000a            <field name=\"jobName\" type=\"text\" binding=\"jobName\">\u000a                <sort/>\u000a                <label id=\"record.jobName\">Job Name</label>\u000a            </field>\u000a            <field name=\"duration\" type=\"int\" binding=\"duration\">\u000a                <sort/>\u000a                <label id=\"record.duration\">Duration (sec)</label>\u000a            </field>\u000a            <field name=\"start\" type=\"date\" binding=\"start\">\u000a                <sort/>\u000a                <label id=\"record.start\">Start Time</label>\u000a            </field>\u000a            <field name=\"end\" type=\"date\" binding=\"end\">\u000a                <sort/>\u000a                <label id=\"record.end\">End Time</label>\u000a            </field>\u000a            <field name=\"result\" type=\"image\" binding=\"result\">\u000a                <sort/>\u000a                <label id=\"record.result\">Result</label>\u000a                <icon condition=\"${'FAIL' eq current.result}\">led_red</icon>\u000a                <icon condition=\"${'SUCCESS'eq current.result}\">led_green</icon>\u000a            </field>\u000a            <field name=\"actions\" type=\"linkpanel\" binding=\"actions\">\u000a                <label id=\"actions\">Actions</label>\u000a            </field>\u000a        </meta-data>\u000a        <linkpanel id=\"actions\" location=\"inline\">\u000a            <link id=\"actions[1]\" mode=\"intern\" target=\"/${current.id}\" default=\"true\">\u000a                <label id=\"record.details\">Show Details</label>\u000a                <icon>preview</icon>\u000a            </link>\u000a        </linkpanel>\u000a    </config>\u000a    <data>\u000a        <resultset chunk=\"0\" chunkname=\"records\" chunksize=\"25\" nextchunk=\"0\" previouschunk=\"0\" firstchunk=\"0\" lastchunk=\"0\" hits=\"1\"/>\u000a    </data>\u000a</datasource>\u000a, org.custommonkey.xmlunit.Diff\u000a[different] Expected number of element attributes '4' but was '3' - comparing <field...> at /datasource[1]/config[1]/meta-data[1]/field[3] to <field...> at /datasource[1]/config[1]/meta-data[1]/field[3]\u000a\u000a\u0009at org.appng.application.scheduler.business.TestJobRecordings.testGetRecordsWithFilter(TestJobRecordings.java:150)\u000a",
          "failedSince" : 78,
          "flakyFailures" : [
            
          ],
          "name" : "testGetRecordsWithFilter",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "FAILED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 1,
          "className" : "org.appng.application.scheduler.business.TestJobRecordings",
          "duration" : 0.651,
          "errorDetails" : "XML does not match control XML\u000aorg.custommonkey.xmlunit.Diff\u000a[different] Expected text value '{\u000a     \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a     \"cronExpression\" : \"0 0/10 * 1/1 * ?\u000a     *\",\u000a     \"enabled\" : true,\u000a     \"forceState\" : \"true\",\u000a     \"jobBeanName\" : \"longRunningJob\",\u000a     \"origin\" : \"appng-scheduler\",\u000a     \"siteName\"\u000a     : \"localhost\"\u000a     }' but was '{\u000a  \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a  \"cronExpression\" : \"0 0/10 * 1/1 * ? *\",\u000a  \"enabled\" : true,\u000a  \"forceState\" : true,\u000a  \"jobBeanName\" : \"longRunningJob\",\u000a  \"origin\" : \"appng-scheduler\",\u000a  \"siteName\" : \"localhost\",\u000a  \"thresholdError\" : 5,\u000a  \"thresholdTimeunit\" : \"DAY\"\u000a}' - comparing <value ...>{\u000a     \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a     \"cronExpression\" : \"0 0/10 * 1/1 * ?\u000a     *\",\u000a     \"enabled\" : true,\u000a     \"forceState\" : \"true\",\u000a     \"jobBeanName\" : \"longRunningJob\",\u000a     \"origin\" : \"appng-scheduler\",\u000a     \"siteName\"\u000a     : \"localhost\"\u000a     }</value> at /datasource[1]/data[1]/result[1]/field[4]/value[1]/text()[1] to <value ...>{\u000a  \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a  \"cronExpression\" : \"0 0/10 * 1/1 * ? *\",\u000a  \"enabled\" : true,\u000a  \"forceState\" : true,\u000a  \"jobBeanName\" : \"longRunningJob\",\u000a  \"origin\" : \"appng-scheduler\",\u000a  \"siteName\" : \"localhost\",\u000a  \"thresholdError\" : 5,\u000a  \"thresholdTimeunit\" : \"DAY\"\u000a}</value> at /datasource[1]/data[1]/result[1]/field[4]/value[1]/text()[1]\u000a\u000a<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\u000a<datasource xmlns=\"http://www.appng.org/schema/platform\" id=\"job\">\u000a    <config>\u000a        <title id=\"jobs\">Jobs</title>\u000a        <params>\u000a            <param name=\"id\">appng-scheduler_longRunningJob</param>\u000a        </params>\u000a        <meta-data bindClass=\"org.appng.application.scheduler.model.JobModel\">\u000a            <field name=\"name\" type=\"text\" readonly=\"true\" binding=\"name\">\u000a                <label id=\"name\">Name</label>\u000a            </field>\u000a            <field name=\"cronExpression\" type=\"text\" binding=\"cronExpression\">\u000a                <label id=\"cronExpression\">Cron-Expression</label>\u000a            </field>\u000a            <field name=\"description\" type=\"longtext\" binding=\"description\">\u000a                <label id=\"description\">Description</label>\u000a            </field>\u000a            <field name=\"jobData\" type=\"longtext\" format=\"preformatted\" readonly=\"true\" binding=\"jobData\">\u000a                <label id=\"jobdata\">Job Data</label>\u000a            </field>\u000a        </meta-data>\u000a    </config>\u000a    <data>\u000a        <result>\u000a            <field name=\"name\" type=\"text\">\u000a                <value>appng-scheduler_longRunningJob</value>\u000a            </field>\u000a            <field name=\"cronExpression\" type=\"text\">\u000a                <value>0 0/10 * 1/1 * ? *</value>\u000a            </field>\u000a            <field name=\"description\" type=\"longtext\">\u000a                <value></value>\u000a            </field>\u000a            <field name=\"jobData\" type=\"longtext\">\u000a                <value>{\u000a  \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a  \"cronExpression\" : \"0 0/10 * 1/1 * ? *\",\u000a  \"enabled\" : true,\u000a  \"forceState\" : true,\u000a  \"jobBeanName\" : \"longRunningJob\",\u000a  \"origin\" : \"appng-scheduler\",\u000a  \"siteName\" : \"localhost\",\u000a  \"thresholdError\" : 5,\u000a  \"thresholdTimeunit\" : \"DAY\"\u000a}</value>\u000a            </field>\u000a        </result>\u000a    </data>\u000a</datasource>\u000a, org.custommonkey.xmlunit.Diff\u000a[different] Expected text value '{\u000a     \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a     \"cronExpression\" : \"0 0/10 * 1/1 * ?\u000a     *\",\u000a     \"enabled\" : true,\u000a     \"forceState\" : \"true\",\u000a     \"jobBeanName\" : \"longRunningJob\",\u000a     \"origin\" : \"appng-scheduler\",\u000a     \"siteName\"\u000a     : \"localhost\"\u000a     }' but was '{\u000a  \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a  \"cronExpression\" : \"0 0/10 * 1/1 * ? *\",\u000a  \"enabled\" : true,\u000a  \"forceState\" : true,\u000a  \"jobBeanName\" : \"longRunningJob\",\u000a  \"origin\" : \"appng-scheduler\",\u000a  \"siteName\" : \"localhost\",\u000a  \"thresholdError\" : 5,\u000a  \"thresholdTimeunit\" : \"DAY\"\u000a}' - comparing <value ...>{\u000a     \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a     \"cronExpression\" : \"0 0/10 * 1/1 * ?\u000a     *\",\u000a     \"enabled\" : true,\u000a     \"forceState\" : \"true\",\u000a     \"jobBeanName\" : \"longRunningJob\",\u000a     \"origin\" : \"appng-scheduler\",\u000a     \"siteName\"\u000a     : \"localhost\"\u000a     }</value> at /datasource[1]/data[1]/result[1]/field[4]/value[1]/text()[1] to <value ...>{\u000a  \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a  \"cronExpression\" : \"0 0/10 * 1/1 * ? *\",\u000a  \"enabled\" : true,\u000a  \"forceState\" : true,\u000a  \"jobBeanName\" : \"longRunningJob\",\u000a  \"origin\" : \"appng-scheduler\",\u000a  \"siteName\" : \"localhost\",\u000a  \"thresholdError\" : 5,\u000a  \"thresholdTimeunit\" : \"DAY\"\u000a}</value> at /datasource[1]/data[1]/result[1]/field[4]/value[1]/text()[1]\u000a",
          "errorStackTrace" : "junit.framework.AssertionFailedError: \u000aXML does not match control XML\u000aorg.custommonkey.xmlunit.Diff\u000a[different] Expected text value '{\u000a\u0009\u0009\u0009\u0009\u0009\"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a\u0009\u0009\u0009\u0009\u0009\"cronExpression\" : \"0 0/10 * 1/1 * ?\u000a\u0009\u0009\u0009\u0009\u0009*\",\u000a\u0009\u0009\u0009\u0009\u0009\"enabled\" : true,\u000a\u0009\u0009\u0009\u0009\u0009\"forceState\" : \"true\",\u000a\u0009\u0009\u0009\u0009\u0009\"jobBeanName\" : \"longRunningJob\",\u000a\u0009\u0009\u0009\u0009\u0009\"origin\" : \"appng-scheduler\",\u000a\u0009\u0009\u0009\u0009\u0009\"siteName\"\u000a\u0009\u0009\u0009\u0009\u0009: \"localhost\"\u000a\u0009\u0009\u0009\u0009\u0009}' but was '{\u000a  \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a  \"cronExpression\" : \"0 0/10 * 1/1 * ? *\",\u000a  \"enabled\" : true,\u000a  \"forceState\" : true,\u000a  \"jobBeanName\" : \"longRunningJob\",\u000a  \"origin\" : \"appng-scheduler\",\u000a  \"siteName\" : \"localhost\",\u000a  \"thresholdError\" : 5,\u000a  \"thresholdTimeunit\" : \"DAY\"\u000a}' - comparing <value ...>{\u000a\u0009\u0009\u0009\u0009\u0009\"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a\u0009\u0009\u0009\u0009\u0009\"cronExpression\" : \"0 0/10 * 1/1 * ?\u000a\u0009\u0009\u0009\u0009\u0009*\",\u000a\u0009\u0009\u0009\u0009\u0009\"enabled\" : true,\u000a\u0009\u0009\u0009\u0009\u0009\"forceState\" : \"true\",\u000a\u0009\u0009\u0009\u0009\u0009\"jobBeanName\" : \"longRunningJob\",\u000a\u0009\u0009\u0009\u0009\u0009\"origin\" : \"appng-scheduler\",\u000a\u0009\u0009\u0009\u0009\u0009\"siteName\"\u000a\u0009\u0009\u0009\u0009\u0009: \"localhost\"\u000a\u0009\u0009\u0009\u0009\u0009}</value> at /datasource[1]/data[1]/result[1]/field[4]/value[1]/text()[1] to <value ...>{\u000a  \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a  \"cronExpression\" : \"0 0/10 * 1/1 * ? *\",\u000a  \"enabled\" : true,\u000a  \"forceState\" : true,\u000a  \"jobBeanName\" : \"longRunningJob\",\u000a  \"origin\" : \"appng-scheduler\",\u000a  \"siteName\" : \"localhost\",\u000a  \"thresholdError\" : 5,\u000a  \"thresholdTimeunit\" : \"DAY\"\u000a}</value> at /datasource[1]/data[1]/result[1]/field[4]/value[1]/text()[1]\u000a\u000a<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\u000a<datasource xmlns=\"http://www.appng.org/schema/platform\" id=\"job\">\u000a    <config>\u000a        <title id=\"jobs\">Jobs</title>\u000a        <params>\u000a            <param name=\"id\">appng-scheduler_longRunningJob</param>\u000a        </params>\u000a        <meta-data bindClass=\"org.appng.application.scheduler.model.JobModel\">\u000a            <field name=\"name\" type=\"text\" readonly=\"true\" binding=\"name\">\u000a                <label id=\"name\">Name</label>\u000a            </field>\u000a            <field name=\"cronExpression\" type=\"text\" binding=\"cronExpression\">\u000a                <label id=\"cronExpression\">Cron-Expression</label>\u000a            </field>\u000a            <field name=\"description\" type=\"longtext\" binding=\"description\">\u000a                <label id=\"description\">Description</label>\u000a            </field>\u000a            <field name=\"jobData\" type=\"longtext\" format=\"preformatted\" readonly=\"true\" binding=\"jobData\">\u000a                <label id=\"jobdata\">Job Data</label>\u000a            </field>\u000a        </meta-data>\u000a    </config>\u000a    <data>\u000a        <result>\u000a            <field name=\"name\" type=\"text\">\u000a                <value>appng-scheduler_longRunningJob</value>\u000a            </field>\u000a            <field name=\"cronExpression\" type=\"text\">\u000a                <value>0 0/10 * 1/1 * ? *</value>\u000a            </field>\u000a            <field name=\"description\" type=\"longtext\">\u000a                <value></value>\u000a            </field>\u000a            <field name=\"jobData\" type=\"longtext\">\u000a                <value>{\u000a  \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a  \"cronExpression\" : \"0 0/10 * 1/1 * ? *\",\u000a  \"enabled\" : true,\u000a  \"forceState\" : true,\u000a  \"jobBeanName\" : \"longRunningJob\",\u000a  \"origin\" : \"appng-scheduler\",\u000a  \"siteName\" : \"localhost\",\u000a  \"thresholdError\" : 5,\u000a  \"thresholdTimeunit\" : \"DAY\"\u000a}</value>\u000a            </field>\u000a        </result>\u000a    </data>\u000a</datasource>\u000a, org.custommonkey.xmlunit.Diff\u000a[different] Expected text value '{\u000a\u0009\u0009\u0009\u0009\u0009\"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a\u0009\u0009\u0009\u0009\u0009\"cronExpression\" : \"0 0/10 * 1/1 * ?\u000a\u0009\u0009\u0009\u0009\u0009*\",\u000a\u0009\u0009\u0009\u0009\u0009\"enabled\" : true,\u000a\u0009\u0009\u0009\u0009\u0009\"forceState\" : \"true\",\u000a\u0009\u0009\u0009\u0009\u0009\"jobBeanName\" : \"longRunningJob\",\u000a\u0009\u0009\u0009\u0009\u0009\"origin\" : \"appng-scheduler\",\u000a\u0009\u0009\u0009\u0009\u0009\"siteName\"\u000a\u0009\u0009\u0009\u0009\u0009: \"localhost\"\u000a\u0009\u0009\u0009\u0009\u0009}' but was '{\u000a  \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a  \"cronExpression\" : \"0 0/10 * 1/1 * ? *\",\u000a  \"enabled\" : true,\u000a  \"forceState\" : true,\u000a  \"jobBeanName\" : \"longRunningJob\",\u000a  \"origin\" : \"appng-scheduler\",\u000a  \"siteName\" : \"localhost\",\u000a  \"thresholdError\" : 5,\u000a  \"thresholdTimeunit\" : \"DAY\"\u000a}' - comparing <value ...>{\u000a\u0009\u0009\u0009\u0009\u0009\"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a\u0009\u0009\u0009\u0009\u0009\"cronExpression\" : \"0 0/10 * 1/1 * ?\u000a\u0009\u0009\u0009\u0009\u0009*\",\u000a\u0009\u0009\u0009\u0009\u0009\"enabled\" : true,\u000a\u0009\u0009\u0009\u0009\u0009\"forceState\" : \"true\",\u000a\u0009\u0009\u0009\u0009\u0009\"jobBeanName\" : \"longRunningJob\",\u000a\u0009\u0009\u0009\u0009\u0009\"origin\" : \"appng-scheduler\",\u000a\u0009\u0009\u0009\u0009\u0009\"siteName\"\u000a\u0009\u0009\u0009\u0009\u0009: \"localhost\"\u000a\u0009\u0009\u0009\u0009\u0009}</value> at /datasource[1]/data[1]/result[1]/field[4]/value[1]/text()[1] to <value ...>{\u000a  \"SCHEDULED_JOB\" : \"org.appng.application.scheduler.job.LongRunningJob\",\u000a  \"cronExpression\" : \"0 0/10 * 1/1 * ? *\",\u000a  \"enabled\" : true,\u000a  \"forceState\" : true,\u000a  \"jobBeanName\" : \"longRunningJob\",\u000a  \"origin\" : \"appng-scheduler\",\u000a  \"siteName\" : \"localhost\",\u000a  \"thresholdError\" : 5,\u000a  \"thresholdTimeunit\" : \"DAY\"\u000a}</value> at /datasource[1]/data[1]/result[1]/field[4]/value[1]/text()[1]\u000a\u000a\u0009at org.appng.application.scheduler.business.TestJobRecordings.testJobDetails(TestJobRecordings.java:94)\u000a",
          "failedSince" : 78,
          "flakyFailures" : [
            
          ],
          "name" : "testJobDetails",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "FAILED",
          "stderr" : None,
          "stdout" : "2021-09-24 09:51:29,577 INFO  [main] org.appng.application.scheduler.SchedulerUtils: Created job: localhost.appng-scheduler_longRunningJob\u000a2021-09-24 09:51:29,710 INFO  [main] org.appng.application.scheduler.SchedulerUtils: Created trigger 'localhost.appng-scheduler_longRunningJob-crontrigger-1311212526' for job 'localhost.appng-scheduler_longRunningJob' with expression '0 0/10 * 1/1 * ? *'\u000a2021-09-24 09:51:29,739 INFO  [main] org.appng.application.scheduler.SchedulerUtils: Created job: localhost.appng-scheduler_indexJob\u000a2021-09-24 09:51:29,788 INFO  [main] org.appng.application.scheduler.SchedulerUtils: Created job: localhost.appng-scheduler_houseKeepingJob\u000a2021-09-24 09:51:29,895 INFO  [main] org.springframework.scheduling.quartz.LocalDataSourceJobStore: Freed 0 triggers from 'acquired' / 'blocked' state.\u000a2021-09-24 09:51:29,908 INFO  [main] org.springframework.scheduling.quartz.LocalDataSourceJobStore: Recovering 0 jobs that were in-progress at the time of the last shut-down.\u000a2021-09-24 09:51:29,908 INFO  [main] org.springframework.scheduling.quartz.LocalDataSourceJobStore: Recovery complete.\u000a2021-09-24 09:51:29,917 INFO  [main] org.springframework.scheduling.quartz.LocalDataSourceJobStore: Removed 0 'complete' triggers.\u000a2021-09-24 09:51:29,917 INFO  [main] org.springframework.scheduling.quartz.LocalDataSourceJobStore: Removed 0 stale fired job entries.\u000a2021-09-24 09:51:29,918 INFO  [main] org.quartz.core.QuartzScheduler: Scheduler Scheduler_localhost_$_NON_CLUSTERED started.\u000a"
        }
      ],
      "duration" : 8.135,
      "enclosingBlockNames" : [
        "Results"
      ],
      "enclosingBlocks" : [
        "17"
      ],
      "id" : None,
      "name" : "org.appng.application.scheduler.business.TestJobRecordings",
      "nodeId" : "18",
      "properties" : {
        
      },
      "stderr" : None,
      "stdout" : None,
      "timestamp" : None
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.service.JobStateRestControllerTest",
          "duration" : 0.637,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testIndexJob",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "org.appng.application.scheduler.service.JobStateRestControllerTest",
          "duration" : 0.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "flakyFailures" : [
            
          ],
          "name" : "testLongRunningJob",
          "properties" : {
            
          },
          "rerunFailures" : [
            
          ],
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : None,
          "stdout" : None
        }
      ],
      "duration" : 1.011,
      "enclosingBlockNames" : [
        "Results"
      ],
      "enclosingBlocks" : [
        "17"
      ],
      "id" : None,
      "name" : "org.appng.application.scheduler.service.JobStateRestControllerTest",
      "nodeId" : "18",
      "properties" : {
        
      },
      "stderr" : None,
      "stdout" : None,
      "timestamp" : None
    }
  ]
}