SQL Table access
Note - These testing guidelines assume the user is skilled in the use of, at a minimum, the following:
- Print Error Log (PM)
- Registry Settings (PM)
- User Definition
Scenario 1: Validate a users (ODBC) SQL table permissions when querying tables via a "Database" and/or "ECP" server
Specific Setup:
- Have a standard cache "Database" server for testing and if applicable an "ECP" server configured with the database server as its remote database, so that reports can be run via the "ECP" server to display data in the database server
- In form "User Definition" create a new user [SqlUser]
- In field "Select Tables for Product SQL Access" assign the user access to tables in two or more applications. For this test:
- [TableA] and [TableB] are assigned in application "PM"
- [TableC] and [TableD] are assigned in application "CWS"
- Populate all other required fields and submit the form
- Create a second user in form "User Definition" with no SQL table access assigned [NoSqlAccess]
- Populate all other required fields and submit the form
- Using the windows "ODBC Data Source Administrator" setup the following connections for [SqlUser]
- [ConnectionA] configured to point to application "PM" on the "Database" server
- [ConnectionB] configured to point to application "CWS" on the "Database" server
- [ConnectionC] configured to point to application "PM on the "ECP" server
- [ConnectionD] configured to point to application "CWS" on the "ECP" server
- Test and validate each connection is successful
- Have access to form "Registry "Settings"
Steps
- Open the desired reporting software, for example "Crystal Reports"
- Select the "ODBC" [ConnectionA], set to connect to the "PM" application on the "Database" server
- Validate [TableA] and [TableB] are accessible, as expected
- Close that connection
- Select database "ODBC" connection [ConnectionB], set to connect to the "CWS" application on the "Database" server
- Validate [TableC] and [TableD] are accessible, as expected
- Close that connection
- Repeat step 1a for "ECP" connection [ConnectionC]
- Validate results are the same, as expected
- Repeat step 1b for the "ECP" [ConnectionD]
- Validate results are the same, as expected
- Open the "ODBC Data Source Administrator" application
- Populate the "Host(IPAddress)", "Port" fields with the proper credentials for the "Database" server and set the "Cache Namespace" field to the "PM"
- In the "User Name" field, populate the 'UserID' for the user [NoSqlAccess]
- Populate the password for user [NoSqlAccess] in the "Password" field
- Click to [Test Connection]
- Validate the message states "Connectivity Test Failed" as expected, as the user has no SQL tables assigned to them
- Repeat step 2a for the "Database" server, but change "Cache Namespace" field to the "CWS"
- Click to [Test Connection]
- Validate the results are the same
- Populate the "Host(IPAddress)", "Port" fields with the proper credentials for the "ECP" server and set the "Cache Namespace" field to the "PM"
- Leave the user name and password field set to [NoSQLAccess]
- Click to [Test Connection]
- Validate message states "Connectivity Test Failed" as expected, as the user has no SQL tables assigned to them
- Repeat step 2c, but change "Cache Namespace" field to the "CWS"
- Click to [Test Connection]
- Validate message states "Connectivity Test Failed" as expected, as the user has no SQL tables assigned to them
- Log into Avatar on the "Database" server
- Open form 'User Definition'
- Select [SqlUser] and navigate to field "Select Tables for Product SQL Access"
- Revoke access to [TableA] in the "PM" application and [TableC] in the "CWS" application
- Submit the form
- Open the desired reporting software
- Click to make a connection to application "PM" the "Database" server via [ConnectionA]
- Validate [TableA] is not accessible and [TableB] is accessible
- Click to make a connection to application "CWS" on the "Database" server via [ConnectionB]
- Validate [TableC] is not accessible and [TableD] is accessible
- Click to make a connection to application "PM" on "ECP" server via [ConnectionC],
- Validate [TableA] is not accessible and [TableB] is accessible
- Click to make a connection to application "CWS" on "ECP" server via [ConnectionD],
- Validate [TableC] is not accessible and [TableD] is accessible
- Open form 'User Definition'
- Select [SqlUser] and navigate to field "Select Tables for Product SQL Access"
- Revoke all table access in one of the applications, for this example "CWS" is used
- Submit the form
- Open the desired reporting software
- Click to make a connection to application "PM" the "Database" server via [ConnectionA]
- Validate [TableA] and [TableB] are accessible
- Click to make a connection to application "CWS" on the "Database" server via [ConnectionB]
- Validate the connection fails as expected, as the user does not have any access to tables in that application
- Click to make a connection to application "PM" on "ECP" server via [ConnectionC],
- Validate [TableA] and [TableB] are accessible
- Click to make a connection to application "CWS" on "ECP" server via [ConnectionD],
- Validate the connection fails as expected, as user does not have any access to tables in that application
- Open form "Registry Settings"
- Select registry setting "Avatar Report Multiple System Codes"
- Set the registry setting value to "Y"
- Submit the form
- Open form "User Definition", and select user [NoSqlAccess]
- Set prompt "Allow Product SQL Access" to "Yes"
- Click "Select Tables for Product SQL Access" and
- Assign the user access to [TableA] in "PM" and [TableC] in "CWS"
- Click [Save]
- Set prompt "Allow Product SQL Access to Additional Datasets" to "Yes"
- In the "Product SQL Access Datasets" field
- Select root system codes, [RootA] and [RootB]
- Submit the form
- Open the desired reporting software
- Click to make a connection to application "PM" the "Database" server via [ConnectionA]
- Validate data rows for [TableA] are displayed for the [RootA] system code and the [RootB] system code, as expected
- Click to make a connection to application "CWS" on the "Database" server via [ConnectionB]
- Validate data rows for [TableC] are displayed for the [RootA] system code and the [RootB] system code, as expected
- Click to make a connection to application "PM" on "ECP" server via [ConnectionC],
- Validate data rows for [TableA] are displayed for the [RootA] system code and the [RootB] system code, as expected
- Click to make a connection to application "CWS" on "ECP" server via [ConnectionD],
- Validate data rows for [TableC] are displayed for the [RootA] system code and the [RootB] system code, as expected
- Open the "Print Error Log" report
- Run the report
- Validate results show there are no errors reported
|
Topics
• SQL Data Access
|