diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 0de9c9a..572e36e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -18,7 +18,7 @@ jobs:
strategy:
matrix:
os: [ windows-2022, ubuntu-22.04, macOS-14 ]
- dotnet-version: [ '3.1.x', '6.0.x', '7.0.x', '8.0.x' ]
+ dotnet-version: [ '3.1.x', '5.0.x', '6.0.x', '7.0.x', '8.0.x', '9.0.x' ]
steps:
- name: Checkout Repository
@@ -31,14 +31,28 @@ jobs:
with:
dotnet-version: ${{ matrix.dotnet-version }}
- - name: Find And Replace Values (App Config)
+ - name: Find And Replace Values (App Settings)
uses: abhinavminhas/replace-tokens@main
with:
- files: '${{ github.workspace }}/QueryDB.Core.Tests/App.config'
+ files: '${{ github.workspace }}/QueryDB.Core.Tests/appsettings.json'
replacements: '__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }}'
- - name: Build
- run: dotnet build QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
+ - name: Build (${{ matrix.dotnet-version }})
+ shell: bash
+ run: |
+ if [[ "${{ matrix.dotnet-version }}" == "3.1"* ]]; then
+ dotnet build -f netcoreapp3.1 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
+ elif [[ "${{ matrix.dotnet-version }}" == "5.0"* ]]; then
+ dotnet build -f net5.0 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
+ elif [[ "${{ matrix.dotnet-version }}" == "6.0"* ]]; then
+ dotnet build -f net6.0 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
+ elif [[ "${{ matrix.dotnet-version }}" == "7.0"* ]]; then
+ dotnet build -f net7.0 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
+ elif [[ "${{ matrix.dotnet-version }}" == "8.0"* ]]; then
+ dotnet build -f net8.0 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
+ elif [[ "${{ matrix.dotnet-version }}" == "9.0"* ]]; then
+ dotnet build -f net9.0 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
+ fi
- name: Docker Compose (Start - DB Containers)
if: ${{ (matrix.os == 'ubuntu-22.04') && (matrix.dotnet-version == '3.1.x') }}
@@ -58,9 +72,9 @@ jobs:
with:
dbPassword: ${{ secrets.DB_PASSWORD }}
- - name: Test
+ - name: Test (${{ matrix.dotnet-version }})
if: ${{ (matrix.os == 'ubuntu-22.04') && (matrix.dotnet-version == '3.1.x') }}
- run: dotnet test --no-build --logger "console;verbosity=detailed" --verbosity normal --configuration Release --filter TestCategory=DB-TESTS
+ run: dotnet test --framework netcoreapp3.1 --no-build --logger "console;verbosity=detailed" --verbosity normal --configuration Release --filter TestCategory=DB-TESTS
- name: Docker Compose (Tear Down - DB Containers)
if: ${{ (matrix.os == 'ubuntu-22.04') && (matrix.dotnet-version == '3.1.x') && always() }}
@@ -86,14 +100,14 @@ jobs:
with:
dotnet-version: ${{ matrix.dotnet-version }}
- - name: Find And Replace Values (App Config)
+ - name: Find And Replace Values (App Settings)
uses: abhinavminhas/replace-tokens@main
with:
- files: '${{ github.workspace }}/QueryDB.Core.Tests/App.config'
+ files: '${{ github.workspace }}/QueryDB.Core.Tests/appsettings.json'
replacements: '__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }}'
- - name: Build
- run: dotnet build QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
+ - name: Build (${{ matrix.dotnet-version }})
+ run: dotnet build -f netcoreapp3.1 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
- name: Docker Compose (Start - DB Containers)
uses: ./.github/workflows/docker-compose-start-dbs
@@ -110,8 +124,8 @@ jobs:
with:
dbPassword: ${{ secrets.DB_PASSWORD }}
- - name: Test
- run: dotnet test --no-build --logger "console;verbosity=detailed" --verbosity normal --configuration Release --filter TestCategory=DB-TESTS /p:CollectCoverage=true /p:CoverletOutputFormat=lcov
+ - name: Test (${{ matrix.dotnet-version }})
+ run: dotnet test --framework netcoreapp3.1 --no-build --logger "console;verbosity=detailed" --verbosity normal --configuration Release --filter TestCategory=DB-TESTS /p:CollectCoverage=true /p:CoverletOutputFormat=lcov
- name: Docker Compose (Tear Down - DB Containers)
if: always()
diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
index 8d6f1db..e2db10a 100644
--- a/.github/workflows/coverage.yml
+++ b/.github/workflows/coverage.yml
@@ -22,14 +22,14 @@ jobs:
with:
dotnet-version: ${{ matrix.dotnet-version }}
- - name: Find And Replace Values (App Config)
+ - name: Find And Replace Values (App Settings)
uses: abhinavminhas/replace-tokens@main
with:
- files: '${{ github.workspace }}/QueryDB.Core.Tests/App.config'
+ files: '${{ github.workspace }}/QueryDB.Core.Tests/appsettings.json'
replacements: '__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }}'
- - name: Build
- run: dotnet build QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
+ - name: Build (${{ matrix.dotnet-version }})
+ run: dotnet build -f netcoreapp3.1 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
- name: Docker Compose (Start - DB Containers)
uses: ./.github/workflows/docker-compose-start-dbs
@@ -46,8 +46,8 @@ jobs:
with:
dbPassword: ${{ secrets.DB_PASSWORD }}
- - name: Test
- run: dotnet test --no-build --logger "console;verbosity=detailed" --verbosity normal --configuration Release --filter TestCategory=DB-TESTS /p:CollectCoverage=true /p:CoverletOutputFormat=lcov
+ - name: Test (${{ matrix.dotnet-version }})
+ run: dotnet test --framework netcoreapp3.1 --no-build --logger "console;verbosity=detailed" --verbosity normal --configuration Release --filter TestCategory=DB-TESTS /p:CollectCoverage=true /p:CoverletOutputFormat=lcov
- name: Docker Compose (Tear Down - DB Containers)
uses: ./.github/workflows/docker-compose-teardown-dbs
diff --git a/.github/workflows/publish-nuget-Package.yml b/.github/workflows/publish-nuget-Package.yml
new file mode 100644
index 0000000..db9f86a
--- /dev/null
+++ b/.github/workflows/publish-nuget-Package.yml
@@ -0,0 +1,32 @@
+name: Publish Nuget Package
+
+env:
+ NUGET_PACKAGE_NAME_VERSION: "QueryDB.1.0.0.nupkg"
+
+on:
+ workflow_dispatch:
+
+jobs:
+ build:
+ name: Publish Nuget Package
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ ubuntu-22.04 ]
+ dotnet-version: [ '3.1.x' ]
+
+ steps:
+ - name: Checkout Repository
+ uses: actions/checkout@v4
+
+ - name: Dotnet Version (${{ matrix.dotnet-version }})
+ uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: '3.1.x'
+
+ - name: Create Package
+ run: dotnet pack --configuration=Release QueryDB/QueryDB.csproj
+
+ - name: Publish Nuget Package
+ run: dotnet nuget push QueryDB/bin/Release/${{ env.NUGET_PACKAGE_NAME_VERSION }} -s https://api.nuget.org/v3/index.json -k ${{ secrets.NUGET_API_KEY }}
+
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..dec4197
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,11 @@
+# Changelog
+All notable changes to this project documented here.
+
+## [Released]
+
+## [1.0.0](https://www.nuget.org/packages/QueryDB/1.0.0) - 2025-02-18
+### Added
+- QueryDB framework for simplified querying and executing transactions across multiple database systems.
+ - Retrieve data from database.
+ - Execute database commands.
+ - Execute transactions while maintaining atomicity.
\ No newline at end of file
diff --git a/QueryDB.Core.Tests/App.config b/QueryDB.Core.Tests/App.config
deleted file mode 100644
index 3830d0f..0000000
--- a/QueryDB.Core.Tests/App.config
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/QueryDB.Core.Tests/MSSQLTests.cs b/QueryDB.Core.Tests/MSSQLTests.cs
index 92f072e..a2bedec 100644
--- a/QueryDB.Core.Tests/MSSQLTests.cs
+++ b/QueryDB.Core.Tests/MSSQLTests.cs
@@ -39,7 +39,7 @@ public void Test_MSSQL_FetchData_Dictionary_SelectQuery()
{
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql;
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 12);
+ Assert.AreEqual(12, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["Agent_Name"] == "Benjamin");
Assert.AreEqual("A009", agent.ReferenceData["Agent_Code"]);
Assert.AreEqual("Benjamin", agent.ReferenceData["Agent_Name"]);
@@ -55,7 +55,7 @@ public void Test_MSSQL_FetchData_Dictionary_SelectQuery_UpperCaseKeys()
{
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql;
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
- Assert.IsTrue(data.Count == 12);
+ Assert.AreEqual(12, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_NAME"] == "Benjamin");
Assert.AreEqual("A009", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Benjamin", agent.ReferenceData["AGENT_NAME"]);
@@ -71,7 +71,7 @@ public void Test_MSSQL_FetchData_Dictionary_SelectQuery_Joins()
{
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Join;
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["Agent_Code"] == "A004" && X.ReferenceData["Cust_Code"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["Agent_Code"]);
Assert.AreEqual("Ivan", agent.ReferenceData["Agent_Name"]);
@@ -89,7 +89,7 @@ public void Test_MSSQL_FetchData_Dictionary_SelectQuery_Joins_UpperCaseKeys()
{
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Join;
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT_NAME"]);
@@ -107,7 +107,7 @@ public void Test_MSSQL_FetchData_Dictionary_SelectQuery_Aliases()
{
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Alias;
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["Agent_Code"] == "A004" && X.ReferenceData["Cust_Code"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["Agent_Code"]);
Assert.AreEqual("Ivan", agent.ReferenceData["Agent"]);
@@ -123,7 +123,7 @@ public void Test_MSSQL_FetchData_Dictionary_SelectQuery_Aliases_UpperCaseKeys()
{
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Alias;
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT"]);
@@ -139,7 +139,7 @@ public void Test_MSSQL_FetchData_Dictionary_DataTypes_Check()
{
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_DataTypes;
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var dataType = data.FirstOrDefault();
Assert.AreEqual("9223372036854775807", dataType.ReferenceData["BigInt_Column"]);
Assert.AreEqual("EjRWeJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", dataType.ReferenceData["Binary_Column"]);
@@ -182,7 +182,7 @@ public void Test_MSSQL_FetchData_Entity_SelectQuery()
{
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql;
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 12);
+ Assert.AreEqual(12, data.Count);
var agent = data.FirstOrDefault(X => X.Agent_Name == "Benjamin");
Assert.AreEqual("A009", agent.Agent_Code);
Assert.AreEqual("Benjamin", agent.Agent_Name);
@@ -198,7 +198,7 @@ public void Test_MSSQL_FetchData_Entity_SelectQuery_Joins()
{
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Join;
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.Agent_Code == "A004" && X.Cust_Code == "C00006");
Assert.AreEqual("A004", agent.Agent_Code);
Assert.AreEqual("Ivan", agent.Agent_Name);
@@ -209,10 +209,10 @@ public void Test_MSSQL_FetchData_Entity_SelectQuery_Joins()
Assert.AreEqual((decimal)500.00, agent.Advance_Amount);
Assert.AreEqual("SOD", agent.Ord_Description);
// Non Existent Query Data
- Assert.AreEqual(null, agent.Agent);
- Assert.AreEqual(null, agent.Agent_Location);
- Assert.AreEqual(null, agent.Customer);
- Assert.AreEqual(null, agent.Customer_Location);
+ Assert.IsNull(agent.Agent);
+ Assert.IsNull(agent.Agent_Location);
+ Assert.IsNull(agent.Customer);
+ Assert.IsNull(agent.Customer_Location);
}
[TestMethod]
@@ -221,7 +221,7 @@ public void Test_MSSQL_FetchData_Entity_SelectQuery_Aliases()
{
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Alias;
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.Agent_Code == "A004" && X.Cust_Code == "C00006");
Assert.AreEqual("A004", agent.Agent_Code);
Assert.AreEqual("Ivan", agent.Agent);
@@ -230,12 +230,12 @@ public void Test_MSSQL_FetchData_Entity_SelectQuery_Aliases()
Assert.AreEqual("Shilton", agent.Customer);
Assert.AreEqual("Torento", agent.Customer_Location);
// Non Existent Query Data
- Assert.AreEqual(null, agent.Agent_Name);
- Assert.AreEqual(null, agent.Cust_Name);
+ Assert.IsNull(agent.Agent_Name);
+ Assert.IsNull(agent.Cust_Name);
Assert.AreEqual(0, agent.Ord_Num);
Assert.AreEqual(0, agent.Ord_Amount);
Assert.AreEqual(0, agent.Advance_Amount);
- Assert.AreEqual(null, agent.Ord_Description);
+ Assert.IsNull(agent.Ord_Description);
}
[TestMethod]
@@ -244,7 +244,7 @@ public void Test_MSSQL_FetchData_Entity_DataTypes_Check()
{
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_DataTypes;
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var dataType = data.FirstOrDefault();
Assert.AreEqual(9223372036854775807, dataType.BigInt_Column);
Assert.AreEqual("EjRWeJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", ConvertByteArrayToBase64(dataType.Binary_Column));
@@ -283,7 +283,7 @@ public void Test_MSSQL_FetchData_Entity_Strict_Check()
{
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Strict;
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql, strict: true);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var dataType = data.FirstOrDefault();
Assert.AreEqual("A003", dataType.Agent_Code);
Assert.AreEqual("Alex", dataType.Agent);
@@ -375,7 +375,7 @@ public void Test_MSSQL_ExecuteCommand_DML_Queries()
var rows = dbContext.ExecuteCommand(insertSql);
Assert.AreEqual(1, rows);
var data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var agent = data.FirstOrDefault();
Assert.AreEqual("A020", agent.ReferenceData["Agent_Code"]);
Assert.AreEqual("John", agent.ReferenceData["Agent_Name"]);
@@ -388,7 +388,7 @@ public void Test_MSSQL_ExecuteCommand_DML_Queries()
rows = dbContext.ExecuteCommand(updateSql);
Assert.AreEqual(1, rows);
data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
agent = data.FirstOrDefault();
Assert.AreEqual("A020", agent.ReferenceData["Agent_Code"]);
Assert.AreEqual("John", agent.ReferenceData["Agent_Name"]);
@@ -401,7 +401,7 @@ public void Test_MSSQL_ExecuteCommand_DML_Queries()
rows = dbContext.ExecuteCommand(deleteSql);
Assert.AreEqual(1, rows);
data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 0);
+ Assert.AreEqual(0, data.Count);
}
[TestMethod]
@@ -543,7 +543,7 @@ public void Test_MSSQL_ExecuteTransaction_DML_Multiple_Queries()
var result = dbContext.ExecuteTransaction(statements);
Assert.IsTrue(result);
var data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var agent = data.FirstOrDefault();
Assert.AreEqual("A020", agent.ReferenceData["Agent_Code"]);
Assert.AreEqual("John", agent.ReferenceData["Agent_Name"]);
@@ -560,7 +560,7 @@ public void Test_MSSQL_ExecuteTransaction_DML_Multiple_Queries()
result = dbContext.ExecuteTransaction(statements);
Assert.IsTrue(result);
data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 0);
+ Assert.AreEqual(0, data.Count);
}
[TestMethod]
@@ -584,7 +584,7 @@ public void Test_MSSQL_ExecuteTransaction_Incomplete_Transaction_Rollback_On_Err
var result = dbContext.ExecuteTransaction(statements);
Assert.IsFalse(result);
var data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 0);
+ Assert.AreEqual(0, data.Count);
}
[TestMethod]
diff --git a/QueryDB.Core.Tests/MySQLTests.cs b/QueryDB.Core.Tests/MySQLTests.cs
index c8812cc..a176ecc 100644
--- a/QueryDB.Core.Tests/MySQLTests.cs
+++ b/QueryDB.Core.Tests/MySQLTests.cs
@@ -39,7 +39,7 @@ public void Test_MySQL_FetchData_Dictionary_SelectQuery()
{
var selectSql = Queries.MySQLQueries.TestDB.SelectSql;
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 12);
+ Assert.AreEqual(12, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["Agent_Name"] == "Benjamin");
Assert.AreEqual("A009", agent.ReferenceData["Agent_Code"]);
Assert.AreEqual("Benjamin", agent.ReferenceData["Agent_Name"]);
@@ -55,7 +55,7 @@ public void Test_MySQL_FetchData_Dictionary_SelectQuery_UpperCaseKeys()
{
var selectSql = Queries.MySQLQueries.TestDB.SelectSql;
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
- Assert.IsTrue(data.Count == 12);
+ Assert.AreEqual(12, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_NAME"] == "Benjamin");
Assert.AreEqual("A009", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Benjamin", agent.ReferenceData["AGENT_NAME"]);
@@ -71,7 +71,7 @@ public void Test_MySQL_FetchData_Dictionary_SelectQuery_Joins()
{
var selectSql = Queries.MySQLQueries.TestDB.SelectSql_Join;
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["Agent_Code"] == "A004" && X.ReferenceData["Cust_Code"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["Agent_Code"]);
Assert.AreEqual("Ivan", agent.ReferenceData["Agent_Name"]);
@@ -89,7 +89,7 @@ public void Test_MySQL_FetchData_Dictionary_SelectQuery_Joins_UpperCaseKeys()
{
var selectSql = Queries.MySQLQueries.TestDB.SelectSql_Join;
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT_NAME"]);
@@ -107,7 +107,7 @@ public void Test_MySQL_FetchData_Dictionary_SelectQuery_Aliases()
{
var selectSql = Queries.MySQLQueries.TestDB.SelectSql_Alias;
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["Agent_Code"] == "A004" && X.ReferenceData["Cust_Code"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["Agent_Code"]);
Assert.AreEqual("Ivan", agent.ReferenceData["Agent"]);
@@ -123,7 +123,7 @@ public void Test_MySQL_FetchData_Dictionary_SelectQuery_Aliases_UpperCaseKeys()
{
var selectSql = Queries.MySQLQueries.TestDB.SelectSql_Alias;
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT"]);
@@ -139,7 +139,7 @@ public void Test_MySQL_FetchData_Dictionary_DataTypes_Check()
{
var selectSql = Queries.MySQLQueries.TestDB.SelectSql_DataTypes;
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var dataType = data.FirstOrDefault();
Assert.AreEqual("9223372036854775807", dataType.ReferenceData["BigInt_Column"]);
Assert.AreEqual("1", dataType.ReferenceData["Bit_Column"]);
@@ -172,7 +172,7 @@ public void Test_MySQL_FetchData_Entity_SelectQuery()
{
var selectSql = Queries.MySQLQueries.TestDB.SelectSql;
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 12);
+ Assert.AreEqual(12, data.Count);
var agent = data.FirstOrDefault(X => X.Agent_Name == "Benjamin");
Assert.AreEqual("A009", agent.Agent_Code);
Assert.AreEqual("Benjamin", agent.Agent_Name);
@@ -188,7 +188,7 @@ public void Test_MySQL_FetchData_Entity_SelectQuery_Joins()
{
var selectSql = Queries.MySQLQueries.TestDB.SelectSql_Join;
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.Agent_Code == "A004" && X.Cust_Code == "C00006");
Assert.AreEqual("A004", agent.Agent_Code);
Assert.AreEqual("Ivan", agent.Agent_Name);
@@ -199,10 +199,10 @@ public void Test_MySQL_FetchData_Entity_SelectQuery_Joins()
Assert.AreEqual((decimal)500.00, agent.Advance_Amount);
Assert.AreEqual("SOD", agent.Ord_Description);
// Non Existent Query Data
- Assert.AreEqual(null, agent.Agent);
- Assert.AreEqual(null, agent.Agent_Location);
- Assert.AreEqual(null, agent.Customer);
- Assert.AreEqual(null, agent.Customer_Location);
+ Assert.IsNull(agent.Agent);
+ Assert.IsNull(agent.Agent_Location);
+ Assert.IsNull(agent.Customer);
+ Assert.IsNull(agent.Customer_Location);
}
[TestMethod]
@@ -211,7 +211,7 @@ public void Test_MySQL_FetchData_Entity_SelectQuery_Aliases()
{
var selectSql = Queries.MySQLQueries.TestDB.SelectSql_Alias;
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.Agent_Code == "A004" && X.Cust_Code == "C00006");
Assert.AreEqual("A004", agent.Agent_Code);
Assert.AreEqual("Ivan", agent.Agent);
@@ -220,12 +220,12 @@ public void Test_MySQL_FetchData_Entity_SelectQuery_Aliases()
Assert.AreEqual("Shilton", agent.Customer);
Assert.AreEqual("Torento", agent.Customer_Location);
// Non Existent Query Data
- Assert.AreEqual(null, agent.Agent_Name);
- Assert.AreEqual(null, agent.Cust_Name);
+ Assert.IsNull(agent.Agent_Name);
+ Assert.IsNull(agent.Cust_Name);
Assert.AreEqual(0, agent.Ord_Num);
Assert.AreEqual(0, agent.Ord_Amount);
Assert.AreEqual(0, agent.Advance_Amount);
- Assert.AreEqual(null, agent.Ord_Description);
+ Assert.IsNull(agent.Ord_Description);
}
[TestMethod]
@@ -234,7 +234,7 @@ public void Test_MySQL_FetchData_Entity_DataTypes_Check()
{
var selectSql = Queries.MySQLQueries.TestDB.SelectSql_DataTypes;
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var dataType = data.FirstOrDefault();
Assert.AreEqual(9223372036854775807, dataType.BigInt_Column);
Assert.AreEqual((ulong?)1, dataType.Bit_Column);
@@ -263,7 +263,7 @@ public void Test_MySQL_FetchData_Entity_Strict_Check()
{
var selectSql = Queries.MySQLQueries.TestDB.SelectSql_Strict;
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql, strict: true);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var dataType = data.FirstOrDefault();
Assert.AreEqual("A003", dataType.Agent_Code);
Assert.AreEqual("Alex", dataType.Agent);
@@ -355,7 +355,7 @@ public void Test_MySQL_ExecuteCommand_DML_Queries()
var rows = dbContext.ExecuteCommand(insertSql);
Assert.AreEqual(1, rows);
var data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var agent = data.FirstOrDefault();
Assert.AreEqual("A020", agent.ReferenceData["Agent_Code"]);
Assert.AreEqual("John", agent.ReferenceData["Agent_Name"]);
@@ -368,7 +368,7 @@ public void Test_MySQL_ExecuteCommand_DML_Queries()
rows = dbContext.ExecuteCommand(updateSql);
Assert.AreEqual(1, rows);
data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
agent = data.FirstOrDefault();
Assert.AreEqual("A020", agent.ReferenceData["Agent_Code"]);
Assert.AreEqual("John", agent.ReferenceData["Agent_Name"]);
@@ -381,7 +381,7 @@ public void Test_MySQL_ExecuteCommand_DML_Queries()
rows = dbContext.ExecuteCommand(deleteSql);
Assert.AreEqual(1, rows);
data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 0);
+ Assert.AreEqual(0, data.Count);
}
[TestMethod]
@@ -515,7 +515,7 @@ public void Test_MySQL_ExecuteTransaction_DML_Multiple_Queries()
var result = dbContext.ExecuteTransaction(statements);
Assert.IsTrue(result);
var data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var agent = data.FirstOrDefault();
Assert.AreEqual("A020", agent.ReferenceData["Agent_Code"]);
Assert.AreEqual("John", agent.ReferenceData["Agent_Name"]);
@@ -532,7 +532,7 @@ public void Test_MySQL_ExecuteTransaction_DML_Multiple_Queries()
result = dbContext.ExecuteTransaction(statements);
Assert.IsTrue(result);
data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 0);
+ Assert.AreEqual(0, data.Count);
}
[TestMethod]
@@ -556,7 +556,7 @@ public void Test_MySQL_ExecuteTransaction_Incomplete_Transaction_Rollback_On_Err
var result = dbContext.ExecuteTransaction(statements);
Assert.IsFalse(result);
var data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 0);
+ Assert.AreEqual(0, data.Count);
}
[TestMethod]
diff --git a/QueryDB.Core.Tests/OracleTests.cs b/QueryDB.Core.Tests/OracleTests.cs
index c8a5e4f..a471859 100644
--- a/QueryDB.Core.Tests/OracleTests.cs
+++ b/QueryDB.Core.Tests/OracleTests.cs
@@ -39,7 +39,7 @@ public void Test_Oracle_FetchData_Dictionary_SelectQuery()
{
var selectSql = Queries.OracleQueries.TestDB.SelectSql;
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 12);
+ Assert.AreEqual(12, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_NAME"] == "Benjamin");
Assert.AreEqual("A009", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Benjamin", agent.ReferenceData["AGENT_NAME"]);
@@ -55,7 +55,7 @@ public void Test_Oracle_FetchData_Dictionary_SelectQuery_UpperCaseKeys()
{
var selectSql = Queries.OracleQueries.TestDB.SelectSql;
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql, upperCaseKeys: true);
- Assert.IsTrue(data.Count == 12);
+ Assert.AreEqual(12, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_NAME"] == "Benjamin");
Assert.AreEqual("A009", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Benjamin", agent.ReferenceData["AGENT_NAME"]);
@@ -71,7 +71,7 @@ public void Test_Oracle_FetchData_Dictionary_SelectQuery_Joins()
{
var selectSql = Queries.OracleQueries.TestDB.SelectSql_Join;
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT_NAME"]);
@@ -89,7 +89,7 @@ public void Test_Oracle_FetchData_Dictionary_SelectQuery_Joins_UpperCaseKeys()
{
var selectSql = Queries.OracleQueries.TestDB.SelectSql_Join;
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql, upperCaseKeys: true);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT_NAME"]);
@@ -107,7 +107,7 @@ public void Test_Oracle_FetchData_Dictionary_SelectQuery_Aliases()
{
var selectSql = Queries.OracleQueries.TestDB.SelectSql_Alias;
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT"]);
@@ -123,7 +123,7 @@ public void Test_Oracle_FetchData_Dictionary_SelectQuery_Aliases_UpperCaseKeys()
{
var selectSql = Queries.OracleQueries.TestDB.SelectSql_Alias;
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql, upperCaseKeys: true);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT"]);
@@ -139,7 +139,7 @@ public void Test_Oracle_FetchData_Dictionary_DataTypes_Check()
{
var selectSql = Queries.OracleQueries.TestDB.SelectSql_DataTypes;
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 2);
+ Assert.AreEqual(2, data.Count);
var dataType = data.FirstOrDefault();
Assert.AreEqual(GetBase64Content(Environment.CurrentDirectory + "/SeedData/oracle.sql"), dataType.ReferenceData["BFILE_COLUMN"]);
Assert.AreEqual("3q2+7w==", dataType.ReferenceData["BLOB_COLUMN"]);
@@ -173,14 +173,14 @@ public void Test_Oracle_FetchData_Entity_SelectQuery()
{
var selectSql = Queries.OracleQueries.TestDB.SelectSql;
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 12);
+ Assert.AreEqual(12, data.Count);
var agent = data.FirstOrDefault(X => X.Agent_Name == "Benjamin");
Assert.AreEqual("A009", agent.Agent_Code);
Assert.AreEqual("Benjamin", agent.Agent_Name);
Assert.AreEqual("Hampshair", agent.Working_Area);
Assert.AreEqual(0.11, agent.Commission);
Assert.AreEqual("008-22536178", agent.Phone_No);
- Assert.AreEqual(null, agent.Country);
+ Assert.IsNull(agent.Country);
}
[TestMethod]
@@ -189,7 +189,7 @@ public void Test_Oracle_FetchData_Entity_SelectQuery_Joins()
{
var selectSql = Queries.OracleQueries.TestDB.SelectSql_Join;
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.Agent_Code == "A004" && X.Cust_Code == "C00006");
Assert.AreEqual("A004", agent.Agent_Code);
Assert.AreEqual("Ivan", agent.Agent_Name);
@@ -200,10 +200,10 @@ public void Test_Oracle_FetchData_Entity_SelectQuery_Joins()
Assert.AreEqual(500.00, agent.Advance_Amount);
Assert.AreEqual("SOD", agent.Ord_Description);
// Non Existent Query Data
- Assert.AreEqual(null, agent.Agent);
- Assert.AreEqual(null, agent.Agent_Location);
- Assert.AreEqual(null, agent.Customer);
- Assert.AreEqual(null, agent.Customer_Location);
+ Assert.IsNull(agent.Agent);
+ Assert.IsNull(agent.Agent_Location);
+ Assert.IsNull(agent.Customer);
+ Assert.IsNull(agent.Customer_Location);
}
[TestMethod]
@@ -212,7 +212,7 @@ public void Test_Oracle_FetchData_Entity_SelectQuery_Aliases()
{
var selectSql = Queries.OracleQueries.TestDB.SelectSql_Alias;
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.Agent_Code == "A004" && X.Cust_Code == "C00006");
Assert.AreEqual("A004", agent.Agent_Code);
Assert.AreEqual("Ivan", agent.Agent);
@@ -221,12 +221,12 @@ public void Test_Oracle_FetchData_Entity_SelectQuery_Aliases()
Assert.AreEqual("Shilton", agent.Customer);
Assert.AreEqual("Torento", agent.Customer_Location);
// Non Existent Query Data
- Assert.AreEqual(null, agent.Agent_Name);
- Assert.AreEqual(null, agent.Cust_Name);
+ Assert.IsNull(agent.Agent_Name);
+ Assert.IsNull(agent.Cust_Name);
Assert.AreEqual(0, agent.Ord_Num);
Assert.AreEqual(0, agent.Ord_Amount);
Assert.AreEqual(0, agent.Advance_Amount);
- Assert.AreEqual(null, agent.Ord_Description);
+ Assert.IsNull(agent.Ord_Description);
}
[TestMethod]
@@ -235,7 +235,7 @@ public void Test_Oracle_FetchData_Entity_DataTypes_Check()
{
var selectSql = Queries.OracleQueries.TestDB.SelectSql_DataTypes;
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 2);
+ Assert.AreEqual(2, data.Count);
var dataType = data.FirstOrDefault();
Assert.AreEqual(GetBase64Content(Environment.CurrentDirectory + "/SeedData/oracle.sql"), ConvertByteArrayToBase64(dataType.BFile_Column));
Assert.AreEqual("3q2+7w==", ConvertByteArrayToBase64(dataType.Blob_Column));
@@ -265,7 +265,7 @@ public void Test_Oracle_FetchData_Entity_Strict_Check()
{
var selectSql = Queries.OracleQueries.TestDB.SelectSql_Strict;
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql, strict: true);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var dataType = data.FirstOrDefault();
Assert.AreEqual("A003", dataType.Agent_Code);
Assert.AreEqual("Alex", dataType.Agent);
@@ -357,7 +357,7 @@ public void Test_Oracle_ExecuteCommand_DML_Queries()
var rows = dbContext.ExecuteCommand(insertSql);
Assert.AreEqual(1, rows);
var data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var agent = data.FirstOrDefault();
Assert.AreEqual("A020", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("John", agent.ReferenceData["AGENT_NAME"]);
@@ -370,7 +370,7 @@ public void Test_Oracle_ExecuteCommand_DML_Queries()
rows = dbContext.ExecuteCommand(updateSql);
Assert.AreEqual(1, rows);
data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
agent = data.FirstOrDefault();
Assert.AreEqual("A020", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("John", agent.ReferenceData["AGENT_NAME"]);
@@ -383,7 +383,7 @@ public void Test_Oracle_ExecuteCommand_DML_Queries()
rows = dbContext.ExecuteCommand(deleteSql);
Assert.AreEqual(1, rows);
data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 0);
+ Assert.AreEqual(0, data.Count);
}
[TestMethod]
@@ -526,7 +526,7 @@ public void Test_Oracle_ExecuteTransaction_DML_Multiple_Queries()
var result = dbContext.ExecuteTransaction(statements);
Assert.IsTrue(result);
var data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var agent = data.FirstOrDefault();
Assert.AreEqual("A020", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("John", agent.ReferenceData["AGENT_NAME"]);
@@ -543,7 +543,7 @@ public void Test_Oracle_ExecuteTransaction_DML_Multiple_Queries()
result = dbContext.ExecuteTransaction(statements);
Assert.IsTrue(result);
data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 0);
+ Assert.AreEqual(0, data.Count);
}
[TestMethod]
@@ -567,7 +567,7 @@ public void Test_Oracle_ExecuteTransaction_Incomplete_Transaction_Rollback_On_Er
var result = dbContext.ExecuteTransaction(statements);
Assert.IsFalse(result);
var data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 0);
+ Assert.AreEqual(0, data.Count);
}
[TestMethod]
diff --git a/QueryDB.Core.Tests/PostgreSQLTests.cs b/QueryDB.Core.Tests/PostgreSQLTests.cs
index 67cd8df..ec88bea 100644
--- a/QueryDB.Core.Tests/PostgreSQLTests.cs
+++ b/QueryDB.Core.Tests/PostgreSQLTests.cs
@@ -39,7 +39,7 @@ public void Test_PostgreSQL_FetchData_Dictionary_SelectQuery()
{
var selectSql = Queries.PostgreSQLQueries.TestDB.SelectSql;
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 12);
+ Assert.AreEqual(12, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["agent_name"] == "Benjamin");
Assert.AreEqual("A009", agent.ReferenceData["agent_code"]);
Assert.AreEqual("Benjamin", agent.ReferenceData["agent_name"]);
@@ -55,7 +55,7 @@ public void Test_PostgreSQL_FetchData_Dictionary_SelectQuery_UpperCaseKeys()
{
var selectSql = Queries.PostgreSQLQueries.TestDB.SelectSql;
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
- Assert.IsTrue(data.Count == 12);
+ Assert.AreEqual(12, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_NAME"] == "Benjamin");
Assert.AreEqual("A009", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Benjamin", agent.ReferenceData["AGENT_NAME"]);
@@ -71,7 +71,7 @@ public void Test_PostgreSQL_FetchData_Dictionary_SelectQuery_Joins()
{
var selectSql = Queries.PostgreSQLQueries.TestDB.SelectSql_Join;
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["agent_code"] == "A004" && X.ReferenceData["cust_code"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["agent_code"]);
Assert.AreEqual("Ivan", agent.ReferenceData["agent_name"]);
@@ -89,7 +89,7 @@ public void Test_PostgreSQL_FetchData_Dictionary_SelectQuery_Joins_UpperCaseKeys
{
var selectSql = Queries.PostgreSQLQueries.TestDB.SelectSql_Join;
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT_NAME"]);
@@ -107,7 +107,7 @@ public void Test_PostgreSQL_FetchData_Dictionary_SelectQuery_Aliases()
{
var selectSql = Queries.PostgreSQLQueries.TestDB.SelectSql_Alias;
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["agent_code"] == "A004" && X.ReferenceData["cust_code"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["agent_code"]);
Assert.AreEqual("Ivan", agent.ReferenceData["agent"]);
@@ -123,7 +123,7 @@ public void Test_PostgreSQL_FetchData_Dictionary_SelectQuery_Aliases_UpperCaseKe
{
var selectSql = Queries.PostgreSQLQueries.TestDB.SelectSql_Alias;
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT"]);
@@ -139,7 +139,7 @@ public void Test_PostgreSQL_FetchData_Dictionary_DataTypes_Check()
{
var selectSql = Queries.PostgreSQLQueries.TestDB.SelectSql_DataTypes;
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var dataType = data.FirstOrDefault();
Assert.AreEqual("9223372036854775807", dataType.ReferenceData["bigint_column"]);
Assert.AreEqual("True", dataType.ReferenceData["boolean_column"]);
@@ -169,7 +169,7 @@ public void Test_PostgreSQL_FetchData_Entity_SelectQuery()
{
var selectSql = Queries.PostgreSQLQueries.TestDB.SelectSql;
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 12);
+ Assert.AreEqual(12, data.Count);
var agent = data.FirstOrDefault(X => X.Agent_Name == "Benjamin");
Assert.AreEqual("A009", agent.Agent_Code);
Assert.AreEqual("Benjamin", agent.Agent_Name);
@@ -185,7 +185,7 @@ public void Test_PostgreSQL_FetchData_Entity_SelectQuery_Joins()
{
var selectSql = Queries.PostgreSQLQueries.TestDB.SelectSql_Join;
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.Agent_Code == "A004" && X.Cust_Code == "C00006");
Assert.AreEqual("A004", agent.Agent_Code);
Assert.AreEqual("Ivan", agent.Agent_Name);
@@ -196,10 +196,10 @@ public void Test_PostgreSQL_FetchData_Entity_SelectQuery_Joins()
Assert.AreEqual((decimal)500.00, agent.Advance_Amount);
Assert.AreEqual("SOD", agent.Ord_Description);
// Non Existent Query Data
- Assert.AreEqual(null, agent.Agent);
- Assert.AreEqual(null, agent.Agent_Location);
- Assert.AreEqual(null, agent.Customer);
- Assert.AreEqual(null, agent.Customer_Location);
+ Assert.IsNull(agent.Agent);
+ Assert.IsNull(agent.Agent_Location);
+ Assert.IsNull(agent.Customer);
+ Assert.IsNull(agent.Customer_Location);
}
[TestMethod]
@@ -208,7 +208,7 @@ public void Test_PostgreSQL_FetchData_Entity_SelectQuery_Aliases()
{
var selectSql = Queries.PostgreSQLQueries.TestDB.SelectSql_Alias;
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var agent = data.FirstOrDefault(X => X.Agent_Code == "A004" && X.Cust_Code == "C00006");
Assert.AreEqual("A004", agent.Agent_Code);
Assert.AreEqual("Ivan", agent.Agent);
@@ -217,12 +217,12 @@ public void Test_PostgreSQL_FetchData_Entity_SelectQuery_Aliases()
Assert.AreEqual("Shilton", agent.Customer);
Assert.AreEqual("Torento", agent.Customer_Location);
// Non Existent Query Data
- Assert.AreEqual(null, agent.Agent_Name);
- Assert.AreEqual(null, agent.Cust_Name);
+ Assert.IsNull(agent.Agent_Name);
+ Assert.IsNull(agent.Cust_Name);
Assert.AreEqual(0, agent.Ord_Num);
Assert.AreEqual(0, agent.Ord_Amount);
Assert.AreEqual(0, agent.Advance_Amount);
- Assert.AreEqual(null, agent.Ord_Description);
+ Assert.IsNull(agent.Ord_Description);
}
[TestMethod]
@@ -231,7 +231,7 @@ public void Test_PostgreSQL_FetchData_Entity_DataTypes_Check()
{
var selectSql = Queries.PostgreSQLQueries.TestDB.SelectSql_DataTypes;
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var dataType = data.FirstOrDefault();
Assert.AreEqual(9223372036854775807, dataType.BigInt_Column);
Assert.IsTrue(dataType.Boolean_Column);
@@ -257,7 +257,7 @@ public void Test_PostgreSQL_FetchData_Entity_Strict_Check()
{
var selectSql = Queries.PostgreSQLQueries.TestDB.SelectSql_Strict;
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql, strict: true);
- Assert.IsTrue(data.Count == 34);
+ Assert.AreEqual(34, data.Count);
var dataType = data.FirstOrDefault();
Assert.AreEqual("A003", dataType.Agent_Code);
Assert.AreEqual("Alex", dataType.Agent);
@@ -349,7 +349,7 @@ public void Test_PostgreSQL_ExecuteCommand_DML_Queries()
var rows = dbContext.ExecuteCommand(insertSql);
Assert.AreEqual(1, rows);
var data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var agent = data.FirstOrDefault();
Assert.AreEqual("A020", agent.ReferenceData["agent_code"]);
Assert.AreEqual("John", agent.ReferenceData["agent_name"]);
@@ -362,7 +362,7 @@ public void Test_PostgreSQL_ExecuteCommand_DML_Queries()
rows = dbContext.ExecuteCommand(updateSql);
Assert.AreEqual(1, rows);
data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
agent = data.FirstOrDefault();
Assert.AreEqual("A020", agent.ReferenceData["agent_code"]);
Assert.AreEqual("John", agent.ReferenceData["agent_name"]);
@@ -375,7 +375,7 @@ public void Test_PostgreSQL_ExecuteCommand_DML_Queries()
rows = dbContext.ExecuteCommand(deleteSql);
Assert.AreEqual(1, rows);
data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 0);
+ Assert.AreEqual(0, data.Count);
}
[TestMethod]
@@ -509,7 +509,7 @@ public void Test_PostgreSQL_ExecuteTransaction_DML_Multiple_Queries()
var result = dbContext.ExecuteTransaction(statements);
Assert.IsTrue(result);
var data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 1);
+ Assert.AreEqual(1, data.Count);
var agent = data.FirstOrDefault();
Assert.AreEqual("A020", agent.ReferenceData["agent_code"]);
Assert.AreEqual("John", agent.ReferenceData["agent_name"]);
@@ -526,7 +526,7 @@ public void Test_PostgreSQL_ExecuteTransaction_DML_Multiple_Queries()
result = dbContext.ExecuteTransaction(statements);
Assert.IsTrue(result);
data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 0);
+ Assert.AreEqual(0, data.Count);
}
[TestMethod]
@@ -550,7 +550,7 @@ public void Test_PostgreSQL_ExecuteTransaction_Incomplete_Transaction_Rollback_O
var result = dbContext.ExecuteTransaction(statements);
Assert.IsFalse(result);
var data = dbContext.FetchData(verifyDMLExecution);
- Assert.IsTrue(data.Count == 0);
+ Assert.AreEqual(0, data.Count);
}
[TestMethod]
diff --git a/QueryDB.Core.Tests/QueryDB.Core.Tests.csproj b/QueryDB.Core.Tests/QueryDB.Core.Tests.csproj
index 099c523..c508b11 100644
--- a/QueryDB.Core.Tests/QueryDB.Core.Tests.csproj
+++ b/QueryDB.Core.Tests/QueryDB.Core.Tests.csproj
@@ -1,20 +1,21 @@
- netcoreapp3.1
+
+ netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0
false
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
+
+
+
+
@@ -22,17 +23,12 @@
+
+ Always
+
Always
-
-
-
-
-
-
-
-
diff --git a/QueryDB.Core.Tests/TestBase.cs b/QueryDB.Core.Tests/TestBase.cs
index 0163cb9..972cf2c 100644
--- a/QueryDB.Core.Tests/TestBase.cs
+++ b/QueryDB.Core.Tests/TestBase.cs
@@ -1,6 +1,5 @@
-using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Microsoft.Extensions.Configuration;
using System;
-using System.Configuration;
using System.Globalization;
using System.IO;
@@ -8,11 +7,11 @@ namespace QueryDB.Core.Tests
{
public class TestBase
{
- private readonly string _useDocker = ConfigurationManager.AppSettings["UseDocker"];
- protected readonly string MSSQLConnectionString = ConfigurationManager.AppSettings["MSSQLConnection"];
- protected readonly string MySQLConnectionString = ConfigurationManager.AppSettings["MySQLConnection"];
- protected readonly string OracleConnectionString = ConfigurationManager.AppSettings["OracleConnection"];
- protected readonly string PostgreSQLConnectionString = ConfigurationManager.AppSettings["PostgreSQLConnection"];
+ private readonly IConfiguration _configuration;
+ protected readonly string MSSQLConnectionString;
+ protected readonly string MySQLConnectionString;
+ protected readonly string OracleConnectionString;
+ protected readonly string PostgreSQLConnectionString;
protected const string DB_TESTS = "DB-TESTS";
protected const string SMOKE_TESTS = "SMOKE-TESTS";
protected const string MSSQL_TESTS = "MSSQL-TESTS";
@@ -22,16 +21,20 @@ public class TestBase
protected const string QUERY_DB_EXCEPTION_TESTS = "QUERY-DB-EXCEPTION-TESTS";
protected const string UNKNOW_DB_TESTS = "UNKNOW-DB-TESTS";
- [AssemblyInitialize]
- internal void CheckDockerImages()
+ public TestBase()
{
- if (_useDocker.Equals("true"))
- {
- //TBD
- }
+ _configuration = new ConfigurationBuilder()
+ .SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
+ .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
+ .Build();
+
+ MSSQLConnectionString = _configuration["TestSettings:MSSQLConnection"];
+ MySQLConnectionString = _configuration["TestSettings:MySQLConnection"];
+ OracleConnectionString = _configuration["TestSettings:OracleConnection"];
+ PostgreSQLConnectionString = _configuration["TestSettings:PostgreSQLConnection"];
}
- protected string ConvertToUTCInUSFormat(string dateString)
+ protected static string ConvertToUTCInUSFormat(string dateString)
{
DateTimeOffset date;
string[] formats = {
@@ -58,7 +61,7 @@ protected string ConvertToUTCInUSFormat(string dateString)
}
}
- protected string ConvertToUSFormat(string dateString)
+ protected static string ConvertToUSFormat(string dateString)
{
DateTime date;
string[] formats = {
@@ -91,7 +94,7 @@ protected string ConvertToUSFormat(string dateString)
}
}
- protected string GetBase64Content(string filePath)
+ protected static string GetBase64Content(string filePath)
{
if (!File.Exists(filePath))
throw new FileNotFoundException("File not found - '" + filePath + "'.");
diff --git a/QueryDB.Core.Tests/appsettings.json b/QueryDB.Core.Tests/appsettings.json
new file mode 100644
index 0000000..2128e8e
--- /dev/null
+++ b/QueryDB.Core.Tests/appsettings.json
@@ -0,0 +1,8 @@
+{
+ "TestSettings": {
+ "MSSQLConnection": "Data Source=(local);Initial Catalog=master;User Id=SA;Password=__DB_PASSWORD__;Encrypt=False;",
+ "MySQLConnection": "server=localhost;database=mysql;uid=root;pwd=__DB_PASSWORD__",
+ "OracleConnection": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SID = XE))); User Id = sys;Password=__DB_PASSWORD__;DBA Privilege=SYSDBA",
+ "PostgreSQLConnection": "Host=localhost;Port=5432;Database=postgres;Username=sys;Password=__DB_PASSWORD__;"
+ }
+}
\ No newline at end of file
diff --git a/QueryDB/QueryDB.csproj b/QueryDB/QueryDB.csproj
index a75961e..868421b 100644
--- a/QueryDB/QueryDB.csproj
+++ b/QueryDB/QueryDB.csproj
@@ -2,13 +2,37 @@
netstandard2.0
+ Abhinav Minhas
+ QueryDB is a flexible database query framework designed to simplify querying and executing transactions across multiple database systems.
+
+Supported Databases:
+- MSSQL
+- MySQL
+- Oracle
+- PostgreSQL
+ https://github.com/abhinavminhas/QueryDB.NET
+ https://github.com/abhinavminhas/QueryDB.NET
+ git
+ LICENSE
+ sql, query, rdbms, database, mssql, sqlserver, mysql, oracle, postgresql
+ QueryDB framework for simplified querying and executing transactions across multiple database systems.
+- Retrieve data from database.
+- Execute database commands.
+- Execute transactions while maintaining atomicity.
-
-
-
-
+
+
+
+
+
+
+
+
+ True
+
+
diff --git a/README.md b/README.md
index 687e1af..02bc069 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,17 @@
# QueryDB
*QueryDB solution in .NET*.
-[](https://github.com/abhinavminhas/QueryDB/actions/workflows/build.yml)
-[](https://codecov.io/gh/abhinavminhas/QueryDB)
+[](https://github.com/abhinavminhas/QueryDB.NET/actions/workflows/build.yml)
+[](https://codecov.io/gh/abhinavminhas/QueryDB.NET)
[](https://sonarcloud.io/summary/new_code?id=abhinavminhas_QueryDB)

-[](https://opensource.org/licenses/MIT)
+[](https://opensource.org/licenses/MIT)
+[](https://www.nuget.org/packages/QueryDB/)
[](https://sonarcloud.io/summary/new_code?id=abhinavminhas_QueryDB)
[](https://sonarcloud.io/summary/new_code?id=abhinavminhas_QueryDB)
[](https://sonarcloud.io/summary/new_code?id=abhinavminhas_QueryDB)
-QueryDB framework project is a flexible database query tool designed to facilitate and simplify querying multiple database systems.
+QueryDB is a flexible database query framework designed to simplify querying and executing transactions across multiple database systems.
## Supported Databases
- [MSSQL](https://www.microsoft.com/en-us/sql-server)