#=============================================================================================
#
# @TITLE			Configure users.
#
# @NUMBER			DBM3_DBUser_004_Configure_users
#
# @DESCRIPTION		configure the DB users (create,delete,rename etc.).
#
#=============================================================================================
static TestName = "DBM3_DBUser_004_Configure_users";
static expHeaderTitle = "Configure Database Users / User Groups";
static expHeaderSubtitle = "Configure database user for the database administrator 'DBA'.";
static Failure = 0;

#=============================================================================================
# @STEP 1			check if Config Wizard is open --> texit
#=============================================================================================
if (win_exists("Configuration Wizard",0) != E_OK)
{
	tl_step ("Wizard not open",1,"Testname: " & TestName & ", Line:" & getvar("line_no"));
	texit("true");
}	

#=============================================================================================
# @STEP 2		check header title ---> texit
#=============================================================================================	
#get header title
set_window("Configuration Wizard", 1);
ActiveX_get_info("DBMWfr3.Framework","HeaderTitle",HeaderTitle);
ActiveX_get_info("DBMWfr3.Framework","HeaderSubtitle",HeaderSubtitle);

# check if header title is correct
if (HeaderTitle != expHeaderTitle || HeaderSubtitle != expHeaderSubtitle)
{
	tl_step ("Header title not correct",1,"Testname: " & TestName & ", Line:" & getvar("line_no"));
	texit("true");
}
#=============================================================================================
# @STEP 3.1		check correct function of back Button
#=============================================================================================			
set_window ("Configuration Wizard", 2);

obj_get_info("< Back","enabled",BackEnabled);
if (BackEnabled == 0)
{
	tl_step ("Back button not enabled",1,"Testname: " & TestName & ", Line:" & getvar("line_no"));
	texit("true");
}
#=============================================================================================
# @STEP 3.2		check if previous Screen appears
#=============================================================================================
static expHeaderTitle_prevWindow = "Configure Database Users / User Groups";
static expHeaderSubtitle_prevWindow = "Enter a database administrator.";

set_window ("Configuration Wizard", 2);
button_press ("< Back");

ActiveX_get_info("DBMWfr3.Framework","HeaderTitle",HeaderTitle_prevWindow);
ActiveX_get_info("DBMWfr3.Framework","HeaderSubtitle",HeaderSubtitle_prevWindow);

if (expHeaderTitle_prevWindow != HeaderTitle_prevWindow || expHeaderSubtitle_prevWindow != HeaderSubtitle_prevWindow)
{
	tl_step ("The previous screen didn't apears after press backButton",1,"Testname: " & TestName & ", Line:" & getvar("line_no"));
	texit("true");
}

button_press ("Next >");
obj_wait_info("txtUser","enabled",1,10);
		
#=============================================================================================
# @STEP 3.3		check correct return to login-window
#=============================================================================================	
set_window("Configuration Wizard", 1);
ActiveX_get_info("DBMWfr3.Framework","HeaderTitle",HeaderTitle);
ActiveX_get_info("DBMWfr3.Framework","HeaderSubtitle",HeaderSubtitle);
	
# check if header title is correct
if (HeaderTitle != expHeaderTitle || HeaderSubtitle != expHeaderSubtitle)
{
	tl_step ("HeaderTitle / HeaderSubtitle not correct",1,"Testname: " & TestName & ", Line:" & getvar("line_no"));
	texit("true");
}

#=============================================================================================
# @STEP 4		Check SYSDBA user ---> texit
#=============================================================================================	
set_window ("Configuration Wizard", 1);
list_select_item ("lvwSQLUser", "DBA");
list_get_subitem("lvwSQLUser","DBA",2,DBAClass);
if (DBAClass != "SYSDBA")
{
	tl_step ("No SYSDBA User",1,"Testname: " & TestName & ", Line:" & getvar("line_no"));
	texit("true");
}

#=============================================================================================
# @STEP 5		Check  Toolbar Buttons
#=============================================================================================	

toolbar_get_button_info("msvb_lib_toolbar","New User",ENABLED,btn_NewUser);
toolbar_get_button_info("msvb_lib_toolbar","New User Group",ENABLED,btn_NewUserGroup);
toolbar_get_button_info("msvb_lib_toolbar","Properties",ENABLED,btn_Properties);
toolbar_get_button_info("msvb_lib_toolbar","Delete",ENABLED,btn_Delete);
toolbar_get_button_info("msvb_lib_toolbar","Rename",ENABLED,btn_Rename);

if (btn_NewUser == 0 || btn_NewUserGroup == 0 || btn_Properties == 0 || btn_Delete == 1 || btn_Rename == 1 )
{
	tl_step ("Toolbar Buttons not in correct state",1,"Testname: " & TestName & ", Line:" & getvar("line_no")); 
	Failure = 1;
}

#=============================================================================================
# @STEP 5		check if test passed successfully
#=============================================================================================	
if (Failure == 0)
	tl_step ("Test passed successfully",0,"Testname: " & TestName & ", Line:" & getvar("line_no"));
