#=============================================================================================
# @TITLE			Checking second window - Recovery Wizard.
#
# @NUMBER			DBM2_FKT_02204
#
# @DESCRIPTION		Checking window and content. Step is to restart the database and
# @					close the wizard.
#
# @EXP_RESULT		The 'Back' and 'Next' button works. Restart will work as well.
#
# @REQUIREMENTS		"Database Manager" is installed.
#=============================================================================================
static WizardOpen = 1;
TestName = "DBM2_FKT_02204";
#=============================================================================================
# @STEP 1			Checking window and clicking 'Next'.
#=============================================================================================
if (win_exists("Database Manager Recovery Wizard",0) == 0) {
	
	tl_step("Database Manager Recovery Wizard - Window Check", "0", "Window still open. - TN: " & TestName);
	
	set_window("Database Manager Recovery Wizard", 1);
#=============================================================================================
# @STEP 2			Clicking the 'Back' button.
#=============================================================================================
	if (win_exists("DBMWre2_0", 0) == 0) {
			
		tl_step ("Performing second recovery start","1","Recovery wizard crashed. - TN: " & TestName);
		set_window ("DBMWre2_0", 2);
		button_press ("OK");
		
		if (win_exists("DBMApp2_0", 0) == 0) {
			set_window ("DBMApp2_0", 2);
			button_press ("OK");
		}
		#Setting database to Online			
		set_window("SAP DB Database Manager", 1);
		toolbar_button_press("msvb_lib_toolbar_1","Online",LEFT);
		wait(10);
	} else {
	
		wait(5);
		
		if (win_exists("DBMWre2_0", 0) == 0) {
			
			tl_step ("Performing second recovery start","1","Recovery wizard crashed. - TN: " & TestName);
			set_window ("DBMWre2_0", 2);
			button_press ("OK");
			
			if (win_exists("DBMApp2_0", 0) == 0) {
				set_window ("DBMApp2_0", 2);
				button_press ("OK");
			}
			#Setting database to Online			
			set_window("SAP DB Database Manager", 1);
			toolbar_button_press("msvb_lib_toolbar_1","Online",LEFT);
			wait(10);
		} else {
#			
#			button_press ("< Back");
#			wait(5);
#			
#			set_window("Database Manager Recovery Wizard", 1);
#			ActiveX_get_info("DBMWfr2.Framework", "HeaderTitle", HeaderTitle1);
#			ActiveX_get_info("DBMWfr2.Framework", "HeaderSubtitle", HeaderSubtitle1);
#			
#			if ((HeaderTitle1 == "Type of Recovery" && HeaderSubtitle1 == "Select the type of recovery that you want to perform.") ||
#				(HeaderTitle1 == "Select a Complete Data Backup" && HeaderSubtitle1 == "Select a complete data backup that you want to recover from the backup history.")) {
#				
#				tl_step("Database Manager Recovery Wizard - Step Welcome title","0", "HeaderTitle: " & HeaderTitle1 & " not expected. - TN: " & TestName);
#				tl_step("Database Manager Recovery Wizard - Step Welcome title","0", "HeaderSubtitle: " & HeaderSubtitle1 & " not expected. - TN: " & TestName);
#			} else {
#				tl_step("Database Manager Recovery Wizard - Step Welcome title","1", "HeaderTitle: " & HeaderTitle1 & " not expected. - TN: " & TestName);
#				tl_step("Database Manager Recovery Wizard - Step Welcome title","1", "HeaderSubtitle: " & HeaderSubtitle1 & " not expected. - TN: " & TestName);
#			}
##=============================================================================================
## @STEP 3			Clicking the 'Next' button and checking the window content.
##=============================================================================================
#			button_press ("Next >");
#			wait(5);
#			
#			if (obj_exists ("Next >", 0) == 0) {
#				button_press ("Next >");
#				wait(5);
#			}
#			ActiveX_get_info("DBMWfr2.Framework", "HeaderTitle", HeaderTitle2);
#			ActiveX_get_info("DBMWfr2.Framework", "HeaderSubtitle", HeaderSubtitle2);
#			
#			if (HeaderTitle2 == "Start Recovery" &&
#				HeaderSubtitle2 == "Check your selection and start the recovery.") {
#				
#				tl_step("Database Manager Recovery Wizard - Step title","0", "HeaderTitle: " & HeaderTitle2 & " as expected. - TN: " & TestName);
#				tl_step("Database Manager Recovery Wizard - Step title","0", "HeaderSubtitle: " & HeaderSubtitle2 & " as expected. - TN: " & TestName);
#			} else {
#				tl_step("Database Manager Recovery Wizard - Step title","1", "HeaderTitle: " & HeaderTitle2 & " not expected. - TN: " & TestName);
#				tl_step("Database Manager Recovery Wizard - Step title","1", "HeaderSubtitle: " & HeaderSubtitle2 & " not expected. - TN: " & TestName);
#			}
#			
#			L_RC_1 = obj_exists("lvwItems",0);
#			L_RC_2 = obj_exists("Restore database until a specific time.",0);
#			L_RC_4 = obj_exists("< Back",0);
#			L_RC_5 = obj_exists("Start",0);
#			L_RC_6 = obj_exists("Cancel",0);
#			
#			if (L_RC_1 == 0 &&
#				L_RC_2 == 0 &&
#				L_RC_4 == 0 &&
#				L_RC_5 == 0 &&
#				L_RC_6 == 0) {
#				
#				tl_step("Start Recovery - Checking objects", "0", "All objects dispayed. - TN: " & TestName);
#				
#				list_get_info("lvwItems", "count", count);
#				obj_get_info("Restore database until a specific time.", "value", value1);
#				
#				button_get_info("< Back", "enabled", value2);
#				button_get_info("Start", "enabled", value3);
#				button_get_info("Cancel", "enabled", value4);
#		
#				if (count == 1 || count == 2 || count == 3 &&
#					value1 == 0 &&
#					value2 == 1 &&
#					value3 == 1 &&
#					value4 == 1) {
#					
#					tl_step("Start Recovery - Checking button state and text.","0","All buttons in correct state and info text correct. - TN: " & TestName);
#				} else {
#					
#					tl_step("Start Recovery - Checking button state and text.","1","Not all buttons in correct state or info text incorrect. - TN: " & TestName);
#					
#					tl_step("Start Recovery - Checking button state", "1", count & " expected 1 (Listitem count). - TN: " & TestName);
#					tl_step("Start Recovery - Checking button state", "1", value1 & " expected 0 (Restore database until a specific time. - value). - TN: " & TestName);
#					tl_step("Start Recovery - Checking button state", "1", value2 & " expected 1 (< Back). - TN: " & TestName);
#					tl_step("Start Recovery - Checking button state", "1", value3 & " expected 1 (Start). - TN: " & TestName);
#					tl_step("Start Recovery - Checking button state", "1", value4 & " expected 1 (Cancel). - TN: " & TestName);
#				}		
##=============================================================================================
## @STEP 4			Clicking the 'Start' button and checking the window content.
##=============================================================================================
#				set_window ("Database Manager Recovery Wizard", 3);
#				button_press ("Start");
#				wait(10);
#				
#				if (win_exists("DBMWre2_0", 0) == 0) {
#					
#					tl_step ("Performing second recovery start","1","Recovery wizard crashed. - TN: " & TestName);
#					set_window ("DBMWre2_0", 2);
#					button_press ("OK");
#					
#					if (win_exists("DBMApp2_0", 0) == 0) {
#						set_window ("DBMApp2_0", 2);
#						button_press ("OK");
#					}
#					#Setting database to Online			
#					set_window("SAP DB Database Manager", 1);
#					toolbar_button_press("msvb_lib_toolbar_1","Online",LEFT);
#					wait(10);
#				} else {
##=============================================================================================
## @STEP 5			Checking window content.
##=============================================================================================
#					ActiveX_get_info("DBMWfr2.Framework", "HeaderTitle", HeaderTitle3);
#					ActiveX_get_info("DBMWfr2.Framework", "HeaderSubtitle", HeaderSubtitle3);
#					
#					if ((HeaderTitle3 == "Recovery Ready" && HeaderSubtitle3 == "Recovery has completed successfully.") || 
#						(HeaderTitle3 == "Continue Recovery of Incremental/Log Backup" && HeaderSubtitle3 == "Recovery of complete data backup is finished. Continue with recovery of incremental/log backup.")) {
#						
#						tl_step("Database Manager Recovery Wizard - Step Welcome title","0", "HeaderTitle: " & HeaderTitle3 & " not expected. - TN: " & TestName);
#						tl_step("Database Manager Recovery Wizard - Step Welcome title","0", "HeaderSubtitle: " & HeaderSubtitle3 & " not expected. - TN: " & TestName);
#					} else {
#						tl_step("Database Manager Recovery Wizard - Step Welcome title","1", "HeaderTitle: " & HeaderTitle3 & " not expected. - TN: " & TestName);
#						tl_step("Database Manager Recovery Wizard - Step Welcome title","1", "HeaderSubtitle: " & HeaderSubtitle3 & " not expected. - TN: " & TestName);
#					}
##=============================================================================================
## @STEP 6			Restart database and close wizard.
##=============================================================================================		
					wait(5);
					set_window ("Database Manager Recovery Wizard", 3);
					
					button_press ("Start");

					obj_wait_info("Close_1","enabled",TRUE,30);
#					
#					#if (obj_exists ("Close_1", 0) == 0) {
#					#	button_press ("Close_1");
#					#}
#					if (obj_exists ("Cancel", 0) == 0) {
#						
#						set_window ("Database Manager Recovery Wizard", 2);
#						button_get_info("Start","enabled",value);
#
#						if (value != 0) {
#							set_window ("Database Manager Recovery Wizard", 2);
#							button_press ("Start");
#							wait(10);
#							
							if (obj_exists ("Close_1", 0) == 0) {
								button_press ("Close_1");
							} else {
								set_window ("Database Manager Recovery Wizard", 2);
								button_press ("Cancel");
								set_window ("Confirm Recovery Cancel", 4);
								button_press ("Yes");
								
								tl_step ("Recovery Wizard","1","Closed abnormally - Button caption not changed to 'Close'. - TN: " & TestName);
								
								set_window ("Database Manager Recovery Wizard", 2);
								button_press ("Close_1");
							}
#						} else {
#						
#							set_window ("Database Manager Recovery Wizard", 2);
#							button_press ("Cancel");
#							set_window ("Confirm Recovery Cancel", 4);
#							button_press ("Yes");
#							
#							tl_step ("Recovery Wizard","1","Closed abnormally - Button caption not changed to 'Close'. - TN: " & TestName);
#							
#							set_window ("Database Manager Recovery Wizard", 2);
#							button_press ("Close_1");
#						}
#					}
##=============================================================================================
## @STEP 7			Checking state of database.
##=============================================================================================
					set_window("SAP DB Database Manager", 1);
					toolbar_get_button_info("msvb_lib_toolbar_1", "Online", ENABLED, state);
			
					if (state == 0) {
						tl_step("Database Manager Recovery Wizard - Restart and close - Before refresh","0","Database in correct state --> Online. - TN: " & TestName);
					} else {
						tl_step("Database Manager Recovery Wizard - Restart and close - Before refresh","1","Database in incorrect state --> Offline or Admin. - TN: " & TestName);
					}
					
					set_window("SAP DB Database Manager", 1);
					toolbar_button_press("msvb_lib_toolbar","Refresh",LEFT);

					toolbar_get_button_info("msvb_lib_toolbar_1", "Online", ENABLED, state);
			
					if (state == 0) {
						tl_step("Database Manager Recovery Wizard - Restart and close - After refresh","0","Database in correct state --> Online. - TN: " & TestName);
					} else {
						tl_step("Database Manager Recovery Wizard - Restart and close - After refresh","1","Database in incorrect state --> Offline or Admin. - TN: " & TestName);
					}
				
#				}
#			} else {
#				tl_step("Start Recovery - Checking object of window.", "1", "Not all objects dispayed. - TN: " & TestName);
#				
#				tl_step("Start Recovery - Checking object of window.", "1", L_RC_1 & " expected 0. - TN: " & TestName);
#				tl_step("Start Recovery - Checking object of window.", "1", L_RC_2 & " expected 0. - TN: " & TestName);
#				tl_step("Start Recovery - Checking object of window.", "1", L_RC_4 & " expected 0. - TN: " & TestName);
#				tl_step("Start Recovery - Checking object of window.", "1", L_RC_5 & " expected 0. - TN: " & TestName);
#				tl_step("Start Recovery - Checking object of window.", "1", L_RC_6 & " expected 0. - TN: " & TestName);
#			}
		}
	}
} else {
	
	tl_step("Database Manager Recovery Wizard - Window Check", "1", "Window not open. - TN: " & TestName);
	WizardOpen = 0;
}
