Skip to content

Commit 5a50e23

Browse files
committed
Add RavenDB support
Add RavenDB support | project cleanup
1 parent 39133ec commit 5a50e23

21 files changed

+352
-518
lines changed

README.md

100644100755
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ SharpConnector provides access to **CRUD** operations to NoSql databases with *<
1212
* **MongoDB**
1313
* **LiteDB**
1414
* **EnyimMemcached**
15+
* **RavenDB**
1516

1617
other connectors and operations are under development.
1718

@@ -62,6 +63,7 @@ SharpConnector uses the following externals references:
6263
* **MongoDB.Driver** see license [here](https://github.com/mongodb/mongo-csharp-driver/blob/master/License.txt)
6364
* **LiteDB** see license [here](https://github.com/mbdavid/LiteDB/blob/master/LICENSE)
6465
* **EnyimMemcached** see license [here](https://github.com/enyim/EnyimMemcached/blob/develop/LICENSE)
66+
* **RavenDB** see license [here](https://github.com/ravendb/ravendb/blob/v5.2/LICENSE.txt)
6567
6668
### Contact
6769
Please contact at francesco.delre.87[at]gmail.com for any details.

src/SharpConnector.Test/MongoDbTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void Delete()
5959
var insert = _sharpConnectorClient.Insert(key, "payload");
6060
Assert.IsTrue(insert);
6161
var obj = _sharpConnectorClient.Get(key);
62-
Assert.AreEqual(obj, "modPayload");
62+
Assert.AreEqual(obj, "payload");
6363
var delete = _sharpConnectorClient.Delete(key);
6464
Assert.IsTrue(delete);
6565
obj = _sharpConnectorClient.Get(key);
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
// (c) 2021 Francesco Del Re <[email protected]>
2+
// This code is licensed under MIT license (see LICENSE.txt for details)
3+
using Microsoft.Extensions.Configuration;
4+
using Microsoft.VisualStudio.TestTools.UnitTesting;
5+
using SharpConnector.Interfaces;
6+
7+
namespace SharpConnector.Test
8+
{
9+
[TestClass]
10+
public class RavenDbTests
11+
{
12+
private readonly ISharpConnectorClient<string> _sharpConnectorClient;
13+
14+
public RavenDbTests()
15+
{
16+
var builder = new ConfigurationBuilder()
17+
.SetBasePath(System.IO.Directory.GetCurrentDirectory())
18+
.AddJsonFile("appsettings.ravendb.json", optional: true, reloadOnChange: true);
19+
20+
_sharpConnectorClient = new SharpConnectorClient<string>(builder);
21+
}
22+
23+
[TestMethod]
24+
public void Insert()
25+
{
26+
const string key = "testKey";
27+
var result = _sharpConnectorClient.Insert(key, "payload");
28+
Assert.IsTrue(result);
29+
}
30+
31+
[TestMethod]
32+
public void Get()
33+
{
34+
const string key = "testKey";
35+
var insert = _sharpConnectorClient.Insert(key, "payload");
36+
Assert.IsTrue(insert);
37+
var obj = _sharpConnectorClient.Get(key);
38+
Assert.AreEqual(obj, "payload");
39+
}
40+
41+
[TestMethod]
42+
public void Update()
43+
{
44+
const string key = "testKey";
45+
var insert = _sharpConnectorClient.Insert(key, "payload");
46+
Assert.IsTrue(insert);
47+
var obj = _sharpConnectorClient.Get(key);
48+
Assert.AreEqual(obj, "payload");
49+
var update = _sharpConnectorClient.Update(key, "modPayload");
50+
Assert.IsTrue(update);
51+
obj = _sharpConnectorClient.Get(key);
52+
Assert.AreEqual(obj, "modPayload");
53+
}
54+
55+
[TestMethod]
56+
public void Delete()
57+
{
58+
const string key = "testKey";
59+
var insert = _sharpConnectorClient.Insert(key, "payload");
60+
Assert.IsTrue(insert);
61+
var obj = _sharpConnectorClient.Get(key);
62+
Assert.AreEqual(obj, "payload");
63+
var delete = _sharpConnectorClient.Delete(key);
64+
Assert.IsTrue(delete);
65+
obj = _sharpConnectorClient.Get(key);
66+
Assert.IsNull(obj);
67+
}
68+
}
69+
}

src/SharpConnector.Test/SharpConnector.Test.csproj

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717

1818
<PackageProjectUrl>https://github.com/engineering87/SharpConnector</PackageProjectUrl>
1919

20-
<Version>1.0.1</Version>
20+
<Version>1.0.2</Version>
2121

22-
<AssemblyVersion>1.0.1.0</AssemblyVersion>
22+
<AssemblyVersion>1.0.2.0</AssemblyVersion>
2323

24-
<FileVersion>1.0.1.1</FileVersion>
24+
<FileVersion>1.0.2.0</FileVersion>
2525
</PropertyGroup>
2626

2727
<ItemGroup>
@@ -39,6 +39,9 @@
3939
</ItemGroup>
4040

4141
<ItemGroup>
42+
<None Update="appsettings.ravendb.json">
43+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
44+
</None>
4245
<None Update="appsettings.memcached.json">
4346
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
4447
</None>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"ConnectorConfig": {
3+
"Instance": "RavenDb",
4+
"DatabaseName": "test",
5+
"ConnectionString": "http://live-test.ravendb.net"
6+
}
7+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// (c) 2021 Francesco Del Re <[email protected]>
2+
// This code is licensed under MIT license (see LICENSE.txt for details)
3+
using Microsoft.Extensions.Configuration;
4+
using SharpConnector.Interfaces;
5+
using System.Linq;
6+
using SharpConnector.Enums;
7+
8+
namespace SharpConnector.Configuration
9+
{
10+
/// <summary>
11+
/// RavenDbConfig configuration class.
12+
/// </summary>
13+
public class RavenDbConfig : IConnectorConfig
14+
{
15+
public string ConnectionString { get; }
16+
public string DatabaseName { get; }
17+
public string CollectionName { get; private set; }
18+
public int DatabaseNumber { get; private set; }
19+
20+
public RavenDbConfig(IConfiguration section)
21+
{
22+
var sectionChildren = section.GetChildren();
23+
var configurationSections = sectionChildren.ToList();
24+
25+
var sectionChildrenConnectionString = configurationSections.FirstOrDefault(s => s.Key.ToLower() == AppConfigParameterEnums.connectionstring.ToString());
26+
ConnectionString = sectionChildrenConnectionString?.Value;
27+
28+
var sectionChildrenDatabaseName = configurationSections.FirstOrDefault(s => s.Key.ToLower() == AppConfigParameterEnums.databasename.ToString());
29+
DatabaseName = sectionChildrenDatabaseName?.Value;
30+
}
31+
}
32+
}

src/SharpConnector/Connectors/LiteDb/LiteDbAccess 2.cs

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

src/SharpConnector/Connectors/LiteDb/LiteDbWrapper 2.cs

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

src/SharpConnector/Connectors/Memcached/MemcachedAccess 2.cs

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

0 commit comments

Comments
 (0)