added IsAEQualified

This commit is contained in:
v-kaywon 2017-07-24 14:34:05 -07:00 committed by Jenny Tam
parent 0fe5172651
commit 51d358ab33
3 changed files with 34 additions and 19 deletions

View file

@ -60,9 +60,9 @@ def getserver_version( server, uid, pwd ):
def is_ae_qualified( server, uid, pwd ):
msodbcsql_ver = getmsodbcsql_version( server, uid, pwd );
server_ver = getserver_version( server, uid, pwd );
msodbcsql_maj = msodbcsql_ver.split()[1]
msodbcsql_min = msodbcsql_ver.split()[2]
if msodbcsql_maj < 13 or ( msodbcsql_maj == 13 and msodbcsql_min == 0 ) or server_ver.split()[1] < 13:
msodbcsql_maj = msodbcsql_ver.split('.')[1]
msodbcsql_min = msodbcsql_ver.split('.')[2]
if msodbcsql_maj < 13 or ( msodbcsql_maj == 13 and msodbcsql_min == 0 ) or server_ver.split('.')[1] < 13:
return false
return true;

View file

@ -80,6 +80,17 @@ function IsDaasMode()
return ($daasMode ? true : false);
}
function IsAEQualified($conn)
{
$msodbcsql_ver = sqlsrv_client_info($conn)['DriverVer'];
$server_ver = sqlsrv_server_info($conn)['SQLServerVersion'];
$msodbcsql_maj = explode(".", $msodbcsql_ver)[0];
$msodbcsql_min = explode(".", $msodbcsql_ver)[1];
if ($msodbcsql_maj < 13 || ( $msodbcsql_maj == 13 && $msodbcsql_min == 0 ) || explode('.')[0] < 13)
return false;
return true;
}
function StartTest($testName)
{
include 'MsSetup.inc';
@ -165,7 +176,7 @@ function GetTempTableName($table = '', $temporary = true)
// dropped once the connection is closed. Otherwise, the caller
// should take care of dropping the temp table afterwards.
$someNumber = rand(0, 1000);
$timestamp = round(microtime(true)*1000);
$prefix = '';
if ($temporary)
@ -174,7 +185,7 @@ function GetTempTableName($table = '', $temporary = true)
if (strlen($table) == 0)
$table = 'php_test_table';
return $prefix . $table . '_' . $someNumber;
return $prefix . $table . '_' . $timestamp;
}
function GetTempProcName($proc = '', $temporary = true)
@ -183,7 +194,7 @@ function GetTempProcName($proc = '', $temporary = true)
// automatically dropped once the connection is closed. Otherwise,
// the caller should take care of dropping the temp procedure afterwards.
$someNumber = rand(0, 1000);
$timestamp = round(microtime(true)*1000);
$prefix = '';
if ($temporary)
@ -192,7 +203,7 @@ function GetTempProcName($proc = '', $temporary = true)
if (strlen($proc) == 0)
$proc = 'php_test_proc';
return $prefix . $proc . '_' . $someNumber;
return $prefix . $proc . '_' . $timestamp;
}
function ExecuteQuery($conn, $query)

View file

@ -1,15 +1,16 @@
--TEST--
retrieval of names of column master key and column encryption key generated in the database setup
--SKIPIF--
<?php require('skipif.inc'); ?>
<?php if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') die("Skipped: Test for Windows"); ?>
--FILE--
<?php
sqlsrv_configure( 'WarningsReturnAsErrors', 0 );
sqlsrv_configure( 'LogSeverity', SQLSRV_LOG_SEVERITY_ALL );
sqlsrv_configure( 'WarningsReturnAsErrors', 0 );
sqlsrv_configure( 'LogSeverity', SQLSRV_LOG_SEVERITY_ALL );
require( 'MsCommon.inc' );
$conn = Connect();
require( 'MsCommon.inc' );
$conn = Connect();
if (IsAEQualified($conn)){
$query = "SELECT name FROM sys.column_master_keys";
$stmt = sqlsrv_query($conn, $query);
@ -21,12 +22,15 @@ retrieval of names of column master key and column encryption key generated in t
sqlsrv_fetch($stmt);
$encryption_key_name = sqlsrv_get_field($stmt, 0);
echo "Column Master Key generated: $master_key_name \n";
echo "Column Encryption Key generated: $encryption_key_name \n";
if ($master_key_name == 'AEMasterKey' && $encryption_key_name == 'AEColumnKey'){
echo "Test Successfully.\n";
}
sqlsrv_free_stmt($stmt);
sqlsrv_close( $conn );
}
else {
echo "Test Successfully.\n";
}
sqlsrv_close( $conn );
?>
--EXPECT--
Column Master Key generated: AEMasterKey
Column Encryption Key generated: AEColumnKey
Test Successfully.