Skip to content

Commit 4cd2e4f

Browse files
committed
Fetch Data - Unsupported commands test updates
1 parent 2162304 commit 4cd2e4f

File tree

2 files changed

+27
-13
lines changed

2 files changed

+27
-13
lines changed

QueryDB.Core.Tests/MySQLTests.cs

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1325,7 +1325,11 @@ public void Test_MySQL_ExecuteCommand_DCL_Queries()
13251325
var password = "Test@1234";
13261326
var table = "Agents";
13271327
var commands = "SELECT, UPDATE";
1328-
var checkCommand = "SELECT";
1328+
var checkCommands = new List<string>()
1329+
{
1330+
"SELECT",
1331+
"UPDATE"
1332+
};
13291333

13301334
var createUser = string.Format(Queries.MySQLQueries.TestDB.DCL.CreateUserSql_User_Password, user, password);
13311335
var grantSql = string.Format(Queries.MySQLQueries.TestDB.DCL.GrantSql_Command_Table_User, commands, table, user);
@@ -1341,22 +1345,25 @@ public void Test_MySQL_ExecuteCommand_DCL_Queries()
13411345

13421346
// Existing Permissions
13431347
var data = dbContext.FetchData(verifyPermissions);
1344-
Assert.AreEqual(1, data.Count);
1345-
Assert.IsFalse(data.Any(data => data.ReferenceData.Values.Any(value => value.Contains(checkCommand))));
1348+
Assert.AreEqual(0, data.Count);
1349+
foreach (var checkCommand in checkCommands)
1350+
Assert.IsFalse(data.Any(data => data.ReferenceData.Values.Any(value => value.Contains(checkCommand))));
13461351

13471352
// Grant
13481353
result = dbContext.ExecuteCommand(grantSql);
13491354
Assert.AreEqual(0, result);
13501355
data = dbContext.FetchData(verifyPermissions);
13511356
Assert.AreEqual(2, data.Count);
1352-
Assert.IsTrue(data.Any(data => data.ReferenceData.Values.Any(value => value.Contains(checkCommand))));
1357+
foreach (var checkCommand in checkCommands)
1358+
Assert.IsTrue(data.Any(data => data.ReferenceData.Values.Any(value => value.Contains(checkCommand))));
13531359

13541360
// Revoke
13551361
result = dbContext.ExecuteCommand(revokeSql);
13561362
Assert.AreEqual(0, result);
13571363
data = dbContext.FetchData(verifyPermissions);
1358-
Assert.AreEqual(1, data.Count);
1359-
Assert.IsFalse(data.Any(data => data.ReferenceData.Values.Any(value => value.Contains(checkCommand))));
1364+
Assert.AreEqual(0, data.Count);
1365+
foreach (var checkCommand in checkCommands)
1366+
Assert.IsFalse(data.Any(data => data.ReferenceData.Values.Any(value => value.Contains(checkCommand))));
13601367

13611368
//Remove User
13621369
result = dbContext.ExecuteCommand(removeUser);
@@ -1488,7 +1495,11 @@ public async Task Test_MySQL_ExecuteCommandAsync_DCL_Queries()
14881495
var password = "Test@1234";
14891496
var table = "Agents";
14901497
var commands = "SELECT, UPDATE";
1491-
var checkCommand = "SELECT";
1498+
var checkCommands = new List<string>()
1499+
{
1500+
"SELECT",
1501+
"UPDATE"
1502+
};
14921503

14931504
var createUser = string.Format(Queries.MySQLQueries.TestDB.DCL.CreateUserSql_User_Password, user, password);
14941505
var grantSql = string.Format(Queries.MySQLQueries.TestDB.DCL.GrantSql_Command_Table_User, commands, table, user);
@@ -1504,22 +1515,25 @@ public async Task Test_MySQL_ExecuteCommandAsync_DCL_Queries()
15041515

15051516
// Existing Permissions
15061517
var data = await dbContext.FetchDataAsync(verifyPermissions);
1507-
Assert.AreEqual(1, data.Count);
1508-
Assert.IsFalse(data.Any(data => data.ReferenceData.Values.Any(value => value.Contains(checkCommand))));
1518+
Assert.AreEqual(0, data.Count);
1519+
foreach (var checkCommand in checkCommands)
1520+
Assert.IsFalse(data.Any(data => data.ReferenceData.Values.Any(value => value.Contains(checkCommand))));
15091521

15101522
// Grant
15111523
result = await dbContext.ExecuteCommandAsync(grantSql);
15121524
Assert.AreEqual(0, result);
15131525
data = await dbContext.FetchDataAsync(verifyPermissions);
15141526
Assert.AreEqual(2, data.Count);
1515-
Assert.IsTrue(data.Any(data => data.ReferenceData.Values.Any(value => value.Contains(checkCommand))));
1527+
foreach (var checkCommand in checkCommands)
1528+
Assert.IsTrue(data.Any(data => data.ReferenceData.Values.Any(value => value.Contains(checkCommand))));
15161529

15171530
// Revoke
15181531
result = await dbContext.ExecuteCommandAsync(revokeSql);
15191532
Assert.AreEqual(0, result);
15201533
data = await dbContext.FetchDataAsync(verifyPermissions);
1521-
Assert.AreEqual(1, data.Count);
1522-
Assert.IsFalse(data.Any(data => data.ReferenceData.Values.Any(value => value.Contains(checkCommand))));
1534+
Assert.AreEqual(0, data.Count);
1535+
foreach (var checkCommand in checkCommands)
1536+
Assert.IsFalse(data.Any(data => data.ReferenceData.Values.Any(value => value.Contains(checkCommand))));
15231537

15241538
//Remove User
15251539
result = await dbContext.ExecuteCommandAsync(removeUser);

QueryDB.Core.Tests/Queries.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ internal static class DCL
125125
internal static string CreateUserSql_User_Password = @"CREATE USER '{0}' IDENTIFIED BY '{1}'";
126126
internal static string GrantSql_Command_Table_User = @"GRANT {0} ON {1} TO '{2}'";
127127
internal static string RevokeSql_Command_Table_User = @"REVOKE {0} ON {1} FROM '{2}'";
128-
internal static string VerifyPermission_User = @"SHOW GRANTS FOR '{0}'";
128+
internal static string VerifyPermission_User = "SELECT PRIVILEGE_TYPE FROM INFORMATION_SCHEMA.TABLE_PRIVILEGES WHERE GRANTEE = \"'test_user'@'%'\"";
129129
internal static string RemoveUserSql_User = "DROP USER '{0}'";
130130
}
131131
}

0 commit comments

Comments
 (0)