in DeviceBridgeTests/Providers/StorageProviderTests.cs [127:146]
public async Task CreateOrUpdateDeviceSubscription()
{
using (ShimsContext.Create())
{
_encriptionServiceMock.Invocations.Clear();
ShimOpen();
var testDateTime = DateTime.Now;
ShimExecuteNonQuery("upsertDeviceSubscription", new Dictionary<string, string>() { { "@DeviceId", "test-device" }, { "@SubscriptionType", "DesiredProperties" }, { "@CallbackUrl", "http://test" } }, cmd =>
{
Assert.AreEqual(CommandType.StoredProcedure, cmd.CommandType);
cmd.Parameters.RemoveAt("@CreatedAt");
cmd.Parameters.Add(new SqlParameter("@CreatedAt", testDateTime));
});
var result = await _storageProvider.CreateOrUpdateDeviceSubscription(LogManager.GetCurrentClassLogger(), "test-device", DeviceSubscriptionType.DesiredProperties, "http://test", default);
Assert.True(result.DeviceId == "test-device" && result.CallbackUrl == "http://test" && result.SubscriptionType == DeviceSubscriptionType.DesiredProperties && result.CreatedAt == testDateTime);
_encriptionServiceMock.Verify(p => p.Encrypt(It.IsAny<Logger>(), "http://test"), Times.Once());
}
}