public async Task CreateOrUpdateDeviceSubscription()

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());
            }
        }