#=============================================================================================
# @TITLE					Check - Backup - check table
#
# @NUMBER					WDBM_FKT_02041
#
# @DESCRIPTION		The database will be checked by a verify. The single steps will passed
# @								through.
#
# @EXP_RESULT			The database verfiy will work.
#
# @REQUIREMENTS		Test: WDBM_FKT_01000; WDBM_FKT_00100; WDBM_FKT_01010;
#=============================================================================================

public function trim (in str) {
	if (substr(str, 1, 1) == " ") {

		str = trim(substr(str, 2));
	}
	if (substr(str, length(str)) == " ") {
		str = trim(substr(str, 1, length(str)-1));
	}
	return (str);
}

static headline_items_ok = 1;
static headline_items_old [] = {"Label","Beginning","Action","Media Name","Log","Pages","Vol.","Next","From","To","Last Savepoint","First Commit","Last Commit"};
static headline_items_new [] = {"Label","Beginning","Action","Medium","Log","Size (Pages)","Volumes","Next Log Page","From Page","To Page","Last Savepoint","First Commit","Last Commit"};

TestName = "DBM2_FKT_02041";
#=============================================================================================
# @STEP 1			Clicking the link for Check - Backup.
#=============================================================================================
set_window (menu_window, 3);
web_link_click("Backup");
#=============================================================================================
# @STEP 2			Checking the shown text and radiobuttons.
#=============================================================================================
set_window (work_window, 3);

if (new_interface == "1") {
	web_obj_get_text("Information - CACHES - DB73","#1","#1",cell_value_1,"","",1);
} else {
	tbl_get_cell_data("Database/Servername", "#1", "#1", cell_value_1);
}

if ((cell_value_1 == "Check - Backup" && version == "7.3.00") ||
	(cell_value_1 == "Check - Backup" && (version == "7.4.03" || version == "7.5.00" || version == "7.5.01" || version == "7.6.00"))) {

	tl_step("Check backup","0","is shown well");

	if (obj_exists("RecoveryType",0) == 0 &&
		obj_exists("RecoveryType_1",0) == 0 &&
		obj_exists("RecoveryType_2",0) == 0) {
		
		tl_step("Radiobuttons","0","displayed correctly. - TN: " & TestName);
	} else {
		tl_step("Radiobuttons","1","displayed incorrectly. - TN: " & TestName);
	}
} else {
	tl_step("Check backup","1","Work window header incorrect. - TN: " & TestName);
}
#=============================================================================================
# @STEP 3			Connection between radiobuttons.
#=============================================================================================
set_window (work_window, 3);

obj_get_info("RecoveryType","value",value_1);
obj_get_info("RecoveryType_1","value",value_2);
obj_get_info("RecoveryType_2","value",value_3);

if (value_1 == 1 &&
	value_2 == 0 &&
	value_3 == 0) {
	tl_step("Radiobuttons state","0","default position correct. - TN: " & TestName);
} else {
	tl_step("Radiobuttons state","1","default position incorrect. - TN: " & TestName);
}

button_set("RecoveryType_1",ON);

obj_get_info("RecoveryType","value",value_4);
obj_get_info("RecoveryType_1","value",value_5);
obj_get_info("RecoveryType_2","value",value_6);

if (value_4 == 0 &&
	value_5 == 1 &&
	value_6 == 0) {
	tl_step("Radiobuttons state","0","Check a specific back...... - TN: " & TestName);
} else {
	tl_step("Radiobuttons state","1","Check a specific back...... - TN: " & TestName);
}

set_window (menu_window, 3);
wait(3);
set_window (work_window, 3);
button_set ("RecoveryType_2",ON);

obj_get_info("RecoveryType","value",value_7);
obj_get_info("RecoveryType_1","value",value_8);
obj_get_info("RecoveryType_2","value",value_9);

