Skip to content

Commit 058d890

Browse files
Merge pull request #8 from abhinavminhas/dev
Nuget Package Creation - v1.0.0
2 parents 19fa420 + 52bed86 commit 058d890

File tree

14 files changed

+247
-168
lines changed

14 files changed

+247
-168
lines changed

.github/workflows/build.yml

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
strategy:
1919
matrix:
2020
os: [ windows-2022, ubuntu-22.04, macOS-14 ]
21-
dotnet-version: [ '3.1.x', '6.0.x', '7.0.x', '8.0.x' ]
21+
dotnet-version: [ '3.1.x', '5.0.x', '6.0.x', '7.0.x', '8.0.x', '9.0.x' ]
2222

2323
steps:
2424
- name: Checkout Repository
@@ -31,14 +31,28 @@ jobs:
3131
with:
3232
dotnet-version: ${{ matrix.dotnet-version }}
3333

34-
- name: Find And Replace Values (App Config)
34+
- name: Find And Replace Values (App Settings)
3535
uses: abhinavminhas/replace-tokens@main
3636
with:
37-
files: '${{ github.workspace }}/QueryDB.Core.Tests/App.config'
37+
files: '${{ github.workspace }}/QueryDB.Core.Tests/appsettings.json'
3838
replacements: '__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }}'
3939

40-
- name: Build
41-
run: dotnet build QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
40+
- name: Build (${{ matrix.dotnet-version }})
41+
shell: bash
42+
run: |
43+
if [[ "${{ matrix.dotnet-version }}" == "3.1"* ]]; then
44+
dotnet build -f netcoreapp3.1 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
45+
elif [[ "${{ matrix.dotnet-version }}" == "5.0"* ]]; then
46+
dotnet build -f net5.0 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
47+
elif [[ "${{ matrix.dotnet-version }}" == "6.0"* ]]; then
48+
dotnet build -f net6.0 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
49+
elif [[ "${{ matrix.dotnet-version }}" == "7.0"* ]]; then
50+
dotnet build -f net7.0 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
51+
elif [[ "${{ matrix.dotnet-version }}" == "8.0"* ]]; then
52+
dotnet build -f net8.0 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
53+
elif [[ "${{ matrix.dotnet-version }}" == "9.0"* ]]; then
54+
dotnet build -f net9.0 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
55+
fi
4256
4357
- name: Docker Compose (Start - DB Containers)
4458
if: ${{ (matrix.os == 'ubuntu-22.04') && (matrix.dotnet-version == '3.1.x') }}
@@ -58,9 +72,9 @@ jobs:
5872
with:
5973
dbPassword: ${{ secrets.DB_PASSWORD }}
6074

61-
- name: Test
75+
- name: Test (${{ matrix.dotnet-version }})
6276
if: ${{ (matrix.os == 'ubuntu-22.04') && (matrix.dotnet-version == '3.1.x') }}
63-
run: dotnet test --no-build --logger "console;verbosity=detailed" --verbosity normal --configuration Release --filter TestCategory=DB-TESTS
77+
run: dotnet test --framework netcoreapp3.1 --no-build --logger "console;verbosity=detailed" --verbosity normal --configuration Release --filter TestCategory=DB-TESTS
6478

6579
- name: Docker Compose (Tear Down - DB Containers)
6680
if: ${{ (matrix.os == 'ubuntu-22.04') && (matrix.dotnet-version == '3.1.x') && always() }}
@@ -86,14 +100,14 @@ jobs:
86100
with:
87101
dotnet-version: ${{ matrix.dotnet-version }}
88102

89-
- name: Find And Replace Values (App Config)
103+
- name: Find And Replace Values (App Settings)
90104
uses: abhinavminhas/replace-tokens@main
91105
with:
92-
files: '${{ github.workspace }}/QueryDB.Core.Tests/App.config'
106+
files: '${{ github.workspace }}/QueryDB.Core.Tests/appsettings.json'
93107
replacements: '__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }}'
94108

