2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
8 * Unless otherwise specified, all software contained herein is licensed
9 * under the Apache License, Version 2.0 (the "License");
10 * you may not use this software except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
21 * Unless otherwise specified, all documentation contained herein is licensed
22 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23 * you may not use this documentation except in compliance with the License.
24 * You may obtain a copy of the License at
26 * https://creativecommons.org/licenses/by/4.0/
28 * Unless required by applicable law or agreed to in writing, documentation
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
34 * ============LICENSE_END============================================
36 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
39 package org.onap.portalsdk.analytics.controller;
42 import static org.junit.Assert.*;
43 import java.sql.ResultSet;
44 import java.sql.ResultSetMetaData;
45 import java.util.ArrayList;
46 import java.util.List;
47 import javax.servlet.ServletContext;
48 import javax.servlet.http.HttpServletRequest;
49 import javax.servlet.http.HttpSession;
50 import org.onap.portalsdk.analytics.system.fusion.AppUtils;
52 import org.junit.Before;
53 import org.junit.Test;
54 import org.junit.runner.RunWith;
55 import org.mockito.Mock;
56 import org.mockito.Mockito;
57 import org.mockito.invocation.InvocationOnMock;
58 import org.mockito.stubbing.Answer;
59 import org.onap.portalsdk.analytics.model.ReportHandler;
60 import org.onap.portalsdk.analytics.model.base.ReportSecurity;
61 import org.onap.portalsdk.analytics.model.definition.ReportDefinition;
62 import org.onap.portalsdk.analytics.model.definition.ReportSchedule;
63 import org.onap.portalsdk.analytics.model.runtime.ReportRuntime;
64 import org.onap.portalsdk.analytics.system.DbUtils;
65 import org.onap.portalsdk.analytics.system.Globals;
66 import org.onap.portalsdk.analytics.system.IAppUtils;
67 import org.onap.portalsdk.analytics.util.AppConstants;
68 import org.onap.portalsdk.analytics.util.DataSet;
69 import org.onap.portalsdk.analytics.xmlobj.ChartAdditionalOptions;
70 import org.onap.portalsdk.analytics.xmlobj.ChartDrillFormfield;
71 import org.onap.portalsdk.analytics.xmlobj.ChartDrillOptions;
72 import org.onap.portalsdk.analytics.xmlobj.ColFilterType;
73 import org.onap.portalsdk.analytics.xmlobj.DataColumnType;
74 import org.onap.portalsdk.analytics.xmlobj.DataSourceType;
75 import org.onap.portalsdk.analytics.xmlobj.FormFieldType;
76 import org.onap.portalsdk.analytics.xmlobj.JavascriptItemType;
77 import org.onap.portalsdk.analytics.xmlobj.ReportMap;
78 import org.onap.portalsdk.analytics.xmlobj.SemaphoreList;
79 import org.onap.portalsdk.analytics.xmlobj.SemaphoreType;
80 import org.onap.portalsdk.core.domain.User;
81 import org.owasp.esapi.ESAPI;
82 import org.owasp.esapi.Encoder;
83 import org.powermock.api.mockito.PowerMockito;
84 import org.powermock.core.classloader.annotations.PrepareForTest;
85 import org.powermock.modules.junit4.PowerMockRunner;
87 @RunWith(PowerMockRunner.class)
88 @PrepareForTest({DbUtils.class, Globals.class, IAppUtils.class, WizardProcessor.class, ESAPI.class})
89 public class WizardProcessorTest {
91 WizardProcessor wizardProcessor;
94 HttpServletRequest httpServletRequest;
97 ServletContext servletContext;
100 HttpSession httpSession;
106 ReportRuntime reportRuntime;
109 ReportHandler reportHandler;
112 ReportDefinition reportDefinition;
115 WizardSequence wizardSequence;
130 ResultSetMetaData resultSetMetaData;
133 ReportSchedule reportSchedule;
139 ReportSecurity reportSecurity;
144 private String REPORT_ID="1000";
145 private String DETAIL_ID="3000";
148 public void init() throws Exception {
150 PowerMockito.mockStatic(DbUtils.class);
151 PowerMockito.mockStatic(Globals.class);
152 PowerMockito.mockStatic(IAppUtils.class);
153 PowerMockito.mockStatic(ESAPI.class);
155 Mockito.when(httpServletRequest.getSession()).thenReturn(httpSession);
157 Mockito.when(httpSession.getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(reportDefinition);
158 Mockito.when(httpSession.getAttribute(AppConstants.SI_REPORT_SCHEDULE)).thenReturn(reportSchedule);
159 Mockito.when(httpSession.getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(reportRuntime);
161 PowerMockito.when(ESAPI.encoder()).thenReturn(encoder);
163 PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler);
165 PowerMockito.when(Globals.getAppUtils()).thenReturn(appUtils);
167 Mockito.when(reportHandler.loadReportDefinition(httpServletRequest, REPORT_ID)).thenReturn(reportDefinition);
169 Mockito.when(reportHandler.loadReportRuntime(httpServletRequest, REPORT_ID, false)).thenReturn(reportRuntime);
171 Mockito.when(reportDefinition.getWizardSequence()).thenReturn(wizardSequence);
172 Mockito.when(reportDefinition.getReportSchedule()).thenReturn(reportSchedule);
174 Mockito.when(reportRuntime.getReportID()).thenReturn(REPORT_ID);
176 Mockito.when(reportDefinition.getReportID()).thenReturn(REPORT_ID);
178 Mockito.when(appUtils.getUserID(httpServletRequest)).thenReturn("USER1");
181 wizardProcessor = Mockito.spy(WizardProcessor.class);
185 private void mockHttpAttribute(String attributeName, String attributeValue) {
186 Mockito.when(httpServletRequest.getAttribute(attributeName)).thenReturn(attributeValue);
189 private void mockHttpParameter(String parameterName, String parameterValue) {
190 Mockito.when(httpServletRequest.getParameter(parameterName)).thenReturn(parameterValue);
193 private void mockHttpParameterValues(String parameterName, String[] parameterValue) {
194 Mockito.when(httpServletRequest.getParameterValues(parameterName)).thenReturn(parameterValue);
199 public void testWizardProcessor() {
200 WizardProcessor wizardProcessorLocal = new WizardProcessor();
201 assertNotNull(wizardProcessorLocal);
205 @Test(expected=NullPointerException.class)
206 public void testPersistReportDefinition_null_arguments() throws Exception {
207 wizardProcessor.persistReportDefinition(null, null);
210 @Test(expected=NullPointerException.class)
211 public void testPersistReportDefinition_null_arguments_case1() throws Exception {
212 wizardProcessor.persistReportDefinition(httpServletRequest, null);
215 @Test(expected=NullPointerException.class)
216 public void testPersistReportDefinition_null_arguments_case2() throws Exception {
217 wizardProcessor.persistReportDefinition(httpServletRequest, null);
220 @Test(expected=NullPointerException.class)
221 public void testPersistReportDefinition_null_arguments_case3() throws Exception {
222 wizardProcessor.persistReportDefinition(httpServletRequest, null);
226 public void testPersistReportDefinition_not_null_arguments_case1() throws Exception {
227 wizardProcessor.persistReportDefinition(httpServletRequest, reportDefinition);
231 public void testPersistReportDefinition_not_null_arguments_case2() throws Exception {
232 wizardProcessor.persistReportDefinition(httpServletRequest, reportDefinition);
235 @Test(expected=NullPointerException.class)
236 public void testProcessWizardStep_null_arguments_case1() throws Exception {
237 wizardProcessor.processWizardStep(null);
240 @Test(expected=Exception.class)
241 public void testProcessWizardStep_not_null_arguments_case1() throws Exception {
242 wizardProcessor.processWizardStep(httpServletRequest);
245 @Test(expected=Exception.class)
246 public void testProcessWizardStep_not_null_arguments_case2() throws Exception {
247 mockHttpParameter(AppConstants.RI_WIZARD_ACTION,null);
248 wizardProcessor.processWizardStep(httpServletRequest);
251 @Test(expected=Exception.class)
252 public void testProcessWizardStep_not_null_arguments_case3() throws Exception {
253 mockHttpParameter(AppConstants.RI_WIZARD_ACTION,"NA");
254 wizardProcessor.processWizardStep(httpServletRequest);
258 public void testProcessWizardStep_not_null_arguments_case4() throws Exception {
259 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.RI_ACTION);
260 mockHttpAttribute(AppConstants.RI_REPORT_ID, REPORT_ID);
261 mockHttpAttribute("showDashboardOptions","");
263 setWizardSteps("NA", "NA");
265 wizardProcessor.processWizardStep(httpServletRequest);
266 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
270 public void testProcessWizardStep_processDefinition_Dashboard_case1() throws Exception {
272 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.RI_ACTION);
273 mockHttpAttribute(AppConstants.RI_REPORT_ID, REPORT_ID);
274 mockHttpAttribute("showDashboardOptions","");
275 mockHttpAttribute("folder_id","2000");
276 mockHttpAttribute("reportType",AppConstants.RT_DASHBOARD);
278 setWizardSteps(AppConstants.WS_DEFINITION, "NA");
280 mockHttpAttribute("reportName", "Report One");
281 mockHttpAttribute("reportDescr","Report One help for testing...");
283 mockHttpAttribute("allowSchedule","");
284 mockHttpAttribute("multiGroupColumn","");
285 mockHttpAttribute("topDown","");
286 mockHttpAttribute("sizedByContent","");
288 mockHttpAttribute("isOneTimeScheduleAllowed","");
289 mockHttpAttribute("isHourlyScheduleAllowed","");
290 mockHttpAttribute("isDailyScheduleAllowed","");
291 mockHttpAttribute("isDailyMFScheduleAllowed","");
292 mockHttpAttribute("isWeeklyScheduleAllowed","");
293 mockHttpAttribute("isMonthlyScheduleAllowed","");
295 mockHttpAttribute("dashboardLayoutHTML","<html>dashboardLayoutHtml</html>");
296 mockHttpAttribute("heightContainer","");
297 mockHttpAttribute("widthContainer","");
299 wizardProcessor.processWizardStep(httpServletRequest);
301 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
306 public void testProcessWizardStep_processDefinition_Dashboard_case2() throws Exception {
308 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.RI_ACTION);
309 mockHttpAttribute(AppConstants.RI_REPORT_ID, REPORT_ID);
310 mockHttpAttribute("showDashboardOptions","Y");
311 mockHttpAttribute("folder_id","2000");
312 mockHttpAttribute("reportType",AppConstants.RT_DASHBOARD);
314 setWizardSteps(AppConstants.WS_DEFINITION, "NA");
316 mockHttpAttribute("reportName", "Report One");
318 String reportDescr = "Report One help for testing. ";
320 while (reportDescr.length() <1000) {
321 reportDescr += reportDescr;
324 mockHttpAttribute("reportDescr", reportDescr);
326 mockHttpAttribute("allowSchedule","Y");
327 mockHttpAttribute("multiGroupColumn","Y");
328 mockHttpAttribute("topDown","Y");
329 mockHttpAttribute("sizedByContent","Y");
331 mockHttpAttribute("isOneTimeScheduleAllowed","Y");
332 mockHttpAttribute("isHourlyScheduleAllowed","Y");
333 mockHttpAttribute("isDailyScheduleAllowed","Y");
334 mockHttpAttribute("isDailyMFScheduleAllowed","Y");
335 mockHttpAttribute("isWeeklyScheduleAllowed","Y");
336 mockHttpAttribute("isMonthlyScheduleAllowed","Y");
338 mockHttpAttribute("dashboardLayoutHTML","<html>dashboardLayoutHtml</html>");
339 mockHttpAttribute("heightContainer","auto");
340 mockHttpAttribute("widthContainer","auto");
342 wizardProcessor.processWizardStep(httpServletRequest);
343 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
348 private void setWizardSteps(String currentStep, String currentSubStep) {
349 Mockito.when(wizardSequence.getCurrentStep()).thenReturn(currentStep);
350 Mockito.when(wizardSequence.getCurrentSubStep()).thenReturn(currentSubStep);
354 public void testProcessWizardStep_processDefinition_Crosstab_case1() throws Exception {
355 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.RI_ACTION);
356 mockHttpAttribute(AppConstants.RI_REPORT_ID, REPORT_ID);
357 mockHttpAttribute("showDashboardOptions","");
358 mockHttpAttribute("folder_id","2000");
359 mockHttpAttribute("reportType",AppConstants.RT_CROSSTAB);
361 setWizardSteps(AppConstants.WS_DEFINITION, "NA");
363 mockHttpAttribute("reportName","Report One");
364 mockHttpAttribute("reportDescr","Report One help for testing...");
366 mockHttpAttribute("allowSchedule","N");
367 mockHttpAttribute("multiGroupColumn","N");
368 mockHttpAttribute("topDown","N");
369 mockHttpAttribute("sizedByContent","N");
371 mockHttpAttribute("isOneTimeScheduleAllowed","N");
372 mockHttpAttribute("isHourlyScheduleAllowed","N");
373 mockHttpAttribute("isDailyScheduleAllowed","N");
374 mockHttpAttribute("isDailyMFScheduleAllowed","N");
375 mockHttpAttribute("isWeeklyScheduleAllowed","N");
376 mockHttpAttribute("isMonthlyScheduleAllowed","N");
378 mockHttpAttribute("widthNo","500px");
379 mockHttpAttribute("dataGridAlign","right");
380 mockHttpAttribute("pdfImg","/onap-portal/images");
381 mockHttpAttribute("emptyMessage","empty");
382 mockHttpAttribute("formHelp","refer help option in onap portal");
383 mockHttpAttribute("excelDownloadSize","1024");
384 mockHttpAttribute("reportInNewWindow","N");
386 mockHttpAttribute("hideFormFieldsAfterRun","N");
387 mockHttpAttribute("reportInNewWindow","N");
388 mockHttpAttribute("displayFolderTree","N");
389 mockHttpAttribute("pageSize","100");
390 mockHttpAttribute("menuApproved","N");
392 String [] menuIds = {"30001", "3002", "3003", "3004"};
394 mockHttpParameterValues("menuID", menuIds);
396 mockHttpAttribute("runtimeColSortDisabled","N");
397 mockHttpAttribute("reportDefType","N");
398 mockHttpAttribute("heightContainer","N");
399 mockHttpAttribute("widthContainer","N");
400 mockHttpAttribute("hideForm","N");
401 mockHttpAttribute("hideChart","N");
402 mockHttpAttribute("hideData","N");
403 mockHttpAttribute("hideBtns","N");
405 mockHttpAttribute("hideMap","N");
406 mockHttpAttribute("hideExcelIcons","N");
407 mockHttpAttribute("hidePDFIcons","N");
409 mockHttpAttribute("dataSource","org.att.onap.DataSource");
411 mockHttpAttribute("numFormCols","10");
412 mockHttpAttribute("reportTitle","ONAP Portal User Report");
413 mockHttpAttribute("reportSubTitle","");
415 mockHttpAttribute("reportHeader","");
416 mockHttpAttribute("reportFooter","");
417 mockHttpAttribute("frozenColumns","10");
419 PowerMockito.when(Globals.getDBType()).thenReturn("oracle");
421 String sql = "SELECT a.SCHEMA_ID, a.SCHEMA_DESC, DATASOURCE_TYPE FROM SCHEMA_INFO a where schema_id = '[schema_id]'";
422 PowerMockito.when(Globals.getDBType()).thenReturn("oracle");
423 PowerMockito.when(Globals.getRemoteDbSchemaSqlWithWhereClause()).thenReturn(sql);
425 PowerMockito.when(DbUtils.executeQuery(Mockito.anyString())).thenReturn(dataSet);
427 Mockito.when(dataSet.getRowCount()).thenReturn(2);
428 Mockito.when(dataSet.getItem(Mockito.anyInt(), Mockito.anyInt())).thenReturn("oracle12c");
430 wizardProcessor.processWizardStep(httpServletRequest);
432 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
436 public void testProcessWizardStep_processValidateSQL_case1() throws Exception {
437 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_VALIDATE);
438 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
439 mockHttpAttribute("showDashboardOptions","Option 1");
440 mockHttpAttribute("folder_id","2000");
442 setWizardSteps(AppConstants.WS_SQL, "NA");
444 mockHttpAttribute("reportSQL","SELECT [colNames.toString()] FROM ( [reportSQL]");
445 wizardProcessor.processWizardStep(httpServletRequest);
449 public void testProcessWizardStep_processDefinition_processValidateSQL_case2() throws Exception {
450 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_VALIDATE);
451 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
452 mockHttpAttribute("showDashboardOptions","");
453 mockHttpAttribute("folder_id","2000");
455 setWizardSteps(AppConstants.WS_SQL, "NA");
457 mockHttpAttribute("reportSQL","SELECT [colNames.toString()] FROM ( [reportSQL]");
458 wizardProcessor.processWizardStep(httpServletRequest);
460 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
465 public void testProcessWizardStep_processTableAdd_case1() throws Exception {
466 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_VALIDATE);
467 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
468 mockHttpAttribute("showDashboardOptions","");
469 mockHttpAttribute("folder_id","20001");
471 setWizardSteps(AppConstants.WS_TABLES, AppConstants.WSS_ADD);
473 Mockito.when(reportHandler.loadReportDefinition(httpServletRequest, "10001")).thenReturn(reportDefinition);
475 mockHttpAttribute("reportSQL","SELECT [colNames.toString()] FROM ( [reportSQL]");
477 mockHttpAttribute("tableName","cr_report_access crc");
478 mockHttpAttribute("joinTableName","cr_report cr");
479 mockHttpAttribute("joinExpr","crc.rep_id = cr.rep_id");
480 mockHttpAttribute("tablePK","crc.rep_id");
481 mockHttpAttribute("displayName","Report Access");
482 mockHttpAttribute("outerJoin"," ");
484 wizardProcessor.processWizardStep(httpServletRequest);
486 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
490 public void testProcessWizardStep_processTableAdd_case2() throws Exception {
491 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_VALIDATE);
492 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
494 mockHttpAttribute("showDashboardOptions","");
495 mockHttpAttribute("folder_id","2000");
497 DataSourceType dataSourceType = new DataSourceType();
498 dataSourceType.setRefTableId("reportaccess");
499 dataSourceType.setTableName("cr_report_access crc");
501 Mockito.when(reportDefinition.getTableById(Mockito.anyString())).thenReturn(dataSourceType);
503 setWizardSteps(AppConstants.WS_TABLES, AppConstants.WSS_ADD);
506 mockHttpAttribute("reportSQL","SELECT [colNames.toString()] FROM ( [reportSQL]");
507 mockHttpAttribute("tableName","cr_report_access crc");
508 mockHttpAttribute("joinTableName","cr_report cr");
509 mockHttpAttribute("joinExpr","crc.rep_id = cr.rep_id");
510 mockHttpAttribute("tablePK","crc.rep_id");
511 mockHttpAttribute("displayName","Report Access");
512 mockHttpAttribute("outerJoin"," ");
514 wizardProcessor.processWizardStep(httpServletRequest);
516 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
521 public void testProcessWizardStep_processTableEdit_case1() throws Exception {
523 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_VALIDATE);
524 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
525 mockHttpAttribute("showDashboardOptions","");
526 mockHttpAttribute(AppConstants.RI_DETAIL_ID, DETAIL_ID);
528 DataSourceType dataSourceType = new DataSourceType();
529 dataSourceType.setTableId("reportaccess");
530 dataSourceType.setTableName("cr_report_access crc");
531 Mockito.when(reportDefinition.getTableById(Mockito.anyString())).thenReturn(dataSourceType);
533 Mockito.when(reportDefinition.getTableByDBName(Mockito.anyString())).thenReturn(dataSourceType);
535 setWizardSteps(AppConstants.WS_TABLES, AppConstants.WSS_EDIT);
537 mockHttpAttribute("reportSQL","SELECT [colNames.toString()] FROM ( [reportSQL]");
539 mockHttpAttribute("tableName","cr_report_access crc");
540 mockHttpAttribute("joinTableName","cr_report cr");
541 mockHttpAttribute("joinExpr","crc.rep_id = cr.rep_id");
542 mockHttpAttribute("tablePK","crc.rep_id");
543 mockHttpAttribute("displayName","Report Access");
544 mockHttpAttribute("outerJoin"," ");
546 wizardProcessor.processWizardStep(httpServletRequest);
548 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
553 public void testProcessWizardStep_processTableDelete_case1() throws Exception {
555 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_VALIDATE);
556 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
557 mockHttpAttribute("showDashboardOptions","");
558 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
560 setWizardSteps(AppConstants.WS_TABLES, AppConstants.WA_DELETE);
562 DataSourceType dataSourceType = new DataSourceType();
563 dataSourceType.setTableId("reportaccess");
564 dataSourceType.setTableName("cr_report_access crc");
566 Mockito.when(reportDefinition.getTableById(Mockito.anyString())).thenReturn(dataSourceType);
567 Mockito.when(reportDefinition.getTableByDBName(Mockito.anyString())).thenReturn(dataSourceType);
569 wizardProcessor.processWizardStep(httpServletRequest);
571 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
577 public void testProcessWizardStep_processColumnAddEdit_case1() throws Exception {
578 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_VALIDATE);
579 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
580 mockHttpAttribute("showDashboardOptions","");
581 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
583 setWizardSteps(AppConstants.WS_COLUMNS, AppConstants.WSS_ADD);
585 DataSourceType dataSourceType = new DataSourceType();
586 dataSourceType.setTableId("reportaccess");
587 dataSourceType.setTableName("cr_report_access crc");
589 Mockito.when(reportDefinition.getTableById(Mockito.anyString())).thenReturn(dataSourceType);
590 Mockito.when(reportDefinition.getTableByDBName(Mockito.anyString())).thenReturn(dataSourceType);
592 wizardProcessor.processWizardStep(httpServletRequest);
594 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
600 public void testProcessWizardStep_processColumnAddEdit_case2() throws Exception {
601 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_VALIDATE);
602 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
603 mockHttpAttribute("showDashboardOptions","");
604 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
606 setWizardSteps(AppConstants.WS_COLUMNS, AppConstants.WSS_EDIT);
608 Mockito.when(reportDefinition.getReportType()).thenReturn(AppConstants.RT_CROSSTAB);
609 Mockito.when(reportDefinition.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
611 DataColumnType dataColumnType = new DataColumnType();
613 dataColumnType.setTableId("reportaccess");
614 dataColumnType.setDbColName("rep_id");
615 dataColumnType.setColName("rep_id");
616 dataColumnType.setDbColType("integer");
618 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
620 mockHttpAttribute("columnDetails","reportaccess|rep_id|integer");
621 mockHttpAttribute("exprFormula","COUNT(*)");
622 mockHttpAttribute("displayWidth","500");
623 mockHttpAttribute("drillDownParams"," [this] ");
624 mockHttpAttribute("visible", "true");
625 mockHttpAttribute("sortable", "true");
626 mockHttpAttribute("nowrap", "Yes");
627 mockHttpAttribute("indentation", "100");
628 mockHttpAttribute("dependsOnFormField", "100");
629 mockHttpAttribute("groupBreak", "true");
630 mockHttpAttribute("groupByPos", "1");
631 mockHttpAttribute("subTotalCustomText", "");
632 mockHttpAttribute("hideRepeatedKeys", "true");
633 mockHttpAttribute("displayTotal", "100");
634 mockHttpAttribute("widthInPxls", "500");
635 mockHttpAttribute("crossTabValue", AppConstants.CV_VALUE);
636 mockHttpAttribute("displayTotalPerRow", "100");
637 mockHttpAttribute("displayName", "ONAP USER REPORT");
638 mockHttpAttribute("colType", AppConstants.CT_HYPERLINK);
639 mockHttpAttribute("hyperlinkURL", "http://onap.readthedocs.io/en/latest");
640 mockHttpAttribute("anchor", "IMAGE");
641 mockHttpAttribute("actionImg", "Dummy");
642 mockHttpAttribute("displayFormat", "HTML");
643 mockHttpAttribute("displayFormat", "HTML");
644 mockHttpAttribute("displayAlign", "right");
645 mockHttpAttribute("displayHeaderAlign", "right");
646 mockHttpAttribute("drillDownURL", "");
647 mockHttpAttribute("drillDownSuppress", "");
648 mockHttpAttribute("drillDownPopUp", "");
649 mockHttpAttribute("semaphore", "");
650 mockHttpAttribute("semaphoreTypeHidden", "");
651 mockHttpAttribute("multiGroupColLevel", "1000");
652 mockHttpAttribute("startMultiGroup", "");
653 mockHttpAttribute("colspan", "");
654 mockHttpAttribute("colDataFormat", "GRID");
655 mockHttpAttribute("enhancedPagination", "100");
656 mockHttpAttribute("no_parse_date", "true");
658 wizardProcessor.processWizardStep(httpServletRequest);
660 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
665 public void testProcessWizardStep_processColumnAddEdit_case3() throws Exception {
670 public void testProcessWizardStep_processColumnAddEdit_case4() throws Exception {
675 public void testProcessWizardStep_processColumnAddEdit_case5() throws Exception {
682 public void testProcessWizardStep_processColumnAddMulti_case1() throws Exception {
683 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_VALIDATE);
684 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
685 mockHttpAttribute("showDashboardOptions","");
686 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
688 setWizardSteps(AppConstants.WS_COLUMNS, AppConstants.WSS_ADD_MULTI);
690 String[] addColumn = {"Y", "N", "Y"};
691 String[] tableId = {"Id", "N", "Y"};
692 String[] columnName = {"REP_ID", "ORDER_NO", "ROLE_ID"};
693 String[] columnType = {"INTEGER", "INTEGER", "INTEGER"};
694 String[] displayName = {"Report Id", "Order No", "Role Id"};
696 mockHttpParameterValues("addColumn", addColumn);
697 mockHttpParameterValues("tableId", tableId);
698 mockHttpParameterValues("columnName", columnName);
699 mockHttpParameterValues("columnType", columnType);
700 mockHttpParameterValues("displayName", displayName);
703 DataColumnType dataColumnType1 = new DataColumnType();
705 dataColumnType1.setTableId("reportaccess");
706 dataColumnType1.setDbColName("REP_ID");
707 dataColumnType1.setColName("REP_ID");
708 dataColumnType1.setDbColType("INTEGER");
709 dataColumnType1.setDisplayName("Report Id");
711 DataColumnType dataColumnType2 = new DataColumnType();
713 dataColumnType2.setTableId("reportaccess");
714 dataColumnType2.setDbColName("ORDER_NO");
715 dataColumnType2.setColName("ORDER_NO");
716 dataColumnType2.setDbColType("INTEGER");
717 dataColumnType2.setDisplayName("Order No");
719 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
720 listDataColumnType.add(dataColumnType1);
721 listDataColumnType.add(dataColumnType2);
723 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
725 wizardProcessor.processWizardStep(httpServletRequest);
726 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
731 public void testProcessWizardStep_processColumnOrderAll_case1() throws Exception {
732 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_VALIDATE);
733 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
734 mockHttpAttribute("showDashboardOptions","");
735 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
737 setWizardSteps(AppConstants.WS_COLUMNS, AppConstants.WSS_ORDER_ALL);
739 String[] colId = {"REP_ID", "ORDER_NO", "ROLE_ID"};
740 String[] colOrder = {"1", "2", "3"};
742 mockHttpParameterValues("colId", colId);
743 mockHttpParameterValues("colOrder", colOrder);
745 DataColumnType dataColumnType1 = new DataColumnType();
747 dataColumnType1.setTableId("reportaccess");
748 dataColumnType1.setDbColName("REP_ID");
749 dataColumnType1.setColName("REP_ID");
750 dataColumnType1.setDbColType("INTEGER");
751 dataColumnType1.setDisplayName("Report Id");
753 Mockito.when(reportDefinition.getColumnById("REP_ID")).thenReturn(dataColumnType1);
755 DataColumnType dataColumnType2 = new DataColumnType();
757 dataColumnType2.setTableId("reportaccess");
758 dataColumnType2.setDbColName("ORDER_NO");
759 dataColumnType2.setColName("ORDER_NO");
760 dataColumnType2.setDbColType("INTEGER");
761 dataColumnType2.setDisplayName("Order No");
763 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
764 listDataColumnType.add(dataColumnType1);
765 listDataColumnType.add(dataColumnType2);
767 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
769 wizardProcessor.processWizardStep(httpServletRequest);
770 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
776 public void testProcessWizardStep_processColumnDelete_case1() throws Exception {
778 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_DELETE);
779 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
780 mockHttpAttribute("showDashboardOptions","");
781 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
783 setWizardSteps(AppConstants.WS_COLUMNS, "NA");
785 wizardProcessor.processWizardStep(httpServletRequest);
786 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
790 public void testProcessWizardStep_processColumnMoveUp_case1() throws Exception {
791 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_MOVE_UP);
792 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
793 mockHttpAttribute("showDashboardOptions","");
794 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
796 setWizardSteps(AppConstants.WS_COLUMNS, "NA");
798 wizardProcessor.processWizardStep(httpServletRequest);
799 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
804 public void testProcessWizardStep_processColumnMoveDown_case1() throws Exception {
805 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_MOVE_DOWN);
806 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
807 mockHttpAttribute("showDashboardOptions","");
808 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
810 setWizardSteps(AppConstants.WS_COLUMNS, "NA");
812 wizardProcessor.processWizardStep(httpServletRequest);
813 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
818 public void testProcessWizardStep_processFormFieldAddEdit_case1() throws Exception {
819 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "ACTION");
820 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
821 mockHttpAttribute("showDashboardOptions","");
822 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
824 setWizardSteps(AppConstants.WS_FORM_FIELDS, AppConstants.WSS_ADD);
826 Mockito.when(reportDefinition.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
828 FormFieldType formFieldType = new FormFieldType();
829 formFieldType.setFieldId(AppConstants.RI_REPORT_ID);
831 Mockito.when(reportDefinition.addFormFieldType(Mockito.anyObject(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyObject(), Mockito.anyObject(), Mockito.anyString(), Mockito.anyString())).thenReturn(formFieldType);
833 mockHttpAttribute("fieldName", "REP_ID");
834 mockHttpAttribute("fieldColId", "REP_ID");
835 mockHttpAttribute("displayFormat", "TABLE");
836 mockHttpAttribute("fieldType", "INTEGER");
837 mockHttpAttribute("validation", "Success");
838 mockHttpAttribute("mandatory", "Y");
839 mockHttpAttribute("defaultValue", "null");
840 mockHttpAttribute("fieldHelp", "Refer ONAP Help");
841 mockHttpAttribute("fieldSQL", "SELECT 1 FROM DUAL");
842 mockHttpAttribute("fieldDefaultSQL", "SELECT 1 FROM DUAL");
843 mockHttpAttribute("visible", "Y");
845 mockHttpAttribute("dependsOn", "");
846 mockHttpAttribute("rangeStartDate", "01/01/2018");
847 mockHttpAttribute("rangeEndDate", "12/12/2018");
848 mockHttpAttribute("rangeStartDateSQL", "Y");
849 mockHttpAttribute("rangeEndDateSQL", "Y");
850 mockHttpAttribute("isGroupFormField", "Y");
852 wizardProcessor.processWizardStep(httpServletRequest);
853 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
858 public void testProcessWizardStep_processFormFieldAddEdit_case2() throws Exception {
859 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_ADD_USER);
860 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
861 mockHttpAttribute("showDashboardOptions","");
862 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
864 setWizardSteps(AppConstants.WS_FORM_FIELDS, AppConstants.WSS_EDIT);
866 Mockito.when(reportDefinition.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
868 FormFieldType formFieldType = new FormFieldType();
869 formFieldType.setFieldId(AppConstants.RI_REPORT_ID);
871 Mockito.when(reportDefinition.getFormFieldById(Mockito.anyString())).thenReturn(formFieldType);
873 Mockito.when(reportDefinition.addFormFieldType(Mockito.anyObject(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyObject(), Mockito.anyObject(), Mockito.anyString(), Mockito.anyString())).thenReturn(formFieldType);
875 mockHttpAttribute("fieldName", "REP_ID");
876 mockHttpAttribute("fieldColId", "REP_ID");
877 mockHttpAttribute("displayFormat", "TABLE");
878 mockHttpAttribute("fieldType", "INTEGER");
879 mockHttpAttribute("validation", "Success");
880 mockHttpAttribute("mandatory", "Y");
881 mockHttpAttribute("defaultValue", "null");
882 mockHttpAttribute("fieldHelp", "Refer ONAP Help");
883 mockHttpAttribute("fieldSQL", "SELECT 1 FROM DUAL");
884 mockHttpAttribute("fieldDefaultSQL", "SELECT 1 FROM DUAL");
885 mockHttpAttribute("visible", "Y");
886 mockHttpAttribute("dependsOn", "");
887 mockHttpAttribute("rangeStartDate", "01/01/2018");
888 mockHttpAttribute("rangeEndDate", "12/12/2018");
889 mockHttpAttribute("rangeStartDateSQL", "Y");
890 mockHttpAttribute("rangeEndDateSQL", "Y");
891 mockHttpAttribute("isGroupFormField", "Y");
892 mockHttpAttribute("newPredefinedValue", "Y");
894 wizardProcessor.processWizardStep(httpServletRequest);
895 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
901 public void testProcessWizardStep_processFormFieldDelete_case1() throws Exception {
902 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_DELETE);
903 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
904 mockHttpAttribute("showDashboardOptions","");
905 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
907 setWizardSteps(AppConstants.WS_FORM_FIELDS, AppConstants.WA_DELETE);
908 Mockito.when(reportDefinition.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
909 wizardProcessor.processWizardStep(httpServletRequest);
910 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
916 public void testProcessWizardStep_processFormFieldMoveUp_case1() throws Exception {
917 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_MOVE_UP);
918 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
919 mockHttpAttribute("showDashboardOptions","");
920 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
922 setWizardSteps(AppConstants.WS_FORM_FIELDS, AppConstants.WA_MOVE_UP);
923 Mockito.when(reportDefinition.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
925 wizardProcessor.processWizardStep(httpServletRequest);
926 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
931 public void testProcessWizardStep_processFormFieldMoveDown_case1() throws Exception {
932 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_MOVE_DOWN);
933 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
934 mockHttpAttribute("showDashboardOptions","");
935 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
937 setWizardSteps(AppConstants.WS_FORM_FIELDS, AppConstants.WA_MOVE_DOWN);
938 Mockito.when(reportDefinition.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
940 wizardProcessor.processWizardStep(httpServletRequest);
941 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
945 public void testProcessWizardStep_processFormFieldBlank_case1() throws Exception {
946 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WSS_ADD_BLANK);
947 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
948 mockHttpAttribute("showDashboardOptions","");
949 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
951 setWizardSteps(AppConstants.WS_FORM_FIELDS, AppConstants.WSS_ADD_BLANK);
953 Mockito.when(reportDefinition.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
955 wizardProcessor.processWizardStep(httpServletRequest);
956 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
961 public void testProcessWizardStep_processFormFieldInfoBar_case1() throws Exception {
962 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WSS_INFO_BAR);
963 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
964 mockHttpAttribute("showDashboardOptions","");
965 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
966 mockHttpAttribute("blueBarField", "REPORT ID");
968 setWizardSteps(AppConstants.WS_FORM_FIELDS, AppConstants.WSS_INFO_BAR);
970 Mockito.when(reportDefinition.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
972 wizardProcessor.processWizardStep(httpServletRequest);
973 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
977 public void testProcessWizardStep_processForecasting_case1() throws Exception {
978 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.RI_ACTION);
979 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
980 mockHttpAttribute("showDashboardOptions","");
981 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
983 mockHttpAttribute("timeAttribute", null);
984 mockHttpAttribute("timeFormat", "");
985 mockHttpAttribute("forecastingPeriod", "10hr");
986 mockHttpAttribute("classifiers", "Y");
988 mockHttpParameterValues("forecastCol", null);
990 setWizardSteps(AppConstants.WS_DATA_FORECASTING, AppConstants.WSS_INFO_BAR);
991 Mockito.when(encoder.encodeForSQL(Mockito.anyObject(), Mockito.anyString())).thenReturn(null);
993 wizardProcessor.processWizardStep(httpServletRequest);
994 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
999 public void testProcessWizardStep_processForecasting_case2() throws Exception {
1000 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.RI_ACTION);
1001 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1002 mockHttpAttribute("showDashboardOptions","");
1003 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1005 mockHttpAttribute("timeAttribute", "REP_ID");
1006 mockHttpAttribute("timeFormat", "Default");
1007 mockHttpAttribute("forecastingPeriod", "10hr");
1008 mockHttpAttribute("classifiers", "Y");
1010 String []forecastCol = {"REP_ID", "ORDER_NO"};
1011 mockHttpParameterValues("forecastCol", forecastCol);
1013 setWizardSteps(AppConstants.WS_DATA_FORECASTING, AppConstants.WSS_INFO_BAR);
1015 DataColumnType dataColumnType1 = new DataColumnType();
1017 dataColumnType1.setTableId("reportaccess");
1018 dataColumnType1.setDbColName("REP_ID");
1019 dataColumnType1.setColName("REP_ID");
1020 dataColumnType1.setDbColType("INTEGER");
1021 dataColumnType1.setDisplayName("Report Id");
1022 dataColumnType1.setColId("REP_ID");
1024 DataColumnType dataColumnType2 = new DataColumnType();
1026 dataColumnType2.setTableId("reportaccess");
1027 dataColumnType2.setDbColName("ORDER_NO");
1028 dataColumnType2.setColName("ORDER_NO");
1029 dataColumnType2.setDbColType("INTEGER");
1030 dataColumnType2.setDisplayName("Order No");
1031 dataColumnType2.setColId("ORDER_NO");
1033 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
1034 listDataColumnType.add(dataColumnType1);
1035 listDataColumnType.add(dataColumnType2);
1037 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
1039 wizardProcessor.processWizardStep(httpServletRequest);
1040 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1044 public void testProcessWizardStep_processFilterAddEdit_case1() throws Exception {
1045 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "ACTION");
1046 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1047 mockHttpAttribute("showDashboardOptions","");
1048 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1049 mockHttpAttribute("blueBarField", "REPORT ID");
1051 setWizardSteps(AppConstants.WS_FILTERS, AppConstants.WSS_ADD);
1053 DataColumnType dataColumnType1 = new DataColumnType();
1055 dataColumnType1.setTableId("reportaccess");
1056 dataColumnType1.setDbColName("REP_ID");
1057 dataColumnType1.setColName("REP_ID");
1058 dataColumnType1.setDbColType("INTEGER");
1059 dataColumnType1.setDisplayName("Report Id");
1061 DataColumnType dataColumnType2 = new DataColumnType();
1063 dataColumnType2.setTableId("reportaccess");
1064 dataColumnType2.setDbColName("ORDER_NO");
1065 dataColumnType2.setColName("ORDER_NO");
1066 dataColumnType2.setDbColType("INTEGER");
1067 dataColumnType2.setDisplayName("Order No");
1069 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
1070 listDataColumnType.add(dataColumnType1);
1071 listDataColumnType.add(dataColumnType2);
1073 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType2);
1074 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
1076 mockHttpAttribute("filterColId", "ORDER_NO");
1077 mockHttpAttribute("filterExpr", "ORDER_NO=");
1078 mockHttpAttribute("argType", AppConstants.AT_COLUMN);
1079 mockHttpAttribute("argValue", "1001");
1081 mockHttpAttribute("rangeEndDateSQL", "Y");
1082 mockHttpAttribute("isGroupFormField", "Y");
1084 mockHttpAttribute("newPredefinedValue", "Y");
1086 mockHttpAttribute("filterJoin", "+");
1087 mockHttpAttribute("openBrackets", "(");
1088 mockHttpAttribute("closeBrackets", ")");
1090 wizardProcessor.processWizardStep(httpServletRequest);
1091 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1096 public void testProcessWizardStep_processFilterAddEdit_case2() throws Exception {
1097 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "ACTION");
1098 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1099 mockHttpAttribute("showDashboardOptions","");
1100 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1101 mockHttpAttribute("blueBarField", "REPORT ID");
1103 setWizardSteps(AppConstants.WS_FILTERS, AppConstants.WSS_EDIT);
1105 DataColumnType dataColumnType1 = new DataColumnType();
1107 dataColumnType1.setTableId("reportaccess");
1108 dataColumnType1.setDbColName("REP_ID");
1109 dataColumnType1.setColName("REP_ID");
1110 dataColumnType1.setDbColType("INTEGER");
1111 dataColumnType1.setDisplayName("Report Id");
1113 DataColumnType dataColumnType2 = new DataColumnType();
1115 dataColumnType2.setTableId("reportaccess");
1116 dataColumnType2.setDbColName("ORDER_NO");
1117 dataColumnType2.setColName("ORDER_NO");
1118 dataColumnType2.setDbColType("INTEGER");
1119 dataColumnType2.setDisplayName("Order No");
1120 dataColumnType2.setColType("INTEGER");
1122 PowerMockito.when(Globals.getProcessFilterAddEdit()).thenReturn("= \'[argValue]\'");
1124 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType2);
1127 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
1128 listDataColumnType.add(dataColumnType1);
1129 listDataColumnType.add(dataColumnType2);
1131 ColFilterType colFilterType = new ColFilterType();
1133 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
1134 Mockito.when(reportDefinition.getFilterById(Mockito.anyString(), Mockito.anyInt())).thenReturn(colFilterType);
1136 mockHttpAttribute("filterColId", "ORDER_NO");
1137 mockHttpAttribute("filterExpr", "ORDER_NO=");
1138 mockHttpAttribute("argType", AppConstants.AT_VALUE);
1139 mockHttpAttribute("argValue", "1001");
1141 mockHttpAttribute("filterPos", "1");
1143 mockHttpAttribute("rangeEndDateSQL", "Y");
1144 mockHttpAttribute("isGroupFormField", "Y");
1146 mockHttpAttribute("newPredefinedValue", "Y");
1148 mockHttpAttribute("filterJoin", "+");
1149 mockHttpAttribute("openBrackets", "(");
1150 mockHttpAttribute("closeBrackets", ")");
1152 wizardProcessor.processWizardStep(httpServletRequest);
1153 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1159 public void testProcessWizardStep_processFilterDelete_case1() throws Exception {
1161 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_DELETE);
1162 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1163 mockHttpAttribute("showDashboardOptions","");
1164 mockHttpAttribute(AppConstants.RI_DETAIL_ID, "ORDER_NO|1");
1165 mockHttpAttribute("blueBarField", "REPORT ID");
1167 setWizardSteps(AppConstants.WS_FILTERS, AppConstants.WA_DELETE);
1169 wizardProcessor.processWizardStep(httpServletRequest);
1170 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1175 public void testProcessWizardStep_processSortAddEdit_case1() throws Exception {
1176 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WS_SORTING);
1177 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1178 mockHttpAttribute("showDashboardOptions","");
1179 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1180 mockHttpAttribute("sortAscDesc","Asc");
1181 setWizardSteps(AppConstants.WS_SORTING, AppConstants.WSS_ADD);
1183 DataColumnType dataColumnType = new DataColumnType();
1185 dataColumnType.setTableId("reportaccess");
1186 dataColumnType.setDbColName("rep_id");
1187 dataColumnType.setColName("rep_id");
1188 dataColumnType.setDbColType("integer");
1190 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
1191 mockHttpAttribute("sortColId","1");
1193 wizardProcessor.processWizardStep(httpServletRequest);
1194 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1199 public void testProcessWizardStep_processSortAddEdit_case2() throws Exception {
1200 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WS_SORTING);
1201 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1202 mockHttpAttribute("showDashboardOptions","");
1203 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1204 mockHttpAttribute("sortAscDesc","Asc");
1206 setWizardSteps(AppConstants.WS_SORTING, AppConstants.WSS_EDIT);
1208 DataColumnType dataColumnType = new DataColumnType();
1210 dataColumnType.setTableId("reportaccess");
1211 dataColumnType.setDbColName("rep_id");
1212 dataColumnType.setColName("rep_id");
1213 dataColumnType.setDbColType("integer");
1215 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
1216 mockHttpAttribute("sortColId","1");
1218 wizardProcessor.processWizardStep(httpServletRequest);
1219 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1224 public void testProcessWizardStep_processSortOrderAll_case1() throws Exception {
1225 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WS_SORTING);
1226 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1227 mockHttpAttribute("showDashboardOptions","");
1228 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1230 setWizardSteps(AppConstants.WS_SORTING, AppConstants.WSS_ORDER_ALL);
1232 String[] colId =new String [0];
1233 String[] colOrder = {"1", "2", "3"};
1234 String[] sortAscDesc = {"Desc", "Desc", "Desc"};
1236 mockHttpParameterValues("colId", colId);
1237 mockHttpParameterValues("colOrder", colOrder);
1238 mockHttpParameterValues("sortAscDesc", sortAscDesc);
1240 DataColumnType dataColumnType = new DataColumnType();
1242 dataColumnType.setTableId("reportaccess");
1243 dataColumnType.setDbColName("rep_id");
1244 dataColumnType.setColName("rep_id");
1245 dataColumnType.setDbColType("integer");
1247 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
1248 mockHttpAttribute("sortColId","1");
1250 wizardProcessor.processWizardStep(httpServletRequest);
1251 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1255 public void testProcessWizardStep_processSortOrderAll_case2() throws Exception {
1256 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WS_SORTING);
1257 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1258 mockHttpAttribute("showDashboardOptions","");
1259 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1261 setWizardSteps(AppConstants.WS_SORTING, AppConstants.WSS_ORDER_ALL);
1263 String[] colId = {"REP_ID", "ORDER_NO", "ROLE_ID"};
1264 String[] sortOrder = {"1", "2", "0"};
1265 String[] sortAscDesc = {"Desc", "Asc", "Desc"};
1267 mockHttpParameterValues("colId", colId);
1268 mockHttpParameterValues("sortOrder", sortOrder);
1269 mockHttpParameterValues("sortAscDesc", sortAscDesc);
1271 DataColumnType dataColumnType1 = new DataColumnType();
1273 dataColumnType1.setTableId("reportaccess");
1274 dataColumnType1.setDbColName("REP_ID");
1275 dataColumnType1.setColName("REP_ID");
1276 dataColumnType1.setDbColType("INTEGER");
1277 dataColumnType1.setDisplayName("Report Id");
1278 dataColumnType1.setOrderByAscDesc("Desc");
1279 dataColumnType1.setOrderBySeq(1);
1281 DataColumnType dataColumnType2 = new DataColumnType();
1283 dataColumnType2.setTableId("reportaccess");
1284 dataColumnType2.setDbColName("ORDER_NO");
1285 dataColumnType2.setColName("ORDER_NO");
1286 dataColumnType2.setDbColType("INTEGER");
1287 dataColumnType2.setDisplayName("Order No");
1288 dataColumnType2.setOrderByAscDesc("Desc");
1289 dataColumnType2.setOrderBySeq(1);
1291 DataColumnType dataColumnType3 = new DataColumnType();
1293 dataColumnType3.setTableId("reportaccess");
1294 dataColumnType3.setDbColName("ROLE_ID");
1295 dataColumnType3.setColName("ROLE_ID");
1296 dataColumnType3.setDbColType("INTEGER");
1297 dataColumnType3.setDisplayName("Role Id");
1298 dataColumnType3.setOrderByAscDesc("Desc");
1299 dataColumnType3.setOrderBySeq(0);
1301 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
1302 listDataColumnType.add(dataColumnType1);
1303 listDataColumnType.add(dataColumnType2);
1305 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
1307 Mockito.when(reportHandler.loadReportDefinition(httpServletRequest, "1001")).thenReturn(reportDefinition);
1309 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenAnswer(new Answer<DataColumnType>() {
1311 public DataColumnType answer(InvocationOnMock invocation) throws Throwable {
1312 Object[] args = invocation.getArguments();
1313 String inputString = (String) args[0];
1315 if ("REP_ID".equals(inputString))
1316 return dataColumnType1;
1318 else if("ORDER_NO".equals(inputString))
1319 return dataColumnType2;
1327 mockHttpAttribute("sortColId","1");
1328 wizardProcessor.processWizardStep(httpServletRequest);
1329 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1333 public void testProcessWizardStep_processSortDelete_case1() throws Exception {
1334 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_DELETE);
1335 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1336 mockHttpAttribute("showDashboardOptions","");
1337 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1339 setWizardSteps(AppConstants.WS_SORTING, AppConstants.WA_DELETE);
1340 wizardProcessor.processWizardStep(httpServletRequest);
1341 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1346 public void testProcessWizardStep_processSortMoveUp_case1() throws Exception {
1347 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_MOVE_UP);
1348 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1349 mockHttpAttribute("showDashboardOptions","");
1350 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1352 setWizardSteps(AppConstants.WS_SORTING, AppConstants.WA_MOVE_UP);
1353 wizardProcessor.processWizardStep(httpServletRequest);
1354 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1359 public void testProcessWizardStep_processSortMoveDown_case1() throws Exception {
1360 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_MOVE_DOWN);
1361 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1362 mockHttpAttribute("showDashboardOptions","");
1363 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1365 setWizardSteps(AppConstants.WS_SORTING, AppConstants.WA_MOVE_DOWN);
1366 wizardProcessor.processWizardStep(httpServletRequest);
1367 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1371 public void testProcessWizardStep_processAddJavascriptElement_case1() throws Exception {
1372 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WSS_ADD);
1373 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1374 mockHttpAttribute("showDashboardOptions","");
1375 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1377 setWizardSteps(AppConstants.WS_JAVASCRIPT, AppConstants.WSS_ADD);
1378 JavascriptItemType javascriptItemType = new JavascriptItemType();
1380 Mockito.when(reportDefinition.addJavascriptType(Mockito.anyObject(), Mockito.anyString())).thenReturn(javascriptItemType);
1381 wizardProcessor.processWizardStep(httpServletRequest);
1382 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1386 public void testProcessWizardStep_processSaveJavascriptElement_case1() throws Exception {
1387 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_SAVE);
1388 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1389 mockHttpAttribute("showDashboardOptions","");
1390 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1392 setWizardSteps(AppConstants.WS_JAVASCRIPT, AppConstants.WA_SAVE);
1394 mockHttpAttribute(AppConstants.RI_JAVASCRIPT, "document.getElementById(\"REP_ID\");");
1395 mockHttpAttribute(AppConstants.RI_JAVASCRIPT_ITEM_ID, "1");
1396 mockHttpAttribute("javascriptFormField-1", "-1");
1398 JavascriptItemType javascriptItemType = new JavascriptItemType();
1399 Mockito.when(reportDefinition.addJavascriptType(Mockito.anyObject(), Mockito.anyString())).thenReturn(javascriptItemType);
1401 wizardProcessor.processWizardStep(httpServletRequest);
1402 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1406 public void testProcessWizardStep_processSaveJavascriptElement_case2() throws Exception {
1407 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_SAVE);
1408 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1409 mockHttpAttribute("showDashboardOptions","");
1410 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1412 setWizardSteps(AppConstants.WS_JAVASCRIPT, AppConstants.WA_SAVE);
1414 mockHttpAttribute(AppConstants.RI_JAVASCRIPT, "document.getElementById(\"REP_ID\");");
1415 mockHttpAttribute(AppConstants.RI_JAVASCRIPT_ITEM_ID, "-1");
1417 mockHttpAttribute("callText--1", "document.getElementById(\\\"REP_ID\\\");");
1418 mockHttpAttribute("javascriptFormField--1", "1");
1420 JavascriptItemType javascriptItemType = new JavascriptItemType();
1421 Mockito.when(reportDefinition.addJavascriptType(Mockito.anyObject(), Mockito.anyString())).thenReturn(javascriptItemType);
1423 wizardProcessor.processWizardStep(httpServletRequest);
1424 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1428 public void testProcessWizardStep_processSaveJavascriptElement_case3() throws Exception {
1429 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_SAVE);
1430 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1431 mockHttpAttribute("showDashboardOptions","");
1432 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1434 setWizardSteps(AppConstants.WS_JAVASCRIPT, AppConstants.WA_SAVE);
1436 mockHttpAttribute(AppConstants.RI_JAVASCRIPT, "document.getElementById(\"REP_ID\");");
1437 mockHttpAttribute(AppConstants.RI_JAVASCRIPT_ITEM_ID, "-1");
1438 mockHttpAttribute("callText--1", "document.getElementById(\\\"REP_ID\\\");");
1439 mockHttpAttribute("javascriptFormField--1", "os1");
1441 JavascriptItemType javascriptItemType = new JavascriptItemType();
1442 Mockito.when(reportDefinition.addJavascriptType(Mockito.anyObject(), Mockito.anyString())).thenReturn(javascriptItemType);
1444 wizardProcessor.processWizardStep(httpServletRequest);
1445 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1449 public void testProcessWizardStep_processDeleteJavascriptElement_case1() throws Exception {
1450 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_DELETE);
1451 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1452 mockHttpAttribute("showDashboardOptions","");
1453 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1455 mockHttpAttribute(AppConstants.RI_JAVASCRIPT_ITEM_ID, "-1");
1457 setWizardSteps(AppConstants.WS_JAVASCRIPT, AppConstants.WA_DELETE);
1459 Mockito.when(reportDefinition.deleteJavascriptType(Mockito.anyString())).thenReturn(false);
1460 wizardProcessor.processWizardStep(httpServletRequest);
1462 Mockito.when(reportDefinition.deleteJavascriptType(Mockito.anyString())).thenReturn(true);
1463 wizardProcessor.processWizardStep(httpServletRequest);
1465 Mockito.verify(wizardProcessor, Mockito.times(2)).processWizardStep(httpServletRequest);
1469 public void testProcessWizardStep_processJavascript_case1() throws Exception {
1471 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_MOVE_UP);
1472 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1473 mockHttpAttribute("showDashboardOptions","");
1474 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1476 mockHttpAttribute(AppConstants.RI_JAVASCRIPT_ITEM_ID, "-1");
1478 setWizardSteps(AppConstants.WS_JAVASCRIPT, AppConstants.WA_SAVE);
1480 mockHttpAttribute(AppConstants.RI_JAVASCRIPT, "document.getElementById(\"REP_ID\");");
1481 mockHttpAttribute(AppConstants.RI_JAVASCRIPT_ITEM_ID, "1");
1482 mockHttpAttribute("javascriptFormField-1", "-1");
1483 JavascriptItemType javascriptItemType = new JavascriptItemType();
1484 Mockito.when(reportDefinition.addJavascriptType(Mockito.anyObject(), Mockito.anyString())).thenReturn(javascriptItemType);
1486 wizardProcessor.processWizardStep(httpServletRequest);
1487 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1493 public void testProcessWizardStep_processChart_MultiplePieChart_case1() throws Exception {
1495 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "WIZ_ACTION");
1496 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1497 mockHttpAttribute("showDashboardOptions","");
1498 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1499 mockHttpAttribute("blueBarField", "REPORT ID");
1501 setWizardSteps(AppConstants.WS_CHART, AppConstants.WA_SAVE);
1503 mockHttpAttribute("chartType", AppConstants.GT_PIE_MULTIPLE);
1504 mockHttpAttribute("chartTypeFixed", "N");
1505 mockHttpAttribute("legendCol", "MULTI COLUMN");
1506 mockHttpAttribute("leftAxisLabel", "USER");
1507 mockHttpAttribute("rightAxisLabel", "TIME");
1508 mockHttpAttribute("chartWidth", "500");
1509 mockHttpAttribute("chartHeight", "500");
1510 mockHttpAttribute("multiSeries", "N");
1511 mockHttpAttribute("lastSeriesALineChart", "N");
1512 mockHttpAttribute("lastSeriesABarChart", "N");
1513 mockHttpAttribute("animatedOption", "animate");
1515 mockHttpAttribute("multiplePieOrder", "N");
1516 mockHttpAttribute("multiplePieLabelDisplay", "N");
1517 mockHttpAttribute("chartDisplay", "N");
1518 mockHttpAttribute("animatedOption", "N");
1519 mockHttpAttribute("multiplePieOrderInRunPage", "Y");
1520 mockHttpAttribute("multiplePieLabelDisplayInRunPage", "Y");
1521 mockHttpAttribute("chartDisplayInRunPage", "Y");
1523 mockHttpAttribute("yAxisLowerLimit", "500");
1524 mockHttpAttribute("yAxisUpperLimit", "1200");
1525 mockHttpAttribute("labelAngle", "N");
1526 mockHttpAttribute("legendPosition", "Top");
1527 mockHttpAttribute("labelAngle", "N");
1528 mockHttpAttribute("maxLabelsInDomainAxis", "N");
1529 mockHttpAttribute("hideLegend", "labelAngle");
1530 mockHttpAttribute("showLegendDisplayOptionsInRunPage", "N");
1531 mockHttpAttribute("hideTooltips", "N");
1532 mockHttpAttribute("keepAsString", "N");
1534 mockHttpAttribute("drillDownReport", "-1");
1536 mockHttpAttribute("newChart1Axis", "1");
1537 mockHttpAttribute("valueCol1", "");
1538 mockHttpAttribute("valueCol1Color", "1");
1539 mockHttpAttribute("valueColAxis", "1");
1540 mockHttpAttribute("chartGroupAxis", "1");
1541 mockHttpAttribute("YAxisLabel", "1");
1543 DataColumnType dataColumnType = new DataColumnType();
1544 ChartDrillOptions chartDrillOptions = new ChartDrillOptions();
1546 List<ChartDrillFormfield> listChartDrillFormfield = chartDrillOptions.getTargetFormfield();
1547 ChartDrillFormfield chartDrillFormfield = new ChartDrillFormfield();
1548 chartDrillFormfield.setFormfield("REPORT_ID");
1549 listChartDrillFormfield.add(chartDrillFormfield);
1551 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
1552 Mockito.when(reportDefinition.getChartDrillOptions()).thenReturn(chartDrillOptions);
1554 wizardProcessor.processWizardStep(httpServletRequest);
1557 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
1558 Mockito.when(reportDefinition.getChartAdditionalOptions()).thenReturn(chartAdditionalOptions);
1560 mockHttpAttribute("leftAxisLabel", "");
1561 mockHttpAttribute("rightAxisLabel", "");
1563 wizardProcessor.processWizardStep(httpServletRequest);
1565 Mockito.verify(wizardProcessor, Mockito.times(2)).processWizardStep(httpServletRequest);
1569 public void testProcessWizardStep_processChart_MultiplePieChart_case2() throws Exception {
1571 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "WIZ_ACTION");
1572 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1573 mockHttpAttribute("showDashboardOptions","");
1574 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1575 mockHttpAttribute("blueBarField", "REPORT ID");
1577 setWizardSteps(AppConstants.WS_CHART, AppConstants.WA_SAVE);
1579 mockHttpAttribute("chartType", AppConstants.GT_PIE_MULTIPLE);
1580 mockHttpAttribute("chartTypeFixed", "N");
1581 mockHttpAttribute("legendCol", "REP_ID");
1582 mockHttpAttribute("leftAxisLabel", "");
1583 mockHttpAttribute("rightAxisLabel", "");
1584 mockHttpAttribute("chartWidth", "500");
1585 mockHttpAttribute("chartHeight", "500");
1586 mockHttpAttribute("multiSeries", "N");
1587 mockHttpAttribute("lastSeriesALineChart", "N");
1588 mockHttpAttribute("lastSeriesABarChart", "N");
1589 mockHttpAttribute("animatedOption", "animate");
1591 mockHttpAttribute("multiplePieOrder", "N");
1592 mockHttpAttribute("multiplePieLabelDisplay", "N");
1593 mockHttpAttribute("chartDisplay", "N");
1594 mockHttpAttribute("animatedOption", "N");
1595 mockHttpAttribute("multiplePieOrderInRunPage", "Y");
1596 mockHttpAttribute("multiplePieLabelDisplayInRunPage", "Y");
1597 mockHttpAttribute("chartDisplayInRunPage", "Y");
1599 mockHttpAttribute("yAxisLowerLimit", "500");
1600 mockHttpAttribute("yAxisUpperLimit", "1200");
1601 mockHttpAttribute("labelAngle", "N");
1602 mockHttpAttribute("legendPosition", "Top");
1603 mockHttpAttribute("labelAngle", "N");
1604 mockHttpAttribute("maxLabelsInDomainAxis", "N");
1605 mockHttpAttribute("hideLegend", "labelAngle");
1606 mockHttpAttribute("showLegendDisplayOptionsInRunPage", "N");
1607 mockHttpAttribute("hideTooltips", "N");
1608 mockHttpAttribute("keepAsString", "N");
1610 mockHttpAttribute("drillDownReport", "-1");
1612 mockHttpAttribute("newChart1Axis", "1");
1613 mockHttpAttribute("valueCol1", "");
1614 mockHttpAttribute("valueCol1Color", "1");
1615 mockHttpAttribute("valueColAxis", "1");
1616 mockHttpAttribute("chartGroupAxis", "1");
1617 mockHttpAttribute("YAxisLabel", "1");
1619 DataColumnType dataColumnType = new DataColumnType();
1621 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
1623 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
1624 Mockito.when(reportDefinition.getChartAdditionalOptions()).thenReturn(chartAdditionalOptions);
1626 ChartDrillOptions chartDrillOptions = new ChartDrillOptions();
1628 List<ChartDrillFormfield> listChartDrillFormfield = chartDrillOptions.getTargetFormfield();
1629 ChartDrillFormfield chartDrillFormfield = new ChartDrillFormfield();
1630 chartDrillFormfield.setFormfield("REPORT_ID");
1631 listChartDrillFormfield.add(chartDrillFormfield);
1633 DataColumnType dataColumnType1 = new DataColumnType();
1635 dataColumnType1.setTableId("reportaccess");
1636 dataColumnType1.setDbColName("REP_ID");
1637 dataColumnType1.setColName("REP_ID");
1638 dataColumnType1.setDbColType("INTEGER");
1639 dataColumnType1.setDisplayName("Report Id");
1640 dataColumnType1.setColId("REP_ID");
1641 dataColumnType1.setColOnChart(AppConstants.GT_COMPARE_PREVYEAR_CHART);
1643 DataColumnType dataColumnType2 = new DataColumnType();
1645 dataColumnType2.setTableId("reportaccess");
1646 dataColumnType2.setDbColName("ORDER_NO");
1647 dataColumnType2.setColName("ORDER_NO");
1648 dataColumnType2.setDbColType("INTEGER");
1649 dataColumnType2.setDisplayName("Order No");
1650 dataColumnType2.setColId("ORDER_NO");
1652 dataColumnType2.setColOnChart(AppConstants.GC_LEGEND);
1655 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
1656 listDataColumnType.add(dataColumnType1);
1657 listDataColumnType.add(dataColumnType2);
1659 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
1660 Mockito.when(reportDefinition.getChartDrillOptions()).thenReturn(chartDrillOptions);
1662 wizardProcessor.processWizardStep(httpServletRequest);
1664 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1669 public void testProcessWizardStep_processChart_RegressionPlotChart_case1() throws Exception {
1670 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "WIZ_ACTION");
1671 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1672 mockHttpAttribute("showDashboardOptions","");
1673 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1674 mockHttpAttribute("blueBarField", "REPORT ID");
1676 setWizardSteps(AppConstants.WS_CHART, AppConstants.WA_SAVE);
1678 mockHttpAttribute("chartType", AppConstants.GT_REGRESSION);
1679 mockHttpAttribute("chartTypeFixed", "N");
1680 mockHttpAttribute("legendCol", "REP_ID");
1681 mockHttpAttribute("leftAxisLabel", "");
1682 mockHttpAttribute("rightAxisLabel", "");
1683 mockHttpAttribute("chartWidth", "500");
1684 mockHttpAttribute("chartHeight", "500");
1685 mockHttpAttribute("multiSeries", "N");
1686 mockHttpAttribute("lastSeriesALineChart", "N");
1687 mockHttpAttribute("lastSeriesABarChart", "N");
1688 mockHttpAttribute("animatedOption", "animate");
1690 mockHttpAttribute("multiplePieOrder", "N");
1691 mockHttpAttribute("multiplePieLabelDisplay", "N");
1692 mockHttpAttribute("chartDisplay", "N");
1693 mockHttpAttribute("animatedOption", "N");
1694 mockHttpAttribute("multiplePieOrderInRunPage", "Y");
1695 mockHttpAttribute("multiplePieLabelDisplayInRunPage", "Y");
1696 mockHttpAttribute("chartDisplayInRunPage", "Y");
1698 mockHttpAttribute("yAxisLowerLimit", "500");
1699 mockHttpAttribute("yAxisUpperLimit", "1200");
1700 mockHttpAttribute("labelAngle", "N");
1701 mockHttpAttribute("legendPosition", "Top");
1702 mockHttpAttribute("labelAngle", "N");
1703 mockHttpAttribute("maxLabelsInDomainAxis", "N");
1704 mockHttpAttribute("hideLegend", "labelAngle");
1705 mockHttpAttribute("showLegendDisplayOptionsInRunPage", "N");
1706 mockHttpAttribute("hideTooltips", "N");
1707 mockHttpAttribute("keepAsString", "N");
1709 mockHttpAttribute("drillDownReport", "-1");
1711 mockHttpAttribute("newChart1Axis", "1");
1712 mockHttpAttribute("valueCol1", "");
1713 mockHttpAttribute("valueCol1Color", "1");
1714 mockHttpAttribute("valueColAxis", "1");
1715 mockHttpAttribute("chartGroupAxis", "1");
1716 mockHttpAttribute("YAxisLabel", "1");
1718 mockHttpAttribute("regressionType", "Y");
1719 mockHttpAttribute("valueLinearRegressionColor", "Y");
1720 mockHttpAttribute("valueExponentialRegressionColor", "BLUE");
1721 mockHttpAttribute("regressionPointCustomization", "YELLOW");
1723 mockHttpAttribute("chartSeries", "REP_ID");
1725 DataColumnType dataColumnType = new DataColumnType();
1727 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
1729 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
1730 Mockito.when(reportDefinition.getChartAdditionalOptions()).thenReturn(chartAdditionalOptions);
1732 ChartDrillOptions chartDrillOptions = new ChartDrillOptions();
1734 List<ChartDrillFormfield> listChartDrillFormfield = chartDrillOptions.getTargetFormfield();
1735 ChartDrillFormfield chartDrillFormfield = new ChartDrillFormfield();
1736 chartDrillFormfield.setFormfield("REPORT_ID");
1737 listChartDrillFormfield.add(chartDrillFormfield);
1739 DataColumnType dataColumnType1 = new DataColumnType();
1741 dataColumnType1.setTableId("reportaccess");
1742 dataColumnType1.setDbColName("REP_ID");
1743 dataColumnType1.setColName("REP_ID");
1744 dataColumnType1.setDbColType("INTEGER");
1745 dataColumnType1.setDisplayName("Report Id");
1746 dataColumnType1.setColId("REP_ID");
1747 dataColumnType1.setColOnChart(AppConstants.GT_COMPARE_PREVYEAR_CHART);
1749 DataColumnType dataColumnType2 = new DataColumnType();
1751 dataColumnType2.setTableId("reportaccess");
1752 dataColumnType2.setDbColName("ORDER_NO");
1753 dataColumnType2.setColName("ORDER_NO");
1754 dataColumnType2.setDbColType("INTEGER");
1755 dataColumnType2.setDisplayName("Order No");
1756 dataColumnType2.setColId("ORDER_NO");
1758 dataColumnType2.setColOnChart(AppConstants.GC_LEGEND);
1761 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
1762 listDataColumnType.add(dataColumnType1);
1763 listDataColumnType.add(dataColumnType2);
1765 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
1767 Mockito.when(reportDefinition.getChartDrillOptions()).thenReturn(chartDrillOptions);
1769 wizardProcessor.processWizardStep(httpServletRequest);
1771 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1776 public void testProcessWizardStep_processChart_RegressionPlotChart_case2() throws Exception {
1778 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "WIZ_ACTION");
1779 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1780 mockHttpAttribute("showDashboardOptions","");
1781 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1782 mockHttpAttribute("blueBarField", "REPORT ID");
1784 setWizardSteps(AppConstants.WS_CHART, AppConstants.WA_SAVE);
1786 mockHttpAttribute("chartType", AppConstants.GT_REGRESSION);
1787 mockHttpAttribute("chartTypeFixed", "N");
1788 mockHttpAttribute("legendCol", "REP_ID");
1789 mockHttpAttribute("leftAxisLabel", "");
1790 mockHttpAttribute("rightAxisLabel", "");
1791 mockHttpAttribute("chartWidth", "500");
1792 mockHttpAttribute("chartHeight", "500");
1793 mockHttpAttribute("multiSeries", "N");
1794 mockHttpAttribute("lastSeriesALineChart", "N");
1795 mockHttpAttribute("lastSeriesABarChart", "N");
1796 mockHttpAttribute("animatedOption", "animate");
1798 mockHttpAttribute("multiplePieOrder", "N");
1799 mockHttpAttribute("multiplePieLabelDisplay", "N");
1800 mockHttpAttribute("chartDisplay", "N");
1801 mockHttpAttribute("animatedOption", "N");
1802 mockHttpAttribute("multiplePieOrderInRunPage", "Y");
1803 mockHttpAttribute("multiplePieLabelDisplayInRunPage", "Y");
1804 mockHttpAttribute("chartDisplayInRunPage", "Y");
1806 mockHttpAttribute("yAxisLowerLimit", "500");
1807 mockHttpAttribute("yAxisUpperLimit", "1200");
1808 mockHttpAttribute("labelAngle", "N");
1809 mockHttpAttribute("legendPosition", "Top");
1810 mockHttpAttribute("labelAngle", "N");
1811 mockHttpAttribute("maxLabelsInDomainAxis", "N");
1812 mockHttpAttribute("hideLegend", "labelAngle");
1813 mockHttpAttribute("showLegendDisplayOptionsInRunPage", "N");
1814 mockHttpAttribute("hideTooltips", "N");
1815 mockHttpAttribute("keepAsString", "N");
1817 mockHttpAttribute("drillDownReport", "-1");
1819 mockHttpAttribute("newChart1Axis", "1");
1820 mockHttpAttribute("valueCol1", "");
1821 mockHttpAttribute("valueCol1Color", "1");
1822 mockHttpAttribute("valueColAxis", "1");
1823 mockHttpAttribute("chartGroupAxis", "1");
1824 mockHttpAttribute("YAxisLabel", "1");
1826 mockHttpAttribute("regressionType", "");
1827 mockHttpAttribute("valueLinearRegressionColor", "Y");
1828 mockHttpAttribute("valueExponentialRegressionColor", "BLUE");
1829 mockHttpAttribute("regressionPointCustomization", "YELLOW");
1831 mockHttpAttribute("chartSeries", "REP_ID");
1833 DataColumnType dataColumnType = new DataColumnType();
1835 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
1837 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
1838 Mockito.when(reportDefinition.getChartAdditionalOptions()).thenReturn(chartAdditionalOptions);
1841 ChartDrillOptions chartDrillOptions = new ChartDrillOptions();
1843 List<ChartDrillFormfield> listChartDrillFormfield = chartDrillOptions.getTargetFormfield();
1844 ChartDrillFormfield chartDrillFormfield = new ChartDrillFormfield();
1845 chartDrillFormfield.setFormfield("REPORT_ID");
1846 listChartDrillFormfield.add(chartDrillFormfield);
1849 DataColumnType dataColumnType1 = new DataColumnType();
1851 dataColumnType1.setTableId("reportaccess");
1852 dataColumnType1.setDbColName("REP_ID");
1853 dataColumnType1.setColName("REP_ID");
1854 dataColumnType1.setDbColType("INTEGER");
1855 dataColumnType1.setDisplayName("Report Id");
1856 dataColumnType1.setColId("REP_ID");
1857 dataColumnType1.setColOnChart(AppConstants.GT_COMPARE_PREVYEAR_CHART);
1859 DataColumnType dataColumnType2 = new DataColumnType();
1861 dataColumnType2.setTableId("reportaccess");
1862 dataColumnType2.setDbColName("ORDER_NO");
1863 dataColumnType2.setColName("ORDER_NO");
1864 dataColumnType2.setDbColType("INTEGER");
1865 dataColumnType2.setDisplayName("Order No");
1866 dataColumnType2.setColId("ORDER_NO");
1868 dataColumnType2.setColOnChart(AppConstants.GC_LEGEND);
1871 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
1872 listDataColumnType.add(dataColumnType1);
1873 listDataColumnType.add(dataColumnType2);
1875 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
1877 Mockito.when(reportDefinition.getChartDrillOptions()).thenReturn(chartDrillOptions);
1879 wizardProcessor.processWizardStep(httpServletRequest);
1881 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1886 public void testProcessWizardStep_processChart_BarChart3D_case1() throws Exception {
1887 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "WIZ_ACTION");
1888 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1889 mockHttpAttribute("showDashboardOptions","");
1890 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
1891 mockHttpAttribute("blueBarField", "REPORT ID");
1893 setWizardSteps(AppConstants.WS_CHART, AppConstants.WA_SAVE);
1895 mockHttpAttribute("chartType", AppConstants.GT_BAR_3D);
1896 mockHttpAttribute("chartTypeFixed", "N");
1897 mockHttpAttribute("legendCol", "REP_ID");
1898 mockHttpAttribute("leftAxisLabel", "");
1899 mockHttpAttribute("rightAxisLabel", "");
1900 mockHttpAttribute("chartWidth", "500");
1901 mockHttpAttribute("chartHeight", "500");
1902 mockHttpAttribute("multiSeries", "N");
1903 mockHttpAttribute("lastSeriesALineChart", "N");
1904 mockHttpAttribute("lastSeriesABarChart", "N");
1905 mockHttpAttribute("animatedOption", "animate");
1907 mockHttpAttribute("chartGroup", "Group");
1908 mockHttpAttribute("drillDownReport", "DrillDown");
1909 mockHttpAttribute("yAxis", "Y");
1910 mockHttpAttribute("drillDownReport", "-1");
1912 mockHttpAttribute("drillDownXAxisFormfield", "1");
1913 mockHttpAttribute("drillDownYAxisFormfield", "1");
1914 mockHttpAttribute("drillDownSeriesAxisFormfield", "1");
1916 mockHttpAttribute("yAxisLowerLimit", "500");
1917 mockHttpAttribute("yAxisUpperLimit", "1200");
1918 mockHttpAttribute("labelAngle", "N");
1919 mockHttpAttribute("legendPosition", "Top");
1920 mockHttpAttribute("labelAngle", "N");
1921 mockHttpAttribute("maxLabelsInDomainAxis", "N");
1922 mockHttpAttribute("hideLegend", "labelAngle");
1923 mockHttpAttribute("showLegendDisplayOptionsInRunPage", "N");
1924 mockHttpAttribute("hideTooltips", "N");
1925 mockHttpAttribute("keepAsString", "N");
1927 mockHttpAttribute("drillDownReport", "-1");
1929 mockHttpAttribute("newChart1Axis", "1");
1930 mockHttpAttribute("valueCol1", "");
1931 mockHttpAttribute("valueCol1Color", "1");
1932 mockHttpAttribute("valueColAxis", "1");
1933 mockHttpAttribute("chartGroupAxis", "1");
1934 mockHttpAttribute("YAxisLabel", "1");
1937 mockHttpAttribute("chartOrientation", "1");
1938 mockHttpAttribute("secondaryChartRenderer", "1");
1939 mockHttpAttribute("chartDisplay", "1");
1940 mockHttpAttribute("chartOrientationInRunPage", "1");
1941 mockHttpAttribute("secondaryChartRendererInRunPage", "1");
1942 mockHttpAttribute("chartDisplayInRunPage", "1");
1944 mockHttpAttribute("chartSeries", "REP_ID");
1946 DataColumnType dataColumnType = new DataColumnType();
1948 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
1950 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
1951 Mockito.when(reportDefinition.getChartAdditionalOptions()).thenReturn(chartAdditionalOptions);
1953 ChartDrillOptions chartDrillOptions = new ChartDrillOptions();
1955 List<ChartDrillFormfield> listChartDrillFormfield = chartDrillOptions.getTargetFormfield();
1956 ChartDrillFormfield chartDrillFormfield = new ChartDrillFormfield();
1957 chartDrillFormfield.setFormfield("REPORT_ID");
1958 listChartDrillFormfield.add(chartDrillFormfield);
1960 DataColumnType dataColumnType1 = new DataColumnType();
1962 dataColumnType1.setTableId("reportaccess");
1963 dataColumnType1.setDbColName("REP_ID");
1964 dataColumnType1.setColName("REP_ID");
1965 dataColumnType1.setDbColType("INTEGER");
1966 dataColumnType1.setDisplayName("Report Id");
1967 dataColumnType1.setColId("REP_ID");
1968 dataColumnType1.setColOnChart(AppConstants.GT_COMPARE_PREVYEAR_CHART);
1970 DataColumnType dataColumnType2 = new DataColumnType();
1972 dataColumnType2.setTableId("reportaccess");
1973 dataColumnType2.setDbColName("ORDER_NO");
1974 dataColumnType2.setColName("ORDER_NO");
1975 dataColumnType2.setDbColType("INTEGER");
1976 dataColumnType2.setDisplayName("Order No");
1977 dataColumnType2.setColId("ORDER_NO");
1979 dataColumnType2.setColOnChart(AppConstants.GC_LEGEND);
1981 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
1982 listDataColumnType.add(dataColumnType1);
1983 listDataColumnType.add(dataColumnType2);
1985 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
1987 Mockito.when(reportDefinition.getChartDrillOptions()).thenReturn(chartDrillOptions);
1989 wizardProcessor.processWizardStep(httpServletRequest);
1991 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
1995 public void testProcessWizardStep_processChart_BarChart3D_case2() throws Exception {
1996 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "WIZ_ACTION");
1997 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
1998 mockHttpAttribute("showDashboardOptions","");
1999 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
2000 mockHttpAttribute("blueBarField", "REPORT ID");
2002 setWizardSteps(AppConstants.WS_CHART, AppConstants.WA_SAVE);
2004 mockHttpAttribute("chartType", AppConstants.GT_BAR_3D);
2005 mockHttpAttribute("chartTypeFixed", "N");
2006 mockHttpAttribute("legendCol", "REP_ID");
2007 mockHttpAttribute("leftAxisLabel", "");
2008 mockHttpAttribute("rightAxisLabel", "");
2009 mockHttpAttribute("chartWidth", "500");
2010 mockHttpAttribute("chartHeight", "500");
2011 mockHttpAttribute("multiSeries", "N");
2012 mockHttpAttribute("lastSeriesALineChart", "N");
2013 mockHttpAttribute("lastSeriesABarChart", "N");
2014 mockHttpAttribute("animatedOption", "animate");
2016 mockHttpAttribute("chartGroup", "Group");
2017 mockHttpAttribute("drillDownReport", "DrillDown");
2018 mockHttpAttribute("yAxis", "Y");
2019 mockHttpAttribute("drillDownReport", "-1");
2021 mockHttpAttribute("drillDownXAxisFormfield", "-1");
2022 mockHttpAttribute("drillDownYAxisFormfield", "-1");
2023 mockHttpAttribute("drillDownSeriesAxisFormfield", "-1");
2026 mockHttpAttribute("yAxisLowerLimit", "500");
2027 mockHttpAttribute("yAxisUpperLimit", "1200");
2028 mockHttpAttribute("labelAngle", "N");
2029 mockHttpAttribute("legendPosition", "Top");
2030 mockHttpAttribute("labelAngle", "N");
2031 mockHttpAttribute("maxLabelsInDomainAxis", "N");
2032 mockHttpAttribute("hideLegend", "labelAngle");
2033 mockHttpAttribute("showLegendDisplayOptionsInRunPage", "N");
2034 mockHttpAttribute("hideTooltips", "N");
2035 mockHttpAttribute("keepAsString", "N");
2037 mockHttpAttribute("drillDownReport", "-1");
2039 mockHttpAttribute("newChart1Axis", "1");
2040 mockHttpAttribute("valueCol1", "");
2041 mockHttpAttribute("valueCol1Color", "1");
2042 mockHttpAttribute("valueColAxis", "1");
2043 mockHttpAttribute("chartGroupAxis", "1");
2044 mockHttpAttribute("YAxisLabel", "1");
2046 mockHttpAttribute("chartOrientation", "1");
2047 mockHttpAttribute("secondaryChartRenderer", "1");
2048 mockHttpAttribute("chartDisplay", "1");
2049 mockHttpAttribute("chartOrientationInRunPage", "1");
2050 mockHttpAttribute("secondaryChartRendererInRunPage", "1");
2051 mockHttpAttribute("chartDisplayInRunPage", "1");
2053 mockHttpAttribute("chartSeries", "REP_ID");
2055 DataColumnType dataColumnType = new DataColumnType();
2057 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
2059 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
2060 Mockito.when(reportDefinition.getChartAdditionalOptions()).thenReturn(chartAdditionalOptions);
2062 ChartDrillOptions chartDrillOptions = new ChartDrillOptions();
2064 List<ChartDrillFormfield> listChartDrillFormfield = chartDrillOptions.getTargetFormfield();
2065 ChartDrillFormfield chartDrillFormfield = new ChartDrillFormfield();
2066 chartDrillFormfield.setFormfield("REPORT_ID");
2067 listChartDrillFormfield.add(chartDrillFormfield);
2070 DataColumnType dataColumnType1 = new DataColumnType();
2072 dataColumnType1.setTableId("reportaccess");
2073 dataColumnType1.setDbColName("REP_ID");
2074 dataColumnType1.setColName("REP_ID");
2075 dataColumnType1.setDbColType("INTEGER");
2076 dataColumnType1.setDisplayName("Report Id");
2077 dataColumnType1.setColId("REP_ID");
2078 dataColumnType1.setColOnChart(AppConstants.GT_COMPARE_PREVYEAR_CHART);
2080 DataColumnType dataColumnType2 = new DataColumnType();
2082 dataColumnType2.setTableId("reportaccess");
2083 dataColumnType2.setDbColName("ORDER_NO");
2084 dataColumnType2.setColName("ORDER_NO");
2085 dataColumnType2.setDbColType("INTEGER");
2086 dataColumnType2.setDisplayName("Order No");
2087 dataColumnType2.setColId("ORDER_NO");
2089 dataColumnType2.setColOnChart(AppConstants.GC_LEGEND);
2092 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
2093 listDataColumnType.add(dataColumnType1);
2094 listDataColumnType.add(dataColumnType2);
2096 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
2098 Mockito.when(reportDefinition.getChartDrillOptions()).thenReturn(chartDrillOptions);
2100 wizardProcessor.processWizardStep(httpServletRequest);
2102 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
2107 public void testProcessWizardStep_processChart_LineChart_case1() throws Exception {
2108 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "WIZ_ACTION");
2109 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
2110 mockHttpAttribute("showDashboardOptions","");
2111 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
2112 mockHttpAttribute("blueBarField", "REPORT ID");
2114 setWizardSteps(AppConstants.WS_CHART, AppConstants.WA_SAVE);
2116 mockHttpAttribute("chartType", AppConstants.GT_LINE);
2117 mockHttpAttribute("chartTypeFixed", "N");
2118 mockHttpAttribute("legendCol", "REP_ID");
2119 mockHttpAttribute("leftAxisLabel", "");
2120 mockHttpAttribute("rightAxisLabel", "");
2121 mockHttpAttribute("chartWidth", "500");
2122 mockHttpAttribute("chartHeight", "500");
2123 mockHttpAttribute("multiSeries", "N");
2124 mockHttpAttribute("lastSeriesALineChart", "N");
2125 mockHttpAttribute("lastSeriesABarChart", "N");
2126 mockHttpAttribute("animatedOption", "animate");
2128 mockHttpAttribute("chartGroup", "Group");
2129 mockHttpAttribute("drillDownReport", "DrillDown");
2130 mockHttpAttribute("yAxis", "Y");
2131 mockHttpAttribute("drillDownReport", "-1");
2133 mockHttpAttribute("drillDownXAxisFormfield", "-1");
2134 mockHttpAttribute("drillDownYAxisFormfield", "-1");
2135 mockHttpAttribute("drillDownSeriesAxisFormfield", "-1");
2138 mockHttpAttribute("yAxisLowerLimit", "500");
2139 mockHttpAttribute("yAxisUpperLimit", "1200");
2140 mockHttpAttribute("labelAngle", "N");
2141 mockHttpAttribute("legendPosition", "Top");
2142 mockHttpAttribute("labelAngle", "N");
2143 mockHttpAttribute("maxLabelsInDomainAxis", "N");
2144 mockHttpAttribute("hideLegend", "labelAngle");
2145 mockHttpAttribute("showLegendDisplayOptionsInRunPage", "N");
2146 mockHttpAttribute("hideTooltips", "N");
2147 mockHttpAttribute("keepAsString", "N");
2149 mockHttpAttribute("drillDownReport", "-1");
2151 mockHttpAttribute("newChart1Axis", "1");
2152 mockHttpAttribute("valueCol1", "");
2153 mockHttpAttribute("valueCol1Color", "1");
2154 mockHttpAttribute("valueColAxis", "1");
2155 mockHttpAttribute("chartGroupAxis", "1");
2156 mockHttpAttribute("YAxisLabel", "1");
2158 mockHttpAttribute("chartOrientation", "1");
2159 mockHttpAttribute("secondaryChartRenderer", "1");
2160 mockHttpAttribute("chartDisplay", "1");
2161 mockHttpAttribute("chartOrientationInRunPage", "1");
2162 mockHttpAttribute("secondaryChartRendererInRunPage", "1");
2163 mockHttpAttribute("chartDisplayInRunPage", "1");
2165 mockHttpAttribute("chartSeries", "REP_ID");
2167 DataColumnType dataColumnType = new DataColumnType();
2169 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
2171 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
2172 Mockito.when(reportDefinition.getChartAdditionalOptions()).thenReturn(chartAdditionalOptions);
2174 ChartDrillOptions chartDrillOptions = new ChartDrillOptions();
2176 List<ChartDrillFormfield> listChartDrillFormfield = chartDrillOptions.getTargetFormfield();
2177 ChartDrillFormfield chartDrillFormfield = new ChartDrillFormfield();
2178 chartDrillFormfield.setFormfield("REPORT_ID");
2179 listChartDrillFormfield.add(chartDrillFormfield);
2181 DataColumnType dataColumnType1 = new DataColumnType();
2183 dataColumnType1.setTableId("reportaccess");
2184 dataColumnType1.setDbColName("REP_ID");
2185 dataColumnType1.setColName("REP_ID");
2186 dataColumnType1.setDbColType("INTEGER");
2187 dataColumnType1.setDisplayName("Report Id");
2188 dataColumnType1.setColId("REP_ID");
2189 dataColumnType1.setColOnChart(AppConstants.GT_COMPARE_PREVYEAR_CHART);
2191 DataColumnType dataColumnType2 = new DataColumnType();
2193 dataColumnType2.setTableId("reportaccess");
2194 dataColumnType2.setDbColName("ORDER_NO");
2195 dataColumnType2.setColName("ORDER_NO");
2196 dataColumnType2.setDbColType("INTEGER");
2197 dataColumnType2.setDisplayName("Order No");
2198 dataColumnType2.setColId("ORDER_NO");
2200 dataColumnType2.setColOnChart(AppConstants.GC_LEGEND);
2202 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
2203 listDataColumnType.add(dataColumnType1);
2204 listDataColumnType.add(dataColumnType2);
2206 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
2207 Mockito.when(reportDefinition.getChartDrillOptions()).thenReturn(chartDrillOptions);
2209 wizardProcessor.processWizardStep(httpServletRequest);
2211 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
2216 public void testProcessWizardStep_processChart_TimeDifferenceChart_case1() throws Exception {
2217 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "WIZ_ACTION");
2218 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
2219 mockHttpAttribute("showDashboardOptions","");
2220 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
2221 mockHttpAttribute("blueBarField", "REPORT ID");
2223 setWizardSteps(AppConstants.WS_CHART, AppConstants.WA_SAVE);
2225 mockHttpAttribute("chartType", AppConstants.GT_TIME_DIFFERENCE_CHART);
2226 mockHttpAttribute("chartTypeFixed", "N");
2227 mockHttpAttribute("legendCol", "REP_ID");
2228 mockHttpAttribute("leftAxisLabel", "");
2229 mockHttpAttribute("rightAxisLabel", "");
2230 mockHttpAttribute("chartWidth", "500");
2231 mockHttpAttribute("chartHeight", "500");
2232 mockHttpAttribute("multiSeries", "N");
2233 mockHttpAttribute("lastSeriesALineChart", "N");
2234 mockHttpAttribute("lastSeriesABarChart", "N");
2235 mockHttpAttribute("animatedOption", "animate");
2237 mockHttpAttribute("intervalFromDate", "Y");
2238 mockHttpAttribute("intervalToDate", "Y");
2239 mockHttpAttribute("intervalLabel", "Y");
2240 mockHttpAttribute("intervalInputInRunPage", "Y");
2243 mockHttpAttribute("chartGroup", "Group");
2244 mockHttpAttribute("drillDownReport", "DrillDown");
2245 mockHttpAttribute("yAxis", "Y");
2246 mockHttpAttribute("drillDownReport", "-1");
2248 mockHttpAttribute("drillDownXAxisFormfield", "-1");
2249 mockHttpAttribute("drillDownYAxisFormfield", "-1");
2250 mockHttpAttribute("drillDownSeriesAxisFormfield", "-1");
2253 mockHttpAttribute("yAxisLowerLimit", "500");
2254 mockHttpAttribute("yAxisUpperLimit", "1200");
2255 mockHttpAttribute("labelAngle", "N");
2256 mockHttpAttribute("legendPosition", "Top");
2257 mockHttpAttribute("labelAngle", "N");
2258 mockHttpAttribute("maxLabelsInDomainAxis", "N");
2259 mockHttpAttribute("hideLegend", "labelAngle");
2260 mockHttpAttribute("showLegendDisplayOptionsInRunPage", "N");
2261 mockHttpAttribute("hideTooltips", "N");
2262 mockHttpAttribute("keepAsString", "N");
2264 mockHttpAttribute("drillDownReport", "-1");
2266 mockHttpAttribute("newChart1Axis", "1");
2267 mockHttpAttribute("valueCol1", "");
2268 mockHttpAttribute("valueCol1Color", "1");
2269 mockHttpAttribute("valueColAxis", "1");
2270 mockHttpAttribute("chartGroupAxis", "1");
2271 mockHttpAttribute("YAxisLabel", "1");
2274 mockHttpAttribute("chartOrientation", "1");
2275 mockHttpAttribute("secondaryChartRenderer", "1");
2276 mockHttpAttribute("chartDisplay", "1");
2277 mockHttpAttribute("chartOrientationInRunPage", "1");
2278 mockHttpAttribute("secondaryChartRendererInRunPage", "1");
2279 mockHttpAttribute("chartDisplayInRunPage", "1");
2281 mockHttpAttribute("chartSeries", "REP_ID");
2283 DataColumnType dataColumnType = new DataColumnType();
2285 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
2287 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
2288 Mockito.when(reportDefinition.getChartAdditionalOptions()).thenReturn(chartAdditionalOptions);
2291 ChartDrillOptions chartDrillOptions = new ChartDrillOptions();
2293 List<ChartDrillFormfield> listChartDrillFormfield = chartDrillOptions.getTargetFormfield();
2294 ChartDrillFormfield chartDrillFormfield = new ChartDrillFormfield();
2295 chartDrillFormfield.setFormfield("REPORT_ID");
2296 listChartDrillFormfield.add(chartDrillFormfield);
2299 DataColumnType dataColumnType1 = new DataColumnType();
2301 dataColumnType1.setTableId("reportaccess");
2302 dataColumnType1.setDbColName("REP_ID");
2303 dataColumnType1.setColName("REP_ID");
2304 dataColumnType1.setDbColType("INTEGER");
2305 dataColumnType1.setDisplayName("Report Id");
2306 dataColumnType1.setColId("REP_ID");
2307 dataColumnType1.setColOnChart(AppConstants.GT_COMPARE_PREVYEAR_CHART);
2309 DataColumnType dataColumnType2 = new DataColumnType();
2311 dataColumnType2.setTableId("reportaccess");
2312 dataColumnType2.setDbColName("ORDER_NO");
2313 dataColumnType2.setColName("ORDER_NO");
2314 dataColumnType2.setDbColType("INTEGER");
2315 dataColumnType2.setDisplayName("Order No");
2316 dataColumnType2.setColId("ORDER_NO");
2318 dataColumnType2.setColOnChart(AppConstants.GC_LEGEND);
2320 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
2321 listDataColumnType.add(dataColumnType1);
2322 listDataColumnType.add(dataColumnType2);
2324 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
2326 Mockito.when(reportDefinition.getChartDrillOptions()).thenReturn(chartDrillOptions);
2328 wizardProcessor.processWizardStep(httpServletRequest);
2330 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
2334 public void testProcessWizardStep_processChart_VerticalStackedBarChart_case1() throws Exception {
2335 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "WIZ_ACTION");
2336 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
2337 mockHttpAttribute("showDashboardOptions","");
2338 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
2339 mockHttpAttribute("blueBarField", "REPORT ID");
2341 setWizardSteps(AppConstants.WS_CHART, AppConstants.WA_SAVE);
2343 mockHttpAttribute("chartType", AppConstants.GT_STACKED_VERT_BAR);
2344 mockHttpAttribute("chartTypeFixed", "N");
2345 mockHttpAttribute("legendCol", "REP_ID");
2346 mockHttpAttribute("leftAxisLabel", "");
2347 mockHttpAttribute("rightAxisLabel", "");
2348 mockHttpAttribute("chartWidth", "500");
2349 mockHttpAttribute("chartHeight", "500");
2350 mockHttpAttribute("multiSeries", "N");
2351 mockHttpAttribute("lastSeriesALineChart", "N");
2352 mockHttpAttribute("lastSeriesABarChart", "N");
2353 mockHttpAttribute("animatedOption", "animate");
2355 mockHttpAttribute("intervalFromDate", "Y");
2356 mockHttpAttribute("intervalToDate", "Y");
2357 mockHttpAttribute("intervalLabel", "Y");
2358 mockHttpAttribute("intervalInputInRunPage", "Y");
2360 mockHttpAttribute("overlayItemValue", "Y");
2361 mockHttpAttribute("animatedOption", "animate");
2363 mockHttpAttribute("chartGroup", "Group");
2364 mockHttpAttribute("drillDownReport", "DrillDown");
2365 mockHttpAttribute("yAxis", "Y");
2366 mockHttpAttribute("drillDownReport", "-1");
2368 mockHttpAttribute("drillDownXAxisFormfield", "-1");
2369 mockHttpAttribute("drillDownYAxisFormfield", "-1");
2370 mockHttpAttribute("drillDownSeriesAxisFormfield", "-1");
2372 mockHttpAttribute("yAxisLowerLimit", "500");
2373 mockHttpAttribute("yAxisUpperLimit", "1200");
2374 mockHttpAttribute("labelAngle", "N");
2375 mockHttpAttribute("legendPosition", "Top");
2376 mockHttpAttribute("labelAngle", "N");
2377 mockHttpAttribute("maxLabelsInDomainAxis", "N");
2378 mockHttpAttribute("hideLegend", "labelAngle");
2379 mockHttpAttribute("showLegendDisplayOptionsInRunPage", "N");
2380 mockHttpAttribute("hideTooltips", "N");
2381 mockHttpAttribute("keepAsString", "N");
2383 mockHttpAttribute("drillDownReport", "-1");
2385 mockHttpAttribute("newChart1Axis", "1");
2386 mockHttpAttribute("valueCol1", "");
2387 mockHttpAttribute("valueCol1Color", "1");
2388 mockHttpAttribute("valueColAxis", "1");
2389 mockHttpAttribute("chartGroupAxis", "1");
2390 mockHttpAttribute("YAxisLabel", "1");
2393 mockHttpAttribute("chartOrientation", "1");
2394 mockHttpAttribute("secondaryChartRenderer", "1");
2395 mockHttpAttribute("chartDisplay", "1");
2396 mockHttpAttribute("chartOrientationInRunPage", "1");
2397 mockHttpAttribute("secondaryChartRendererInRunPage", "1");
2398 mockHttpAttribute("chartDisplayInRunPage", "1");
2400 mockHttpAttribute("chartSeries", "REP_ID");
2402 DataColumnType dataColumnType = new DataColumnType();
2404 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
2406 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
2407 Mockito.when(reportDefinition.getChartAdditionalOptions()).thenReturn(chartAdditionalOptions);
2410 ChartDrillOptions chartDrillOptions = new ChartDrillOptions();
2412 List<ChartDrillFormfield> listChartDrillFormfield = chartDrillOptions.getTargetFormfield();
2413 ChartDrillFormfield chartDrillFormfield = new ChartDrillFormfield();
2414 chartDrillFormfield.setFormfield("REPORT_ID");
2415 listChartDrillFormfield.add(chartDrillFormfield);
2417 DataColumnType dataColumnType1 = new DataColumnType();
2419 dataColumnType1.setTableId("reportaccess");
2420 dataColumnType1.setDbColName("REP_ID");
2421 dataColumnType1.setColName("REP_ID");
2422 dataColumnType1.setDbColType("INTEGER");
2423 dataColumnType1.setDisplayName("Report Id");
2424 dataColumnType1.setColId("REP_ID");
2425 dataColumnType1.setColOnChart(AppConstants.GT_COMPARE_PREVYEAR_CHART);
2427 DataColumnType dataColumnType2 = new DataColumnType();
2429 dataColumnType2.setTableId("reportaccess");
2430 dataColumnType2.setDbColName("ORDER_NO");
2431 dataColumnType2.setColName("ORDER_NO");
2432 dataColumnType2.setDbColType("INTEGER");
2433 dataColumnType2.setDisplayName("Order No");
2434 dataColumnType2.setColId("ORDER_NO");
2436 dataColumnType2.setColOnChart(AppConstants.GC_LEGEND);
2438 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
2439 listDataColumnType.add(dataColumnType1);
2440 listDataColumnType.add(dataColumnType2);
2442 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
2444 Mockito.when(reportDefinition.getChartDrillOptions()).thenReturn(chartDrillOptions);
2446 wizardProcessor.processWizardStep(httpServletRequest);
2448 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
2452 public void testProcessWizardStep_processChart_HorizontalStackedBarChart_case1() throws Exception {
2453 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, "WIZ_ACTION");
2454 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
2455 mockHttpAttribute("showDashboardOptions","");
2456 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
2457 mockHttpAttribute("blueBarField", "REPORT ID");
2459 setWizardSteps(AppConstants.WS_CHART, AppConstants.WA_SAVE);
2461 mockHttpAttribute("chartType", AppConstants.GT_STACKED_HORIZ_BAR);
2462 mockHttpAttribute("chartTypeFixed", "N");
2463 mockHttpAttribute("legendCol", "REP_ID");
2464 mockHttpAttribute("leftAxisLabel", "");
2465 mockHttpAttribute("rightAxisLabel", "");
2466 mockHttpAttribute("chartWidth", "500");
2467 mockHttpAttribute("chartHeight", "500");
2468 mockHttpAttribute("multiSeries", "N");
2469 mockHttpAttribute("lastSeriesALineChart", "N");
2470 mockHttpAttribute("lastSeriesABarChart", "N");
2471 mockHttpAttribute("animatedOption", "animate");
2473 mockHttpAttribute("intervalFromDate", "Y");
2474 mockHttpAttribute("intervalToDate", "Y");
2475 mockHttpAttribute("intervalLabel", "Y");
2476 mockHttpAttribute("intervalInputInRunPage", "Y");
2478 mockHttpAttribute("overlayItemValue", "Y");
2479 mockHttpAttribute("animatedOption", "animate");
2481 mockHttpAttribute("chartGroup", "Group");
2482 mockHttpAttribute("drillDownReport", "DrillDown");
2483 mockHttpAttribute("yAxis", "Y");
2484 mockHttpAttribute("drillDownReport", "-1");
2486 mockHttpAttribute("drillDownXAxisFormfield", "-1");
2487 mockHttpAttribute("drillDownYAxisFormfield", "-1");
2488 mockHttpAttribute("drillDownSeriesAxisFormfield", "-1");
2490 mockHttpAttribute("yAxisLowerLimit", "500");
2491 mockHttpAttribute("yAxisUpperLimit", "1200");
2492 mockHttpAttribute("labelAngle", "N");
2493 mockHttpAttribute("legendPosition", "Top");
2494 mockHttpAttribute("labelAngle", "N");
2495 mockHttpAttribute("maxLabelsInDomainAxis", "N");
2496 mockHttpAttribute("hideLegend", "labelAngle");
2497 mockHttpAttribute("showLegendDisplayOptionsInRunPage", "N");
2498 mockHttpAttribute("hideTooltips", "N");
2499 mockHttpAttribute("keepAsString", "N");
2501 mockHttpAttribute("drillDownReport", "-1");
2503 mockHttpAttribute("newChart1Axis", "1");
2504 mockHttpAttribute("valueCol1", "");
2505 mockHttpAttribute("valueCol1Color", "1");
2506 mockHttpAttribute("valueColAxis", "1");
2507 mockHttpAttribute("chartGroupAxis", "1");
2508 mockHttpAttribute("YAxisLabel", "1");
2510 mockHttpAttribute("chartOrientation", "1");
2511 mockHttpAttribute("secondaryChartRenderer", "1");
2512 mockHttpAttribute("chartDisplay", "1");
2513 mockHttpAttribute("chartOrientationInRunPage", "1");
2514 mockHttpAttribute("secondaryChartRendererInRunPage", "1");
2515 mockHttpAttribute("chartDisplayInRunPage", "1");
2517 mockHttpAttribute("chartSeries", "REP_ID");
2519 DataColumnType dataColumnType = new DataColumnType();
2521 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
2523 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
2524 Mockito.when(reportDefinition.getChartAdditionalOptions()).thenReturn(chartAdditionalOptions);
2526 ChartDrillOptions chartDrillOptions = new ChartDrillOptions();
2528 List<ChartDrillFormfield> listChartDrillFormfield = chartDrillOptions.getTargetFormfield();
2529 ChartDrillFormfield chartDrillFormfield = new ChartDrillFormfield();
2530 chartDrillFormfield.setFormfield("REPORT_ID");
2531 listChartDrillFormfield.add(chartDrillFormfield);
2534 DataColumnType dataColumnType1 = new DataColumnType();
2536 dataColumnType1.setTableId("reportaccess");
2537 dataColumnType1.setDbColName("REP_ID");
2538 dataColumnType1.setColName("REP_ID");
2539 dataColumnType1.setDbColType("INTEGER");
2540 dataColumnType1.setDisplayName("Report Id");
2541 dataColumnType1.setColId("REP_ID");
2542 dataColumnType1.setColOnChart(AppConstants.GT_COMPARE_PREVYEAR_CHART);
2544 DataColumnType dataColumnType2 = new DataColumnType();
2546 dataColumnType2.setTableId("reportaccess");
2547 dataColumnType2.setDbColName("ORDER_NO");
2548 dataColumnType2.setColName("ORDER_NO");
2549 dataColumnType2.setDbColType("INTEGER");
2550 dataColumnType2.setDisplayName("Order No");
2551 dataColumnType2.setColId("ORDER_NO");
2553 dataColumnType2.setColOnChart(AppConstants.GC_LEGEND);
2555 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
2556 listDataColumnType.add(dataColumnType1);
2557 listDataColumnType.add(dataColumnType2);
2559 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
2560 Mockito.when(reportDefinition.getChartDrillOptions()).thenReturn(chartDrillOptions);
2562 wizardProcessor.processWizardStep(httpServletRequest);
2564 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
2569 public void testProcessWizardStep_processChart_VerticalStackedBarLinesChart_case1() throws Exception {
2570 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_ADD_USER);
2571 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
2572 mockHttpAttribute("showDashboardOptions","");
2573 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
2574 mockHttpAttribute("blueBarField", "REPORT ID");
2576 setWizardSteps(AppConstants.WS_CHART, AppConstants.WA_SAVE);
2578 mockHttpAttribute("chartType", AppConstants.GT_STACKED_VERT_BAR_LINES);
2579 mockHttpAttribute("chartTypeFixed", "N");
2580 mockHttpAttribute("legendCol", "REP_ID");
2581 mockHttpAttribute("leftAxisLabel", "");
2582 mockHttpAttribute("rightAxisLabel", "");
2583 mockHttpAttribute("chartWidth", "500");
2584 mockHttpAttribute("chartHeight", "500");
2585 mockHttpAttribute("multiSeries", "N");
2586 mockHttpAttribute("lastSeriesALineChart", "N");
2587 mockHttpAttribute("lastSeriesABarChart", "N");
2588 mockHttpAttribute("animatedOption", "animate");
2590 mockHttpAttribute("intervalFromDate", "Y");
2591 mockHttpAttribute("intervalToDate", "Y");
2592 mockHttpAttribute("intervalLabel", "Y");
2593 mockHttpAttribute("intervalInputInRunPage", "Y");
2595 mockHttpAttribute("overlayItemValue", "Y");
2596 mockHttpAttribute("animatedOption", "animate");
2598 mockHttpAttribute("chartGroup", "Group");
2599 mockHttpAttribute("drillDownReport", "DrillDown");
2600 mockHttpAttribute("yAxis", "Y");
2601 mockHttpAttribute("drillDownReport", "-1");
2603 mockHttpAttribute("drillDownXAxisFormfield", "-1");
2604 mockHttpAttribute("drillDownYAxisFormfield", "-1");
2605 mockHttpAttribute("drillDownSeriesAxisFormfield", "-1");
2607 mockHttpAttribute("yAxisLowerLimit", "500");
2608 mockHttpAttribute("yAxisUpperLimit", "1200");
2609 mockHttpAttribute("labelAngle", "N");
2610 mockHttpAttribute("legendPosition", "Top");
2611 mockHttpAttribute("labelAngle", "N");
2612 mockHttpAttribute("maxLabelsInDomainAxis", "N");
2613 mockHttpAttribute("hideLegend", "labelAngle");
2614 mockHttpAttribute("showLegendDisplayOptionsInRunPage", "N");
2615 mockHttpAttribute("hideTooltips", "N");
2616 mockHttpAttribute("keepAsString", "N");
2618 mockHttpAttribute("drillDownReport", "-1");
2620 mockHttpAttribute("newChart1Axis", "1");
2621 mockHttpAttribute("valueCol1", "");
2622 mockHttpAttribute("valueCol1Color", "1");
2623 mockHttpAttribute("valueColAxis", "1");
2624 mockHttpAttribute("chartGroupAxis", "1");
2625 mockHttpAttribute("YAxisLabel", "1");
2628 mockHttpAttribute("chartOrientation", "1");
2629 mockHttpAttribute("secondaryChartRenderer", "1");
2630 mockHttpAttribute("chartDisplay", "1");
2631 mockHttpAttribute("chartOrientationInRunPage", "1");
2632 mockHttpAttribute("secondaryChartRendererInRunPage", "1");
2633 mockHttpAttribute("chartDisplayInRunPage", "1");
2635 mockHttpAttribute("chartSeries", "REP_ID");
2637 mockHttpAttribute("valueColNew", "REP_ID");
2638 mockHttpAttribute("valueColNewColor", "YELLOW");
2639 mockHttpAttribute("valueColNewAxis", "Y");
2641 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
2642 Mockito.when(reportDefinition.getChartAdditionalOptions()).thenReturn(chartAdditionalOptions);
2644 ChartDrillOptions chartDrillOptions = new ChartDrillOptions();
2646 List<ChartDrillFormfield> listChartDrillFormfield = chartDrillOptions.getTargetFormfield();
2647 ChartDrillFormfield chartDrillFormfield = new ChartDrillFormfield();
2648 chartDrillFormfield.setFormfield("REPORT_ID");
2649 listChartDrillFormfield.add(chartDrillFormfield);
2652 DataColumnType dataColumnType1 = new DataColumnType();
2654 dataColumnType1.setTableId("reportaccess");
2655 dataColumnType1.setDbColName("REP_ID");
2656 dataColumnType1.setColName("REP_ID");
2657 dataColumnType1.setDbColType("INTEGER");
2658 dataColumnType1.setDisplayName("Report Id");
2659 dataColumnType1.setColId("REP_ID");
2660 dataColumnType1.setColOnChart(AppConstants.GT_COMPARE_PREVYEAR_CHART);
2662 DataColumnType dataColumnType2 = new DataColumnType();
2664 dataColumnType2.setTableId("reportaccess");
2665 dataColumnType2.setDbColName("ORDER_NO");
2666 dataColumnType2.setColName("ORDER_NO");
2667 dataColumnType2.setDbColType("INTEGER");
2668 dataColumnType2.setDisplayName("Order No");
2669 dataColumnType2.setColId("ORDER_NO");
2671 dataColumnType2.setColOnChart(AppConstants.GC_LEGEND);
2673 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
2674 listDataColumnType.add(dataColumnType1);
2675 listDataColumnType.add(dataColumnType2);
2677 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
2678 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType1);
2679 Mockito.when(reportDefinition.getChartDrillOptions()).thenReturn(chartDrillOptions);
2681 wizardProcessor.processWizardStep(httpServletRequest);
2683 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
2688 public void testProcessWizardStep_processChart_HorizontalStackedBarLinesChart_case1() throws Exception {
2689 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_ADD_USER);
2690 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
2691 mockHttpAttribute("showDashboardOptions","");
2692 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
2693 mockHttpAttribute("blueBarField", "REPORT ID");
2695 setWizardSteps(AppConstants.WS_CHART, AppConstants.WA_SAVE);
2697 mockHttpAttribute("chartType", AppConstants.GT_STACKED_HORIZ_BAR_LINES);
2698 mockHttpAttribute("chartTypeFixed", "N");
2699 mockHttpAttribute("legendCol", "REP_ID");
2700 mockHttpAttribute("leftAxisLabel", "");
2701 mockHttpAttribute("rightAxisLabel", "");
2702 mockHttpAttribute("chartWidth", "500");
2703 mockHttpAttribute("chartHeight", "500");
2704 mockHttpAttribute("multiSeries", "N");
2705 mockHttpAttribute("lastSeriesALineChart", "N");
2706 mockHttpAttribute("lastSeriesABarChart", "N");
2707 mockHttpAttribute("animatedOption", "animate");
2709 mockHttpAttribute("intervalFromDate", "Y");
2710 mockHttpAttribute("intervalToDate", "Y");
2711 mockHttpAttribute("intervalLabel", "Y");
2712 mockHttpAttribute("intervalInputInRunPage", "Y");
2714 mockHttpAttribute("overlayItemValue", "Y");
2715 mockHttpAttribute("animatedOption", "animate");
2717 mockHttpAttribute("chartGroup", "Group");
2718 mockHttpAttribute("drillDownReport", "DrillDown");
2719 mockHttpAttribute("yAxis", "Y");
2720 mockHttpAttribute("drillDownReport", "-1");
2722 mockHttpAttribute("drillDownXAxisFormfield", "-1");
2723 mockHttpAttribute("drillDownYAxisFormfield", "-1");
2724 mockHttpAttribute("drillDownSeriesAxisFormfield", "-1");
2726 mockHttpAttribute("yAxisLowerLimit", "500");
2727 mockHttpAttribute("yAxisUpperLimit", "1200");
2728 mockHttpAttribute("labelAngle", "N");
2729 mockHttpAttribute("legendPosition", "Top");
2730 mockHttpAttribute("labelAngle", "N");
2731 mockHttpAttribute("maxLabelsInDomainAxis", "N");
2732 mockHttpAttribute("hideLegend", "labelAngle");
2733 mockHttpAttribute("showLegendDisplayOptionsInRunPage", "N");
2734 mockHttpAttribute("hideTooltips", "N");
2735 mockHttpAttribute("keepAsString", "N");
2737 mockHttpAttribute("drillDownReport", "-1");
2739 mockHttpAttribute("newChart1Axis", "1");
2740 mockHttpAttribute("valueCol1", "");
2741 mockHttpAttribute("valueCol1Color", "1");
2742 mockHttpAttribute("valueColAxis", "1");
2743 mockHttpAttribute("chartGroupAxis", "1");
2744 mockHttpAttribute("YAxisLabel", "1");
2746 mockHttpAttribute("chartOrientation", "1");
2747 mockHttpAttribute("secondaryChartRenderer", "1");
2748 mockHttpAttribute("chartDisplay", "1");
2749 mockHttpAttribute("chartOrientationInRunPage", "1");
2750 mockHttpAttribute("secondaryChartRendererInRunPage", "1");
2751 mockHttpAttribute("chartDisplayInRunPage", "1");
2753 mockHttpAttribute("chartSeries", "REP_ID");
2755 mockHttpAttribute("valueColNew", "");
2756 mockHttpAttribute("valueColNewColor", "YELLOW");
2757 mockHttpAttribute("valueColNewAxis", "Y");
2759 DataColumnType dataColumnType = new DataColumnType();
2761 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType);
2763 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
2764 Mockito.when(reportDefinition.getChartAdditionalOptions()).thenReturn(chartAdditionalOptions);
2766 ChartDrillOptions chartDrillOptions = new ChartDrillOptions();
2768 List<ChartDrillFormfield> listChartDrillFormfield = chartDrillOptions.getTargetFormfield();
2769 ChartDrillFormfield chartDrillFormfield = new ChartDrillFormfield();
2770 chartDrillFormfield.setFormfield("REPORT_ID");
2771 listChartDrillFormfield.add(chartDrillFormfield);
2773 DataColumnType dataColumnType1 = new DataColumnType();
2775 dataColumnType1.setTableId("reportaccess");
2776 dataColumnType1.setDbColName("REP_ID");
2777 dataColumnType1.setColName("REP_ID");
2778 dataColumnType1.setDbColType("INTEGER");
2779 dataColumnType1.setDisplayName("Report Id");
2780 dataColumnType1.setColId("REP_ID");
2781 dataColumnType1.setColOnChart(AppConstants.GT_COMPARE_PREVYEAR_CHART);
2783 DataColumnType dataColumnType2 = new DataColumnType();
2785 dataColumnType2.setTableId("reportaccess");
2786 dataColumnType2.setDbColName("ORDER_NO");
2787 dataColumnType2.setColName("ORDER_NO");
2788 dataColumnType2.setDbColType("INTEGER");
2789 dataColumnType2.setDisplayName("Order No");
2790 dataColumnType2.setColId("ORDER_NO");
2792 dataColumnType2.setColOnChart(AppConstants.GC_LEGEND);
2794 List<DataColumnType> listDataColumnType = new ArrayList<DataColumnType>();
2795 listDataColumnType.add(dataColumnType1);
2796 listDataColumnType.add(dataColumnType2);
2798 Mockito.when(reportDefinition.getAllColumns()).thenReturn(listDataColumnType);
2799 Mockito.when(reportDefinition.getColumnById(Mockito.anyString())).thenReturn(dataColumnType1);
2800 Mockito.when(reportDefinition.getChartDrillOptions()).thenReturn(chartDrillOptions);
2802 wizardProcessor.processWizardStep(httpServletRequest);
2803 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
2808 public void testProcessWizardStep_Schedule_Add_User_case1() throws Exception {
2809 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_ADD_USER);
2810 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
2811 mockHttpAttribute("showDashboardOptions","");
2812 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
2813 mockHttpAttribute("blueBarField", "REPORT ID");
2815 setWizardSteps(AppConstants.WS_SCHEDULE, AppConstants.WA_SAVE);
2817 mockHttpAttribute(AppConstants.RI_DETAIL_ID, "2001");
2818 mockHttpAttribute("pdfAttachmentKey", "PdfKey");
2819 mockHttpAttribute("log_id", "Log#1234");
2820 mockHttpAttribute("user_id", "demo");
2822 mockHttpAttribute("schedEnabled", "N");
2823 mockHttpAttribute("schedStartDate", "03/12/2018");
2824 mockHttpAttribute("schedEndDate", "03/12/2999");
2825 mockHttpAttribute("schedEndHour", "9");
2826 mockHttpAttribute("schedMin", "30");
2827 mockHttpAttribute("schedEndMin", "10");
2828 mockHttpAttribute("schedEndAMPM", "AM");
2829 mockHttpAttribute("schedRunDate", "N");
2830 mockHttpAttribute("schedHour", "10");
2831 mockHttpAttribute("schedAMPM", "AM");
2833 mockHttpAttribute("schedRecurrence", "Y");
2834 mockHttpAttribute("conditional", "Y");
2835 mockHttpAttribute("encryptMode" , "Y");
2836 mockHttpAttribute("conditionSQL", "REPORT_ID=1001");
2837 mockHttpAttribute("notify_type", "QUEUE");
2838 mockHttpAttribute("downloadLimit", "1024mb");
2839 mockHttpAttribute("formFields", "REPORT_ID");
2840 mockHttpAttribute("sendAttachment", "Y");
2841 mockHttpAttribute("schedEmailAdd", "Y");
2842 mockHttpAttribute("schedEmailAddRole", "Y");
2844 PowerMockito.when(Globals.getUseLoginIdInSchedYN()).thenReturn("Y");
2846 wizardProcessor.processWizardStep(httpServletRequest);
2847 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
2851 public void testProcessWizardStep_Schedule_Delete_User_case1() throws Exception {
2852 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_DELETE_USER);
2853 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
2854 mockHttpAttribute("showDashboardOptions","");
2855 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
2856 mockHttpAttribute("blueBarField", "REPORT ID");
2858 setWizardSteps(AppConstants.WS_SCHEDULE, AppConstants.WA_SAVE);
2860 mockHttpAttribute("pdfAttachmentKey", "PdfKey");
2861 mockHttpAttribute("log_id", "Log#1234");
2862 mockHttpAttribute("user_id", "demo");
2864 mockHttpAttribute("schedEnabled", "N");
2865 mockHttpAttribute("schedStartDate", "03/12/2018");
2866 mockHttpAttribute("schedEndDate", "03/12/2999");
2867 mockHttpAttribute("schedEndHour", "9");
2868 mockHttpAttribute("schedMin", "30");
2869 mockHttpAttribute("schedEndMin", "10");
2870 mockHttpAttribute("schedEndAMPM", "AM");
2871 mockHttpAttribute("schedRunDate", "N");
2872 mockHttpAttribute("schedHour", "10");
2873 mockHttpAttribute("schedAMPM", "AM");
2875 mockHttpAttribute("schedRecurrence", "Y");
2876 mockHttpAttribute("conditional", "Y");
2877 mockHttpAttribute("encryptMode" , "Y");
2879 mockHttpAttribute("conditionSQL", "REPORT_ID=1001");
2880 mockHttpAttribute("notify_type", "QUEUE");
2881 mockHttpAttribute("downloadLimit", "1024mb");
2882 mockHttpAttribute("formFields", "REPORT_ID");
2884 mockHttpAttribute("sendAttachment", "Y");
2885 mockHttpAttribute("schedEmailAdd", "Y");
2886 mockHttpAttribute("schedEmailAddRole", "Y");
2888 wizardProcessor.processWizardStep(httpServletRequest);
2890 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
2895 public void testProcessWizardStep_Schedule_Add_Role_case1() throws Exception {
2896 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_ADD_ROLE);
2897 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
2898 mockHttpAttribute("showDashboardOptions","");
2899 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
2900 mockHttpAttribute("blueBarField", "REPORT ID");
2902 setWizardSteps(AppConstants.WS_SCHEDULE, AppConstants.WA_SAVE);
2904 mockHttpAttribute("pdfAttachmentKey", "PdfKey");
2905 mockHttpAttribute("log_id", "Log#1234");
2906 mockHttpAttribute("user_id", "demo");
2908 mockHttpAttribute("schedEnabled", "N");
2909 mockHttpAttribute("schedStartDate", "03/12/2018");
2910 mockHttpAttribute("schedEndDate", "03/12/2999");
2911 mockHttpAttribute("schedEndHour", "9");
2912 mockHttpAttribute("schedMin", "30");
2913 mockHttpAttribute("schedEndMin", "10");
2914 mockHttpAttribute("schedEndAMPM", "AM");
2915 mockHttpAttribute("schedRunDate", "N");
2916 mockHttpAttribute("schedHour", "10");
2917 mockHttpAttribute("schedAMPM", "AM");
2918 mockHttpAttribute("schedRecurrence", "Y");
2919 mockHttpAttribute("conditional", "Y");
2920 mockHttpAttribute("encryptMode" , "Y");
2921 mockHttpAttribute("conditionSQL", "REPORT_ID=1001");
2922 mockHttpAttribute("notify_type", "QUEUE");
2923 mockHttpAttribute("downloadLimit", "1024mb");
2924 mockHttpAttribute("formFields", "REPORT_ID");
2925 mockHttpAttribute("sendAttachment", "Y");
2926 mockHttpAttribute("schedEmailAdd", "Y");
2927 mockHttpAttribute("schedEmailAddRole", "Y");
2929 wizardProcessor.processWizardStep(httpServletRequest);
2931 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
2935 public void testProcessWizardStep_Schedule_Delete_Role_case1() throws Exception {
2936 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_DELETE_ROLE);
2937 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
2938 mockHttpAttribute("showDashboardOptions","");
2939 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
2940 mockHttpAttribute("blueBarField", "REPORT ID");
2942 setWizardSteps(AppConstants.WS_SCHEDULE, AppConstants.WA_SAVE);
2944 mockHttpAttribute(AppConstants.RI_DETAIL_ID, "2001");
2945 mockHttpAttribute("pdfAttachmentKey", "PdfKey");
2946 mockHttpAttribute("log_id", "Log#1234");
2947 mockHttpAttribute("user_id", "demo");
2949 mockHttpAttribute("schedEnabled", "N");
2950 mockHttpAttribute("schedStartDate", "03/12/2018");
2951 mockHttpAttribute("schedEndDate", "03/12/2999");
2952 mockHttpAttribute("schedEndHour", "9");
2953 mockHttpAttribute("schedMin", "30");
2954 mockHttpAttribute("schedEndMin", "10");
2955 mockHttpAttribute("schedEndAMPM", "AM");
2956 mockHttpAttribute("schedRunDate", "N");
2957 mockHttpAttribute("schedHour", "10");
2958 mockHttpAttribute("schedAMPM", "AM");
2960 mockHttpAttribute("schedRecurrence", "Y");
2962 mockHttpAttribute("conditional", "Y");
2964 mockHttpAttribute("encryptMode" , "Y");
2966 mockHttpAttribute("conditionSQL", "REPORT_ID=1001");
2967 mockHttpAttribute("notify_type", "QUEUE");
2968 mockHttpAttribute("downloadLimit", "1024mb");
2969 mockHttpAttribute("formFields", "REPORT_ID");
2971 mockHttpAttribute("sendAttachment", "Y");
2973 mockHttpAttribute("schedEmailAdd", "Y");
2974 mockHttpAttribute("schedEmailAddRole", "Y");
2976 wizardProcessor.processWizardStep(httpServletRequest);
2977 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
2981 public void testProcessWizardStep_processUserAccess_Add_User_case1() throws Exception {
2983 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_ADD_USER);
2984 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
2985 mockHttpAttribute("showDashboardOptions","");
2986 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
2987 mockHttpAttribute("blueBarField", "REPORT ID");
2989 setWizardSteps(AppConstants.WS_USER_ACCESS, AppConstants.WA_SAVE);
2991 mockHttpAttribute("reportOwner", "Owner");
2992 mockHttpAttribute("public", "Y");
2993 mockHttpAttribute("newUserId", "Y");
2995 Mockito.when(reportDefinition.getReportSecurity()).thenReturn(reportSecurity);
2996 wizardProcessor.processWizardStep(httpServletRequest);
2998 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
3002 public void testProcessWizardStep_processUserAccess_Delete_User_case1() throws Exception {
3003 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.WA_DELETE_USER);
3004 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
3005 mockHttpAttribute("showDashboardOptions","");
3006 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
3007 mockHttpAttribute("blueBarField", "REPORT ID");
3009 setWizardSteps(AppConstants.WS_USER_ACCESS, AppConstants.WA_SAVE);
3011 mockHttpAttribute("reportOwner", "Owner");
3012 mockHttpAttribute("public", "Y");
3013 mockHttpAttribute("newUserId", "Y");
3015 Mockito.when(reportDefinition.getReportSecurity()).thenReturn(reportSecurity);
3017 wizardProcessor.processWizardStep(httpServletRequest);
3019 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
3023 public void testProcessImportSemaphore_case1() throws Exception {
3024 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
3025 Mockito.when(reportRuntime.getSemaphoreList()).thenReturn(null);
3026 wizardProcessor.processImportSemaphorePopup(httpServletRequest);
3028 Mockito.verify(wizardProcessor, Mockito.times(1)).processImportSemaphorePopup(httpServletRequest);
3033 public void testProcessImportSemaphore_case2() throws Exception {
3034 SemaphoreList semaphoreList = new SemaphoreList();
3035 List<SemaphoreType> listSemaphoreType = semaphoreList.getSemaphore();
3037 SemaphoreType st1 = new SemaphoreType();
3038 SemaphoreType st2 = new SemaphoreType();
3040 st1.setSemaphoreName("Name1");
3041 st1.setSemaphoreId("Id1");
3043 st2.setSemaphoreName("Name2");
3044 st2.setSemaphoreId("Id2");
3046 listSemaphoreType.add(st1);
3047 listSemaphoreType.add(st2);
3049 mockHttpAttribute(AppConstants.RI_REPORT_ID, REPORT_ID);
3051 Mockito.when(reportRuntime.getSemaphoreList()).thenReturn(semaphoreList);
3053 Mockito.when(reportDefinition.addSemaphore(Mockito.anyObject(), Mockito.anyObject())).thenReturn(st1);
3055 wizardProcessor.processImportSemaphorePopup(httpServletRequest);
3057 Mockito.verify(wizardProcessor, Mockito.times(1)).processImportSemaphorePopup(httpServletRequest);
3064 public void testProcessSemaphorePopup_case1() throws Exception {
3066 mockHttpAttribute("semaphoreId", "Id");
3067 mockHttpAttribute("semaphoreName", "Name");
3068 mockHttpAttribute("semaphoreType", "Type");
3070 String [] formatId = {"", ""};
3071 String [] lessThanValue = {"1", "1"};
3072 String [] expression = {"", ""};
3073 String [] bold = {"", ""};
3074 String [] italic = {"", ""};
3075 String [] underline = {"", ""};
3076 String [] bgColor = {"", ""};
3077 String [] fontColor = {"", ""};
3078 String [] fontFace = {"", ""};
3079 String [] fontSize = {"", ""};
3081 mockHttpParameterValues("formatId", formatId);
3082 mockHttpParameterValues("lessThanValue", lessThanValue);
3083 mockHttpParameterValues("expression", expression);
3084 mockHttpParameterValues("bold", bold);
3085 mockHttpParameterValues("italic", italic);
3086 mockHttpParameterValues("underline", underline);
3087 mockHttpParameterValues("bgColor", bgColor);
3088 mockHttpParameterValues("fontColor", fontColor);
3089 mockHttpParameterValues("fontFace", fontFace);
3090 mockHttpParameterValues("fontSize", fontSize);
3092 SemaphoreType semaphoreType = new SemaphoreType();
3094 //Mockito.when(reportDefinition.getSemaphoreFormatById(Mockito.anyObject(), Mockito.anyString())).thenReturn(new FormatType());
3095 //PowerMockito.when(reportDefinition.addEmptyFormatType(Mockito.anyObject(), Mockito.anyObject())).thenReturn(new FormatType());
3097 Mockito.when(reportDefinition.addSemaphoreType( Mockito.anyObject(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenReturn(new SemaphoreType());
3099 Mockito.when(reportDefinition.getSemaphoreById("Id")).thenReturn(semaphoreType);
3101 PowerMockito.when(ReportDefinition.getSemaphoreFormatById( Mockito.anyObject(), Mockito.anyString())).thenReturn(new FormatType());
3103 //Mockito.when(reportDefinition.getSemaphoreById("Id")).thenReturn(null);
3105 //Mockito.when(reportRuntime.getSemaphoreList()).thenReturn(semaphoreList);
3107 //Mockito.when(reportDefinition.addSemaphore(Mockito.anyObject(), Mockito.anyObject())).thenReturn(st1);
3109 wizardProcessor.processSemaphorePopup(httpServletRequest);
3111 Mockito.verify(wizardProcessor, Mockito.times(1)).processSemaphorePopup(httpServletRequest);
3118 private void mockHttpAttribute(String attributeName, String attributeValue) {
3119 mockHttpAttribute(attributeName)).thenReturn(attributeValue);
3122 private void mockHttpParameterValues(String parameterName, String[] parameterValue) {
3123 Mockito.when(httpServletRequest.getParameterValues(parameterName)).thenReturn(parameterValue);
3129 public void testProcessWizardStep_processTableAdd_case1() throws Exception {
3130 //ReportSecurity reportSecurity = new ReportSecurity("10001");
3132 String reportUserAccessSql= Globals.getReportUserAccess();
3133 reportUserAccessSql = reportUserAccessSql.replace("[reportID]", "1001");
3135 PowerMockito.when(DbUtils.executeQuery(reportUserAccessSql)).thenReturn(dataSet1);
3137 String dataMock[][] = { {"Role1", "User1"},{"Role2", "User2"},{"Role3", "User3"} };
3140 Mockito.when (dataSet1.getRowCount()).thenReturn(3);
3142 PowerMockito.when(dataSet1.getString(Mockito.anyInt(), Mockito.anyInt())).thenAnswer(new Answer<String>() {
3145 public String answer(InvocationOnMock invocation) throws Throwable {
3146 Object[] args = invocation.getArguments();
3147 int row = (int) args[0];
3148 int col = (int) args[1];
3151 return dataMock[row][col];
3157 String newScheduleSql = Globals.getNewScheduleData();
3158 PowerMockito.when(DbUtils.executeQuery(newScheduleSql)).thenReturn(dataSet2);
3160 Mockito.when(dataSet2.getString(0,0)).thenReturn("4001");
3163 CustomReportType customReportType = new CustomReportType();
3165 customReportType.setReportName("ONAP Portal users");
3166 customReportType.setReportDescr("Report for ONAP Portal users");
3167 customReportType.setChartType("Bar Chart");
3168 customReportType.setCreateId("2001");
3169 customReportType.setReportType("User Type");
3171 GregorianCalendar gregorianCalendar = new GregorianCalendar();
3172 gregorianCalendar.setTime(Calendar.getInstance().getTime());
3174 customReportType.setCreateDate(DatatypeFactory.newInstance().newXMLGregorianCalendar(gregorianCalendar));
3176 ReportWrapper rw = new ReportWrapper(customReportType,"1001", "ONAP PORTAL", "2001", "", "", "", "", false);
3178 //ReportWrapper(CustomReportType cr, String reportID, String ownerID, String createID, String createDate, String updateID, String updateDate, String menuID, boolean menuApproved)
3180 ReportDefinition localReportDefinition = new ReportDefinition(rw, httpServletRequest);
3182 Mockito.when(httpServletRequest.getParameter(AppConstants.RI_WIZARD_ACTION)).thenReturn(AppConstants.WA_VALIDATE);
3183 mockHttpAttribute(AppConstants.RI_REPORT_ID)).thenReturn("1001");
3184 mockHttpAttribute("showDashboardOptions")).thenReturn("");
3185 mockHttpAttribute("folder_id")).thenReturn("2001");
3187 Mockito.when(reportHandler.loadReportDefinition(httpServletRequest, "1001")).thenReturn(localReportDefinition);
3189 Mockito.when(reportDefinition.getWizardSequence()).thenReturn(wizardSequence);
3190 Mockito.when(wizardSequence.getCurrentStep()).thenReturn(AppConstants.WS_TABLES);
3191 Mockito.when(wizardSequence.getCurrentSubStep()).thenReturn(AppConstants.WSS_ADD);
3193 Mockito.when(reportDefinition.getReportID()).thenReturn("10001");
3194 mockHttpAttribute("reportSQL")).thenReturn("SELECT [colNames.toString()] FROM ( [reportSQL]");
3197 mockHttpAttribute("tableName")).thenReturn("cr_report_access crc");
3198 mockHttpAttribute("joinTableName")).thenReturn("cr_report cr");
3199 mockHttpAttribute("joinExpr")).thenReturn("crc.rep_id = cr.rep_id");
3200 mockHttpAttribute("tablePK")).thenReturn("crc.rep_id");
3201 mockHttpAttribute("displayName")).thenReturn("Report Access");
3203 String columnNames[] = {"ID", "COL1", "COL2", "COL3"};
3204 String columnType[] = {"Integer", "VARCHAR2", "VARCHAR2", "VARCHAR2"};
3205 //String columnVal[] = {"1", "Val1", "Val2", "Val3"};
3209 Mockito.when(resultSet.next()).thenReturn(true);
3210 Mockito.when(resultSet.getMetaData()).thenReturn(resultSetMetaData);
3212 Mockito.when(resultSetMetaData.getColumnCount()).thenReturn(columnNames.length);
3214 Mockito.when(resultSetMetaData.getColumnLabel(Mockito.anyInt())).thenAnswer(new Answer<String>() {
3217 public String answer(InvocationOnMock invocation) throws Throwable {
3218 Object[] args = invocation.getArguments();
3219 int columnIndex = Integer.parseInt((String) args[0]);
3220 return columnNames[columnIndex+1];
3224 Mockito.when(resultSetMetaData.getColumnType(Mockito.anyInt())).thenAnswer(new Answer<String>() {
3227 public String answer(InvocationOnMock invocation) throws Throwable {
3228 Object[] args = invocation.getArguments();
3229 int columnIndex = Integer.parseInt((String) args[0]);
3230 return columnType[columnIndex+1];
3234 //DataSet localDataSet = new DataSet(resultSet);
3235 //PowerMockito.when(DbUtils.executeQuery(reportUserAccessSql)).thenReturn(localDataSet);
3237 wizardProcessor.processWizardStep(httpServletRequest);
3242 public void testProcessWizardStep_not_null_arguments_crosstab() throws Exception {
3243 PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler);
3244 Mockito.when(AppUtils.getRequestValue(httpServletRequest, AppConstants.RI_REPORT_ID)).thenReturn("1000");
3245 Mockito.when(AppUtils.getRequestNvlValue(httpServletRequest, "showDashboardOptions")).thenReturn("");
3247 Mockito.when(AppUtils.getRequestNvlValue(httpServletRequest, "reportType")).thenReturn(AppConstants.RT_CROSSTAB);
3248 Mockito.when(reportHandler.loadReportDefinition(httpServletRequest,"1000")).thenReturn(reportDefinition);
3250 Mockito.when(httpServletRequest.getParameter(AppConstants.RI_WIZARD_ACTION)).thenReturn("NA");
3251 Mockito.when(reportDefinition.getWizardSequence()).thenReturn(wizardSequence);
3252 Mockito.when(wizardSequence.getCurrentStep()).thenReturn(AppConstants.WS_DEFINITION);
3253 Mockito.when(wizardSequence.getCurrentSubStep()).thenReturn("NA");
3255 Mockito.when(reportDefinition.getReportID()).thenReturn("1");
3256 Mockito.when(reportDefinition.getReportType()).thenReturn(AppConstants.RT_CROSSTAB);
3258 mockHttpAttribute("reportName")).thenReturn("Report 1");
3259 mockHttpAttribute("reportDescr")).thenReturn("Report One help for testing...");
3261 wizardProcessor.processWizardStep(httpServletRequest);
3264 //Mockito.when(AppUtils.getRequestNvlValue(httpServletRequest, "widthNo")).thenReturn("500px");
3266 //wizardProcessor.processWizardStep(httpServletRequest);
3276 public void testProcessAdhocSchedule_Add_User_case1() throws Exception {
3278 mockHttpAttribute("pdfAttachmentKey", "PdfKey");
3279 mockHttpAttribute("log_id", "Log#1234");
3280 mockHttpAttribute("user_id", "demo");
3282 mockHttpAttribute("schedEnabled", "N");
3283 mockHttpAttribute("schedStartDate", "03/12/2018");
3284 mockHttpAttribute("schedEndDate", "03/12/2999");
3285 mockHttpAttribute("schedEndHour", "9");
3286 mockHttpAttribute("schedMin", "30");
3287 mockHttpAttribute("schedEndMin", "10");
3288 mockHttpAttribute("schedEndAMPM", "AM");
3289 mockHttpAttribute("schedRunDate", "N");
3290 mockHttpAttribute("schedHour", "10");
3291 mockHttpAttribute("schedAMPM", "AM");
3293 mockHttpAttribute("schedRecurrence", "Y");
3295 mockHttpAttribute("conditional", "Y");
3297 mockHttpAttribute("conditionSQL", "REPORT_ID=1001");
3298 mockHttpAttribute("notify_type", "QUEUE");
3299 mockHttpAttribute("downloadLimit", "1024mb");
3300 mockHttpAttribute("formFields", "REPORT_ID");
3302 mockHttpAttribute("sendAttachment", "Y");
3304 mockHttpAttribute("schedEmailAdd", "Y");
3305 mockHttpAttribute("schedEmailAddRole", "Y");
3307 Mockito.when(httpServletRequest.getSession(false)).thenReturn(httpSession);
3308 Mockito.when(httpSession.getAttribute("user_attribute_name") ).thenReturn(user);
3310 PowerMockito.when(Globals.getUseLoginIdInSchedYN()).thenReturn("Y");
3312 wizardProcessor.processAdhocSchedule(httpServletRequest, AppConstants.WA_ADD_USER);
3314 Mockito.verify(wizardProcessor, Mockito.times(1)).processAdhocSchedule(httpServletRequest, AppConstants.WA_ADD_USER);
3318 public void testProcessAdhocSchedule_Delete_User_case1() throws Exception {
3320 mockHttpAttribute(AppConstants.RI_DETAIL_ID, "2001");
3321 mockHttpAttribute("pdfAttachmentKey", "PdfKey");
3322 mockHttpAttribute("log_id", "Log#1234");
3323 mockHttpAttribute("user_id", "demo");
3325 mockHttpAttribute("schedEnabled", "N");
3326 mockHttpAttribute("schedStartDate", "03/12/2018");
3327 mockHttpAttribute("schedEndDate", "03/12/2999");
3328 mockHttpAttribute("schedEndHour", "9");
3329 mockHttpAttribute("schedMin", "30");
3330 mockHttpAttribute("schedEndMin", "10");
3331 mockHttpAttribute("schedEndAMPM", "AM");
3332 mockHttpAttribute("schedRunDate", "N");
3333 mockHttpAttribute("schedHour", "10");
3334 mockHttpAttribute("schedAMPM", "AM");
3336 mockHttpAttribute("schedRecurrence", "Y");
3337 mockHttpAttribute("conditional", "Y");
3339 mockHttpAttribute("conditionSQL", "REPORT_ID=1001");
3340 mockHttpAttribute("notify_type", "QUEUE");
3341 mockHttpAttribute("downloadLimit", "1024mb");
3342 mockHttpAttribute("formFields", "REPORT_ID");
3344 mockHttpAttribute("sendAttachment", "Y");
3345 mockHttpAttribute("schedEmailAdd", "Y");
3346 mockHttpAttribute("schedEmailAddRole", "Y");
3348 Mockito.when(httpServletRequest.getSession(false)).thenReturn(httpSession);
3349 Mockito.when(httpSession.getAttribute("user_attribute_name") ).thenReturn(user);
3351 wizardProcessor.processAdhocSchedule(httpServletRequest, AppConstants.WA_DELETE_USER);
3352 Mockito.verify(wizardProcessor, Mockito.times(1)).processAdhocSchedule(httpServletRequest, AppConstants.WA_DELETE_USER);
3357 public void testProcessAdhocSchedule_Add_Role_case1() throws Exception {
3359 mockHttpAttribute(AppConstants.RI_DETAIL_ID, "2001");
3360 mockHttpAttribute("pdfAttachmentKey", "PdfKey");
3361 mockHttpAttribute("log_id", "Log#1234");
3362 mockHttpAttribute("user_id", "demo");
3364 mockHttpAttribute("schedEnabled", "N");
3365 mockHttpAttribute("schedStartDate", "03/12/2018");
3366 mockHttpAttribute("schedEndDate", "03/12/2999");
3367 mockHttpAttribute("schedEndHour", "9");
3368 mockHttpAttribute("schedMin", "30");
3369 mockHttpAttribute("schedEndMin", "10");
3370 mockHttpAttribute("schedEndAMPM", "AM");
3371 mockHttpAttribute("schedRunDate", "N");
3372 mockHttpAttribute("schedHour", "10");
3373 mockHttpAttribute("schedAMPM", "AM");
3375 mockHttpAttribute("schedRecurrence", "Y");
3377 mockHttpAttribute("conditional", "Y");
3379 mockHttpAttribute("conditionSQL", "REPORT_ID=1001");
3380 mockHttpAttribute("notify_type", "QUEUE");
3381 mockHttpAttribute("downloadLimit", "1024mb");
3382 mockHttpAttribute("formFields", "REPORT_ID");
3384 mockHttpAttribute("sendAttachment", "Y");
3386 mockHttpAttribute("schedEmailAdd", "Y");
3387 mockHttpAttribute("schedEmailAddRole", "Y");
3389 Mockito.when(httpServletRequest.getSession(false)).thenReturn(httpSession);
3391 Mockito.when(httpSession.getAttribute("user_attribute_name") ).thenReturn(user);
3393 PowerMockito.when(Globals.getUseLoginIdInSchedYN()).thenReturn("Y");
3395 wizardProcessor.processAdhocSchedule(httpServletRequest, AppConstants.WA_ADD_ROLE);
3396 Mockito.verify(wizardProcessor, Mockito.times(1)).processAdhocSchedule(httpServletRequest, AppConstants.WA_ADD_ROLE);
3401 public void testProcessAdhocSchedule_Delete_Role_case1() throws Exception {
3403 mockHttpAttribute(AppConstants.RI_DETAIL_ID, "2001");
3404 mockHttpAttribute("pdfAttachmentKey", "PdfKey");
3405 mockHttpAttribute("log_id", "Log#1234");
3406 mockHttpAttribute("user_id", "demo");
3408 mockHttpAttribute("schedEnabled", "N");
3409 mockHttpAttribute("schedStartDate", "03/12/2018");
3410 mockHttpAttribute("schedEndDate", "03/12/2999");
3411 mockHttpAttribute("schedEndHour", "9");
3412 mockHttpAttribute("schedMin", "30");
3413 mockHttpAttribute("schedEndMin", "10");
3414 mockHttpAttribute("schedEndAMPM", "AM");
3415 mockHttpAttribute("schedRunDate", "N");
3416 mockHttpAttribute("schedHour", "10");
3417 mockHttpAttribute("schedAMPM", "AM");
3419 mockHttpAttribute("schedRecurrence", "Y");
3421 mockHttpAttribute("conditional", "Y");
3423 mockHttpAttribute("conditionSQL", "REPORT_ID=1001");
3424 mockHttpAttribute("notify_type", "QUEUE");
3425 mockHttpAttribute("downloadLimit", "1024mb");
3426 mockHttpAttribute("formFields", "REPORT_ID");
3428 mockHttpAttribute("sendAttachment", "Y");
3430 mockHttpAttribute("schedEmailAdd", "Y");
3431 mockHttpAttribute("schedEmailAddRole", "Y");
3432 Mockito.when(httpServletRequest.getSession(false)).thenReturn(httpSession);
3433 Mockito.when(httpSession.getAttribute("user_attribute_name") ).thenReturn(user);
3434 wizardProcessor.processAdhocSchedule(httpServletRequest, AppConstants.WA_DELETE_ROLE);
3440 public void testProcessWizardStep_processMap_case1() throws Exception {
3441 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.RI_ACTION);
3442 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
3443 mockHttpAttribute("showDashboardOptions","");
3444 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
3446 setWizardSteps(AppConstants.WS_MAP, AppConstants.WA_SAVE);
3448 mockHttpAttribute("addressColumn0", "");
3449 mockHttpAttribute("dataColumn0", "");
3450 mockHttpAttribute("legendColumn", "");
3451 mockHttpAttribute("markerColor0", "");
3452 mockHttpAttribute("isMapAllowed", "");
3453 mockHttpAttribute("useDefaultSize", "");
3454 mockHttpAttribute("height", "");
3455 mockHttpAttribute("width", "");
3456 mockHttpAttribute("addAddress", "");
3457 mockHttpAttribute("latColumn", "");
3458 mockHttpAttribute("longColumn", "");
3459 mockHttpAttribute("colorColumn", "");
3461 mockHttpAttribute("markerCount", "");
3464 Mockito.when(reportDefinition.getReportMap()).thenReturn(null);
3465 wizardProcessor.processWizardStep(httpServletRequest);
3467 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);
3471 public void testProcessWizardStep_processMap_case2() throws Exception {
3472 mockHttpParameter(AppConstants.RI_WIZARD_ACTION, AppConstants.RI_ACTION);
3473 mockHttpAttribute(AppConstants.RI_REPORT_ID,REPORT_ID);
3474 mockHttpAttribute("showDashboardOptions","");
3475 mockHttpAttribute(AppConstants.RI_DETAIL_ID,DETAIL_ID);
3477 setWizardSteps(AppConstants.WS_MAP, AppConstants.WA_SAVE);
3479 ReportMap reportMap = new ReportMap();
3481 mockHttpAttribute("addressColumn0", "Y");
3482 mockHttpAttribute("dataColumn0", "Y");
3483 mockHttpAttribute("legendColumn", "Y");
3484 mockHttpAttribute("markerColor0", "Y");
3485 mockHttpAttribute("isMapAllowed", "Y");
3486 mockHttpAttribute("useDefaultSize", "Y");
3487 mockHttpAttribute("height", "Y");
3488 mockHttpAttribute("width", "Y");
3489 mockHttpAttribute("addAddress", "Y");
3490 mockHttpAttribute("latColumn", "Y");
3491 mockHttpAttribute("longColumn", "Y");
3492 mockHttpAttribute("colorColumn", "Y");
3494 mockHttpAttribute("markerCount", "3");
3496 mockHttpAttribute("addressColumn1", "1");
3497 mockHttpAttribute("dataHeader1", "Header1");
3498 mockHttpAttribute("dataColumn1", "DataColumn1");
3499 mockHttpAttribute("markerColor1", "Color1");
3501 mockHttpAttribute("addressColumn2", "2");
3502 mockHttpAttribute("dataHeader2", "Header2");
3503 mockHttpAttribute("dataColumn2", "DataColumn2");
3504 mockHttpAttribute("markerColor2", "Color2");
3506 Mockito.when(reportDefinition.getReportMap()).thenReturn(reportMap);
3507 wizardProcessor.processWizardStep(httpServletRequest);
3509 Mockito.verify(wizardProcessor, Mockito.times(1)).processWizardStep(httpServletRequest);