if (value_7 == 0 &&
	value_8 == 0 &&
	value_9 == 1) {
	tl_step("Radiobuttons state","0","Check a medium. - TN: " & TestName);
} else {
	tl_step("Radiobuttons state","1","Check a medium. - TN: " & TestName);
}
#=============================================================================================
# @STEP 4			Check last backup.
#=============================================================================================
set_window (work_window, 3);
button_set("RecoveryType",ON);

obj_get_info("OK","enabled",value_10);

if (obj_exists("OK",0) == 0 &&
	value_10 == 1) {

	tl_step("Ok button","0","displayed and enabled. - TN: " & TestName);
	set_window (work_window, 3);
	web_link_click("OK");
} else {
	tl_step("Ok button","1","not displayed or disabled. - TN: " & TestName);
}
#=============================================================================================
# @STEP 5			Getting table headline.
#=============================================================================================
set_window (work_window, 3);
wait(10);
set_window (work_window, 3);

for (n=1;n<14;n++) {
	
	if (new_interface == "1") {
		web_obj_get_text("Database Users", "#1", "#"&n, cell_value_2, "", "", 1);
	} else {
		tbl_get_cell_data("1x1_2", "#1", "#"&n, cell_value_2);
	}
	
	if (new_interface == "1") {
		if (trim(cell_value_2) != headline_items_new [n-1]) {
			headline_items_ok = 0;
			break;
		}
	} else {
		if (trim(cell_value_2) != headline_items_old [n-1]) {
			headline_items_ok = 0;
			break;
		}
	}
}

if (headline_items_ok == 0) {
	tl_step("Check Backup - Tableheadline","1","is incorrect. - TN: " & TestName);
} else {
	tl_step("Check Backup - Tableheadline","0","is correct. - TN: " & TestName);
#=============================================================================================
# @STEP 6			Clicking the 'Ok'-button and checking next table.
#=============================================================================================
	set_window (work_window, 1);
	web_link_click("OK");
	wait(5);
	set_window (work_window, 1);
	if (obj_exists("OK",0) == 0) {
		set_window (work_window, 1);
		web_link_click("OK");
	}
	wait(5);
	set_window (work_window, 4);
	web_link_click("Back");
	wait(5);
	set_window (work_window, 0);
	web_link_click("OK");	
	wait(5);	
	set_window (work_window, 0);
	
	if (new_interface == "1") {
		tbl_get_cell_data("Database/Servername","#1","#1",cell_value_3);
	} else {
		tbl_get_cell_data("1x1","#1","#2",cell_value_3);
	}
	
	if (cell_value_3 == "Please make the specified medium available for check.") {
		tl_step("Next step was reached - " & cell_value_3,"0","correct. - TN: " & TestName);
	} else {
		tl_step("Next step was reached - " & cell_value_3,"1","incorrect. - TN: " & TestName);
	}
#=============================================================================================
# @STEP 7			Starting the backup check.
#=============================================================================================
	set_window (work_window, 1);
	web_link_click("Start");
	wait(20);
	set_window (work_window, 1);

	if (obj_exists("msgerro",0) == 0) {
		tl_step("Error occured while checking backup","1","Backup Check. - TN: " & TestName);
	} else {
		
		if (new_interface == "1") {
			tbl_get_cell_data("Database/Servername","#1","#1",cell_value_4);
		} else {
		
			if (obj_exists("1x1",0) == 0) {
				tbl_get_cell_data("1x1","#1","#2",cell_value_4);
			} else {
				tl_step ("Check - Backup","1","Error while checking backup. - TN: " & TestName);
			}
		}

		if (match (cell_value_4, "Check completed") != 0) {
			tl_step("Next step was reached - " & cell_value_4,"0","correct. - TN: " & TestName);
			set_window (work_window, 5);
			web_link_click("Close");
		} else {
			tl_step("Next step was reached - " & cell_value_4,"1","incorrect. - TN: " & TestName);
		}
	}
}