95-
- name: Build
96-
run: dotnet build QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
109+
- name: Build (${{ matrix.dotnet-version }})
110+
run: dotnet build -f netcoreapp3.1 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
97111

98112
- name: Docker Compose (Start - DB Containers)
99113
uses: ./.github/workflows/docker-compose-start-dbs
@@ -110,8 +124,8 @@ jobs:
110124
with:
111125
dbPassword: ${{ secrets.DB_PASSWORD }}
112126

113-
- name: Test
114-
run: dotnet test --no-build --logger "console;verbosity=detailed" --verbosity normal --configuration Release --filter TestCategory=DB-TESTS /p:CollectCoverage=true /p:CoverletOutputFormat=lcov
127+
- name: Test (${{ matrix.dotnet-version }})
128+
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
115129

116130
- name: Docker Compose (Tear Down - DB Containers)
117131
if: always()

.github/workflows/coverage.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ jobs:
2222
with:
2323
dotnet-version: ${{ matrix.dotnet-version }}
2424

25-
- name: Find And Replace Values (App Config)
25+
- name: Find And Replace Values (App Settings)
2626
uses: abhinavminhas/replace-tokens@main
2727
with:
28-
files: '${{ github.workspace }}/QueryDB.Core.Tests/App.config'
28+
files: '${{ github.workspace }}/QueryDB.Core.Tests/appsettings.json'
2929
replacements: '__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }},__DB_PASSWORD__=${{ secrets.DB_PASSWORD }}'
3030

31-
- name: Build
32-
run: dotnet build QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
31+
- name: Build (${{ matrix.dotnet-version }})
32+
run: dotnet build -f netcoreapp3.1 QueryDB.Core.Tests/QueryDB.Core.Tests.csproj --configuration Release
3333

3434
- name: Docker Compose (Start - DB Containers)
3535
uses: ./.github/workflows/docker-compose-start-dbs
@@ -46,8 +46,8 @@ jobs:
4646
with:
4747
dbPassword: ${{ secrets.DB_PASSWORD }}
4848

49-
- name: Test
50-
run: dotnet test --no-build --logger "console;verbosity=detailed" --verbosity normal --configuration Release --filter TestCategory=DB-TESTS /p:CollectCoverage=true /p:CoverletOutputFormat=lcov
49+
- name: Test (${{ matrix.dotnet-version }})
50+
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
5151

5252
- name: Docker Compose (Tear Down - DB Containers)
5353
uses: ./.github/workflows/docker-compose-teardown-dbs
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Publish Nuget Package
2+
3+
env:
4+
NUGET_PACKAGE_NAME_VERSION: "QueryDB.1.0.0.nupkg"
5+
6+
on:
7+
workflow_dispatch:
8+
9+
jobs:
10+
build:
11+
name: Publish Nuget Package
12+
runs-on: ${{ matrix.os }}
13+
strategy:
14+
matrix:
15+
os: [ ubuntu-22.04 ]
16+
dotnet-version: [ '3.1.x' ]
17+
18+
steps:
19+
- name: Checkout Repository
20+
uses: actions/checkout@v4
21+
22+
- name: Dotnet Version (${{ matrix.dotnet-version }})
23+
uses: actions/setup-dotnet@v4
24+
with:
25+
dotnet-version: '3.1.x'
26+
27+
- name: Create Package
28+
run: dotnet pack --configuration=Release QueryDB/QueryDB.csproj
29+
30+
- name: Publish Nuget Package
31+
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 }}
32+

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Changelog
2+
All notable changes to this project documented here.
3+
4+
## [Released]
5+
6+
## [1.0.0](https://www.nuget.org/packages/QueryDB/1.0.0) - 2025-02-18
7+
### Added
8+
- QueryDB framework for simplified querying and executing transactions across multiple database systems.
9+
- Retrieve data from database.
10+
- Execute database commands.
11+
- Execute transactions while maintaining atomicity.

