@@ -173,6 +173,43 @@ public void Test_MSSQL_FetchData_Dictionary_DataTypes_Check()
173173 Assert . AreEqual ( "<root><element>XmlData</element></root>" , dataType . ReferenceData [ "Xml_Column" ] ) ;
174174 }
175175
176+ [ TestMethod ]
177+ [ TestCategory ( DB_TESTS ) , TestCategory ( MSSQL_TESTS ) ]
178+ public void Test_MSSQL_FetchData_Dictionary_UnsupportedCommands ( )
179+ {
180+ var sqlStatements = new List < string >
181+ {
182+ Queries . MSSQLQueries . TestDB . DDL . Create_Table ,
183+ Queries . MSSQLQueries . TestDB . DDL . Alter_Table ,
184+ Queries . MSSQLQueries . TestDB . DDL . Comment_Table ,
185+ Queries . MSSQLQueries . TestDB . DDL . Truncate_Table ,
186+ Queries . MSSQLQueries . TestDB . DDL . Drop_Table ,
187+
188+ Queries . MSSQLQueries . TestDB . DML . InsertSql ,
189+ Queries . MSSQLQueries . TestDB . DML . UpdateSql ,
190+ Queries . MSSQLQueries . TestDB . DML . DeleteSql ,
191+
192+ Queries . MSSQLQueries . TestDB . DCL . GrantSql_Command_Table_User ,
193+ Queries . MSSQLQueries . TestDB . DCL . RevokeSql_Command_Table_User
194+ } ;
195+
196+ foreach ( var sqlStatement in sqlStatements )
197+ {
198+ try
199+ {
200+ var dbContext = new DBContext ( DB . MSSQL , MSSQLConnectionString ) ;
201+ dbContext . FetchData ( sqlStatement ) ;
202+ Assert . Fail ( "No Exception" ) ;
203+ }
204+ catch ( QueryDBException ex )
205+ {
206+ Assert . AreEqual ( "Only SELECT queries are supported here." , ex . Message ) ;
207+ Assert . AreEqual ( "UnsupportedCommand" , ex . ErrorType ) ;
208+ Assert . AreEqual ( "'FetchData' only supports SELECT queries that return result set." , ex . AdditionalInfo ) ;
209+ }
210+ }
211+ }
212+
176213 #endregion
177214
178215 #region Fetch Data Async Tests - << Task<List<DataDictionary>> FetchDataAsync(string selectSql, bool upperCaseKeys = false) >>
@@ -316,6 +353,43 @@ public async Task Test_MSSQL_FetchDataAsync_Dictionary_DataTypes_Check()
316353 Assert . AreEqual ( "<root><element>XmlData</element></root>" , dataType . ReferenceData [ "Xml_Column" ] ) ;
317354 }
318355
356+ [ TestMethod ]
357+ [ TestCategory ( DB_TESTS ) , TestCategory ( MSSQL_TESTS ) ]
358+ public async Task Test_MSSQL_FetchDataAsync_Dictionary_UnsupportedCommands ( )
359+ {
360+ var sqlStatements = new List < string >
361+ {
362+ Queries . MSSQLQueries . TestDB . DDL . Create_Table ,
363+ Queries . MSSQLQueries . TestDB . DDL . Alter_Table ,
364+ Queries . MSSQLQueries . TestDB . DDL . Comment_Table ,
365+ Queries . MSSQLQueries . TestDB . DDL . Truncate_Table ,
366+ Queries . MSSQLQueries . TestDB . DDL . Drop_Table ,
367+
368+ Queries . MSSQLQueries . TestDB . DML . InsertSql ,
369+ Queries . MSSQLQueries . TestDB . DML . UpdateSql ,
370+ Queries . MSSQLQueries . TestDB . DML . DeleteSql ,
371+
372+ Queries . MSSQLQueries . TestDB . DCL . GrantSql_Command_Table_User ,
373+ Queries . MSSQLQueries . TestDB . DCL . RevokeSql_Command_Table_User
374+ } ;
375+
376+ foreach ( var sqlStatement in sqlStatements )
377+ {
378+ try
379+ {
380+ var dbContext = new DBContext ( DB . MSSQL , MSSQLConnectionString ) ;
381+ await dbContext . FetchDataAsync ( sqlStatement ) ;
382+ Assert . Fail ( "No Exception" ) ;
383+ }
384+ catch ( QueryDBException ex )
385+ {
386+ Assert . AreEqual ( "Only SELECT queries are supported here." , ex . Message ) ;
387+ Assert . AreEqual ( "UnsupportedCommand" , ex . ErrorType ) ;
388+ Assert . AreEqual ( "'FetchData' only supports SELECT queries that return result set." , ex . AdditionalInfo ) ;
389+ }
390+ }
391+ }
392+
319393 #endregion
320394
321395 #region Fetch Data Tests - << List<T> FetchData<T>(string selectSql, bool strict = false) >>
@@ -453,6 +527,43 @@ public void Test_MSSQL_FetchData_Entity_Strict_Error_Check()
453527 }
454528 }
455529
530+ [ TestMethod ]
531+ [ TestCategory ( DB_TESTS ) , TestCategory ( MSSQL_TESTS ) ]
532+ public void Test_MSSQL_FetchData_Entity_UnsupportedCommands ( )
533+ {
534+ var sqlStatements = new List < string >
535+ {
536+ Queries . MSSQLQueries . TestDB . DDL . Create_Table ,
537+ Queries . MSSQLQueries . TestDB . DDL . Alter_Table ,
538+ Queries . MSSQLQueries . TestDB . DDL . Comment_Table ,
539+ Queries . MSSQLQueries . TestDB . DDL . Truncate_Table ,
540+ Queries . MSSQLQueries . TestDB . DDL . Drop_Table ,
541+
542+ Queries . MSSQLQueries . TestDB . DML . InsertSql ,
543+ Queries . MSSQLQueries . TestDB . DML . UpdateSql ,
544+ Queries . MSSQLQueries . TestDB . DML . DeleteSql ,
545+
546+ Queries . MSSQLQueries . TestDB . DCL . GrantSql_Command_Table_User ,
547+ Queries . MSSQLQueries . TestDB . DCL . RevokeSql_Command_Table_User
548+ } ;
549+
550+ foreach ( var sqlStatement in sqlStatements )
551+ {
552+ try
553+ {
554+ var dbContext = new DBContext ( DB . MSSQL , MSSQLConnectionString ) ;
555+ dbContext . FetchData < Entities . MSSQL . Orders > ( sqlStatement ) ;
556+ Assert . Fail ( "No Exception" ) ;
557+ }
558+ catch ( QueryDBException ex )
559+ {
560+ Assert . AreEqual ( "Only SELECT queries are supported here." , ex . Message ) ;
561+ Assert . AreEqual ( "UnsupportedCommand" , ex . ErrorType ) ;
562+ Assert . AreEqual ( "'FetchData' only supports SELECT queries that return result set." , ex . AdditionalInfo ) ;
563+ }
564+ }
565+ }
566+
456567 #endregion
457568
458569 #region Fetch Data Async Tests - << Task<List<T>> FetchDataAsync<T>(string selectSql, bool strict = false) >>
@@ -590,6 +701,43 @@ public async Task Test_MSSQL_FetchDataAsync_Entity_Strict_Error_Check()
590701 }
591702 }
592703
704+ [ TestMethod ]
705+ [ TestCategory ( DB_TESTS ) , TestCategory ( MSSQL_TESTS ) ]
706+ public async Task Test_MSSQL_FetchDataAsync_Entity_UnsupportedCommands ( )
707+ {
708+ var sqlStatements = new List < string >
709+ {
710+ Queries . MSSQLQueries . TestDB . DDL . Create_Table ,
711+ Queries . MSSQLQueries . TestDB . DDL . Alter_Table ,
712+ Queries . MSSQLQueries . TestDB . DDL . Comment_Table ,
713+ Queries . MSSQLQueries . TestDB . DDL . Truncate_Table ,
714+ Queries . MSSQLQueries . TestDB . DDL . Drop_Table ,
715+
716+ Queries . MSSQLQueries . TestDB . DML . InsertSql ,
717+ Queries . MSSQLQueries . TestDB . DML . UpdateSql ,
718+ Queries . MSSQLQueries . TestDB . DML . DeleteSql ,
719+
720+ Queries . MSSQLQueries . TestDB . DCL . GrantSql_Command_Table_User ,
721+ Queries . MSSQLQueries . TestDB . DCL . RevokeSql_Command_Table_User
722+ } ;
723+
724+ foreach ( var sqlStatement in sqlStatements )
725+ {
726+ try
727+ {
728+ var dbContext = new DBContext ( DB . MSSQL , MSSQLConnectionString ) ;
729+ await dbContext . FetchDataAsync < Entities . MSSQL . Orders > ( sqlStatement ) ;
730+ Assert . Fail ( "No Exception" ) ;
731+ }
732+ catch ( QueryDBException ex )
733+ {
734+ Assert . AreEqual ( "Only SELECT queries are supported here." , ex . Message ) ;
735+ Assert . AreEqual ( "UnsupportedCommand" , ex . ErrorType ) ;
736+ Assert . AreEqual ( "'FetchData' only supports SELECT queries that return result set." , ex . AdditionalInfo ) ;
737+ }
738+ }
739+ }
740+
593741 #endregion
594742
595743 #region Execute Scalar Tests - << string ExecuteScalar(string sqlStatement) >>
0 commit comments