#=============================================================================================
# @TITLE			Recovery - Database - check table
#
# @NUMBER			WDBM_FKT_02020
#
# @DESCRIPTION		Clicking the "Complete" -link and checking the shown Complete
# @					table.
#
# @EXP_RESULT		The Complete table has shown up and the headline and the first row will be
# @					checked.
#
# @REQUIREMENTS		Test: WDBM_FKT_01000; WDBM_FKT_00100; WDBM_FKT_01010
#=============================================================================================

static mouth_array[] = {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};

static rec_table_items_ok = 1;
static rec_table_items_old [] = {"Label","Beginning","Action","Media Name","Log","Pages","Vol.","Next","From","To","Last Savepoint","First Commit","Last Commit"};
static rec_table_items_new [] = {"Label","Beginning","Action","Medium","Log","Size (Pages)","Volumes","Next Log Page","From Page","To Page","Last Savepoint","First Commit","Last Commit"};
#=============================================================================================
# @STEP 1			Setting database to "Cold".
#=============================================================================================
set_window (state_window, 3);
web_link_click("Admin");

for (;;i++) {
	
	if (obj_exists("Admin",0) == 0) {
		wait(5);
	} else {
		break;
	}
}
#=============================================================================================
# @STEP 2			Checking recovery window.
#=============================================================================================
set_window (menu_window, 1);
web_link_click("Database_1");

set_window(work_window, 1);
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 == "Recovery - Database") {

	tl_step("Recovery Database","0","correctly displayed");
	
	if (obj_exists("RecoveryType",0) == 0 &&
		obj_exists("RecoveryType_1",0) == 0 &&
		obj_exists("RecoveryType_2",0) == 0 &&
		obj_exists("RecoveryUntil",0) == 0 &&
		obj_exists("UntilDate",0) == 0 &&
		obj_exists("UntilTime",0) == 0) {
		
		tl_step("Buttons and checkboxes","0","displayed correctly");
	} else {
		tl_step("Buttons and checkboxes","1","displayed incorrectly");
	}
	
	set_window (work_window, 0);
	time_sec = get_time();
	if (new_interface == "1") {
		web_image_click("1x1.gif", 7, 9);
	} else {
		web_image_click("refresh", 9, 4);
	}

	set_window (work_window, 0);

	obj_get_info("UntilTime","value",value_2);
	
	time = time_str(time_sec);
	
	time_ele = split(time,array," ");
	
	mouth = array[2];
	
	for (i=1;i<13;i++) {
	
		if (mouth == mouth_array[i-1]) {
			if (i<10) {
				mouth_new = "0" & (i);
				break;
			} else {
				mouth_new = i;
			}
		}
	}
	
	date = array[5] & "-" & mouth_new & "-" & array[3];

	obj_get_info("UntilDate","value",value_1);
	if (date == value_1) {
		tl_step("Date value","0","is correct");
	} else {
		tl_step("Date value","1","is incorrect");
	}
	
	time_split = split(value_2,array_1,":");
	value_2 = array_1[1] & ":" & array_1[2];
	
	if (match(time,value_2) != 0) {
		tl_step("Time value","0","is correct");
	} else {
		tl_step("Time value","1","is incorrect");
	}
} else {
	tl_step("Recovery Database","1","incorrectly displayed");
}
#=============================================================================================
# @STEP 3			Entering with "Enter" into 2nd step.
#=============================================================================================
wait(5);

set_window (work_window, 0);

if (obj_exists("OK",0) == 0) {
	
	set_window (work_window, 0);
	web_link_click("OK");
	set_window (work_window, 0);
	
	wait(5);
	if (new_interface == "1") {
		for(i=1;i<14;i++) {
			web_obj_get_text("Database Users", "#1", "#"&i, cell_value, "", "", 1);
			if (cell_value != rec_table_items_new [i-1]) {
				rec_table_items_ok = 0;
				break;
			}
		}
	} else {
		for(i=1;i<14;i++) {
			tbl_get_cell_data("1x1_2", "#1", "#"&i, cell_value);
			if (cell_value != rec_table_items_old [i-1]) {
				rec_table_items_ok = 0;
				break;
			}
		}
	}
}

if (rec_table_items_ok == 0) {
	tl_step("Headline of Recovery table","1","is incorrect");
} else {
	tl_step("Headline of Recovery table","0","is correct");
}
#=============================================================================================
# @STEP 4			Checking the "Back" button.
#=============================================================================================
set_window (work_window, 3);

if (obj_exists("Back",0) == 0) {
	set_window (work_window, 3);
	web_link_click("Back");
	
	wait(5);

	if (obj_exists("Back",0) == 0) {
		set_window (work_window, 3);
		web_link_click("Back");
	}
} else {
	tl_step("Button 'Back' not exists","1","incorrect");
}
#=============================================================================================
# @STEP 5			Checking the relation between the radiobuttons.
#=============================================================================================
set_window (work_window, 3);
wait(5);
set_window (work_window, 3);

web_obj_get_info("RecoveryType","part_value",value_3);
web_obj_get_info("RecoveryType_1","part_value",value_4);
web_obj_get_info("RecoveryType_2","part_value",value_5);

if (value_3 == "LAST" &&
	value_4 == "SPECIFIC" &&
	value_5 == "MEDIUM") {
	
	tl_step("Button state - Restore Last Backup","0","is correct");
} else {
	tl_step("Button state - Restore Last Backup","1","is incorrect");
}

set_window (work_window, 3);
button_set("RecoveryType_1",ON);

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

if (value_6 == 0 &&
	value_7 == 1 &&
	value_8 == 0) {
	
	tl_step("Button state - Restore a specific backup from history","0","is correct");
} else {
	tl_step("Button state - Restore a specific backup from history","1","is incorrect");
}

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

obj_get_info("RecoveryType","value",value_9);
obj_get_info("RecoveryType_1","value",value_10);
obj_get_info("RecoveryType_2","value",value_11);

if (value_9 == 0 &&
	value_10 == 0 &&
	value_11 == 1) {
	
	tl_step("Button state - Restore a medium","0","is correct");
} else {
	tl_step("Button state - Restore a medium","1","is incorrect");
}
#=============================================================================================
# @STEP 1			Setting database to "Warm".
#=============================================================================================
set_window (state_window, 3);
web_link_click("Online");

for (;;i++) {
	
	if (obj_exists("Online",0) == 0) {
		wait(5);
	} else {
		break;
	}
}