QueryDB.Core.Tests/App.config

Lines changed: 0 additions & 10 deletions
This file was deleted.

QueryDB.Core.Tests/MSSQLTests.cs

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public void Test_MSSQL_FetchData_Dictionary_SelectQuery()
3939
{
4040
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql;
4141
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
42-
Assert.IsTrue(data.Count == 12);
42+
Assert.AreEqual(12, data.Count);
4343
var agent = data.FirstOrDefault(X => X.ReferenceData["Agent_Name"] == "Benjamin");
4444
Assert.AreEqual("A009", agent.ReferenceData["Agent_Code"]);
4545
Assert.AreEqual("Benjamin", agent.ReferenceData["Agent_Name"]);
@@ -55,7 +55,7 @@ public void Test_MSSQL_FetchData_Dictionary_SelectQuery_UpperCaseKeys()
5555
{
5656
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql;
5757
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
58-
Assert.IsTrue(data.Count == 12);
58+
Assert.AreEqual(12, data.Count);
5959
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_NAME"] == "Benjamin");
6060
Assert.AreEqual("A009", agent.ReferenceData["AGENT_CODE"]);
6161
Assert.AreEqual("Benjamin", agent.ReferenceData["AGENT_NAME"]);
@@ -71,7 +71,7 @@ public void Test_MSSQL_FetchData_Dictionary_SelectQuery_Joins()
7171
{
7272
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Join;
7373
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
74-
Assert.IsTrue(data.Count == 34);
74+
Assert.AreEqual(34, data.Count);
7575
var agent = data.FirstOrDefault(X => X.ReferenceData["Agent_Code"] == "A004" && X.ReferenceData["Cust_Code"] == "C00006");
7676
Assert.AreEqual("A004", agent.ReferenceData["Agent_Code"]);
7777
Assert.AreEqual("Ivan", agent.ReferenceData["Agent_Name"]);
@@ -89,7 +89,7 @@ public void Test_MSSQL_FetchData_Dictionary_SelectQuery_Joins_UpperCaseKeys()
8989
{
9090
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Join;
9191
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
92-
Assert.IsTrue(data.Count == 34);
92+
Assert.AreEqual(34, data.Count);
9393
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
9494
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
9595
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT_NAME"]);
@@ -107,7 +107,7 @@ public void Test_MSSQL_FetchData_Dictionary_SelectQuery_Aliases()
107107
{
108108
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Alias;
109109
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
110-
Assert.IsTrue(data.Count == 34);
110+
Assert.AreEqual(34, data.Count);
111111
var agent = data.FirstOrDefault(X => X.ReferenceData["Agent_Code"] == "A004" && X.ReferenceData["Cust_Code"] == "C00006");
112112
Assert.AreEqual("A004", agent.ReferenceData["Agent_Code"]);
113113
Assert.AreEqual("Ivan", agent.ReferenceData["Agent"]);
@@ -123,7 +123,7 @@ public void Test_MSSQL_FetchData_Dictionary_SelectQuery_Aliases_UpperCaseKeys()
123123
{
124124
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Alias;
125125
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
126-
Assert.IsTrue(data.Count == 34);
126+
Assert.AreEqual(34, data.Count);
127127
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
128128
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
129129
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT"]);
@@ -139,7 +139,7 @@ public void Test_MSSQL_FetchData_Dictionary_DataTypes_Check()
139139
{
140140
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_DataTypes;
141141
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
142-
Assert.IsTrue(data.Count == 1);
142+
Assert.AreEqual(1, data.Count);
143143
var dataType = data.FirstOrDefault();
144144
Assert.AreEqual("9223372036854775807", dataType.ReferenceData["BigInt_Column"]);
145145
Assert.AreEqual("EjRWeJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", dataType.ReferenceData["Binary_Column"]);
@@ -182,7 +182,7 @@ public void Test_MSSQL_FetchData_Entity_SelectQuery()
182182
{
183183
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql;
184184
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData<Entities.MSSQL.Agents>(selectSql);
185-
Assert.IsTrue(data.Count == 12);
185+
Assert.AreEqual(12, data.Count);
186186
var agent = data.FirstOrDefault(X => X.Agent_Name == "Benjamin");
187187
Assert.AreEqual("A009", agent.Agent_Code);
188188
Assert.AreEqual("Benjamin", agent.Agent_Name);
@@ -198,7 +198,7 @@ public void Test_MSSQL_FetchData_Entity_SelectQuery_Joins()
198198
{
199199
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Join;
200200
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData<Entities.MSSQL.Orders>(selectSql);
201-
Assert.IsTrue(data.Count == 34);
201+
Assert.AreEqual(34, data.Count);
202202
var agent = data.FirstOrDefault(X => X.Agent_Code == "A004" && X.Cust_Code == "C00006");
203203
Assert.AreEqual("A004", agent.Agent_Code);
204204
Assert.AreEqual("Ivan", agent.Agent_Name);
@@ -209,10 +209,10 @@ public void Test_MSSQL_FetchData_Entity_SelectQuery_Joins()
209209
Assert.AreEqual((decimal)500.00, agent.Advance_Amount);
210210
Assert.AreEqual("SOD", agent.Ord_Description);
211211
// Non Existent Query Data
212-
Assert.AreEqual(null, agent.Agent);
213-
Assert.AreEqual(null, agent.Agent_Location);
214-
Assert.AreEqual(null, agent.Customer);
215-
Assert.AreEqual(null, agent.Customer_Location);
212+
Assert.IsNull(agent.Agent);
213+
Assert.IsNull(agent.Agent_Location);
214+
Assert.IsNull(agent.Customer);
215+
Assert.IsNull(agent.Customer_Location);
216216
}
217217

218218
[TestMethod]
@@ -221,7 +221,7 @@ public void Test_MSSQL_FetchData_Entity_SelectQuery_Aliases()
221221
{
222222
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Alias;
223223
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData<Entities.MSSQL.Orders>(selectSql);
224-
Assert.IsTrue(data.Count == 34);
224+
Assert.AreEqual(34, data.Count);
225225
var agent = data.FirstOrDefault(X => X.Agent_Code == "A004" && X.Cust_Code == "C00006");
226226
Assert.AreEqual("A004", agent.Agent_Code);
227227
Assert.AreEqual("Ivan", agent.Agent);
@@ -230,12 +230,12 @@ public void Test_MSSQL_FetchData_Entity_SelectQuery_Aliases()
230230
Assert.AreEqual("Shilton", agent.Customer);
231231
Assert.AreEqual("Torento", agent.Customer_Location);
232232
// Non Existent Query Data
233-
Assert.AreEqual(null, agent.Agent_Name);
234-
Assert.AreEqual(null, agent.Cust_Name);
233+
Assert.IsNull(agent.Agent_Name);
234+
Assert.IsNull(agent.Cust_Name);
235235
Assert.AreEqual(0, agent.Ord_Num);
236236
Assert.AreEqual(0, agent.Ord_Amount);
237237
Assert.AreEqual(0, agent.Advance_Amount);
238-
Assert.AreEqual(null, agent.Ord_Description);
238+
Assert.IsNull(agent.Ord_Description);
239239
}
240240

241241
[TestMethod]
@@ -244,7 +244,7 @@ public void Test_MSSQL_FetchData_Entity_DataTypes_Check()
244244
{
245245
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_DataTypes;
246246
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData<Entities.MSSQL.DataTypes>(selectSql);
247-
Assert.IsTrue(data.Count == 1);
247+
Assert.AreEqual(1, data.Count);
248248
var dataType = data.FirstOrDefault();
249249
Assert.AreEqual(9223372036854775807, dataType.BigInt_Column);
250250
Assert.AreEqual("EjRWeJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", ConvertByteArrayToBase64(dataType.Binary_Column));
@@ -283,7 +283,7 @@ public void Test_MSSQL_FetchData_Entity_Strict_Check()
283283
{
284284
var selectSql = Queries.MSSQLQueries.TestDB.SelectSql_Strict;
285285
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData<Entities.MSSQL.Details>(selectSql, strict: true);
286-
Assert.IsTrue(data.Count == 34);
286+
Assert.AreEqual(34, data.Count);
287287
var dataType = data.FirstOrDefault();
288288
Assert.AreEqual("A003", dataType.Agent_Code);
289289
Assert.AreEqual("Alex", dataType.Agent);
@@ -375,7 +375,7 @@ public void Test_MSSQL_ExecuteCommand_DML_Queries()
375375
var rows = dbContext.ExecuteCommand(insertSql);
376376
Assert.AreEqual(1, rows);
377377
var data = dbContext.FetchData(verifyDMLExecution);
378-
Assert.IsTrue(data.Count == 1);
378+
Assert.AreEqual(1, data.Count);
379379
var agent = data.FirstOrDefault();
380380
Assert.AreEqual("A020", agent.ReferenceData["Agent_Code"]);
381381
Assert.AreEqual("John", agent.ReferenceData["Agent_Name"]);
@@ -388,7 +388,7 @@ public void Test_MSSQL_ExecuteCommand_DML_Queries()
388388
rows = dbContext.ExecuteCommand(updateSql);
389389
Assert.AreEqual(1, rows);
390390
data = dbContext.FetchData(verifyDMLExecution);
391-
Assert.IsTrue(data.Count == 1);
391+
Assert.AreEqual(1, data.Count);
392392
agent = data.FirstOrDefault();
393393
Assert.AreEqual("A020", agent.ReferenceData["Agent_Code"]);
394394
Assert.AreEqual("John", agent.ReferenceData["Agent_Name"]);
@@ -401,7 +401,7 @@ public void Test_MSSQL_ExecuteCommand_DML_Queries()
401401
rows = dbContext.ExecuteCommand(deleteSql);
402402
Assert.AreEqual(1, rows);
403403
data = dbContext.FetchData(verifyDMLExecution);
404-
Assert.IsTrue(data.Count == 0);
404+
Assert.AreEqual(0, data.Count);
405405
}
406406

407407
[TestMethod]
@@ -543,7 +543,7 @@ public void Test_MSSQL_ExecuteTransaction_DML_Multiple_Queries()
543543
var result = dbContext.ExecuteTransaction(statements);
544544
Assert.IsTrue(result);
545545
var data = dbContext.FetchData(verifyDMLExecution);
546-
Assert.IsTrue(data.Count == 1);
546+
Assert.AreEqual(1, data.Count);
547547
var agent = data.FirstOrDefault();
548548
Assert.AreEqual("A020", agent.ReferenceData["Agent_Code"]);
549549
Assert.AreEqual("John", agent.ReferenceData["Agent_Name"]);
@@ -560,7 +560,7 @@ public void Test_MSSQL_ExecuteTransaction_DML_Multiple_Queries()
560560
result = dbContext.ExecuteTransaction(statements);
561561
Assert.IsTrue(result);
562562
data = dbContext.FetchData(verifyDMLExecution);
563-
Assert.IsTrue(data.Count == 0);
563+
Assert.AreEqual(0, data.Count);
564564
}
565565

566566
[TestMethod]
@@ -584,7 +584,7 @@ public void Test_MSSQL_ExecuteTransaction_Incomplete_Transaction_Rollback_On_Err
584584
var result = dbContext.ExecuteTransaction(statements);
585585
Assert.IsFalse(result);
586586
var data = dbContext.FetchData(verifyDMLExecution);
587-
Assert.IsTrue(data.Count == 0);
587+
Assert.AreEqual(0, data.Count);
588588
}
589589

590590
[TestMethod]

0 commit comments

Comments
 (0)