public void TestCreate_ShouldReturn_Session() { var sessionProvider = new SessionStatePersistenceProvider(Mock.Of <IEdgeHub>()); ISessionState session = sessionProvider.Create(true); Assert.NotNull(session); Assert.False(session.IsTransient); }
public void TestGetAsync_DeleteSession() { var identity = new Mock <IProtocolgatewayDeviceIdentity>(); identity.Setup(p => p.Id).Returns("device-id"); var sessionProvider = new SessionStatePersistenceProvider(Mock.Of <IEdgeHub>()); Task task = sessionProvider.DeleteAsync(identity.Object, It.IsAny <ISessionState>()); Assert.True(task.IsCompleted); }
public void TestGetAsync_NoSessionFound_ShouldReturnNull() { var identity = new Mock <IProtocolgatewayDeviceIdentity>(); identity.Setup(p => p.Id).Returns("device-id"); var sessionProvider = new SessionStatePersistenceProvider(Mock.Of <IEdgeHub>()); Task <ISessionState> task = sessionProvider.GetAsync(identity.Object); Assert.Null(task.Result); }
public void TestSetAsync_RemovedSubscription_ShouldComplete() { var edgeHub = new Mock <IEdgeHub>(); var identity = Mock.Of <IProtocolgatewayDeviceIdentity>(i => i.Id == "d1"); var sessionProvider = new SessionStatePersistenceProvider(edgeHub.Object); ISessionState sessionState = new SessionState(false); sessionState.RemoveSubscription(SessionStatePersistenceProvider.MethodSubscriptionTopicPrefix); Task setTask = sessionProvider.SetAsync(identity, sessionState); Assert.True(setTask.IsCompleted); edgeHub.Verify(x => x.RemoveSubscription("d1", DeviceSubscription.Methods), Times.Once); }
public void TestSetAsync_SetMultipleSubscriptions_ShouldComplete() { var edgeHub = new Mock <IEdgeHub>(); var identity = Mock.Of <IProtocolgatewayDeviceIdentity>(i => i.Id == "d1"); var sessionProvider = new SessionStatePersistenceProvider(edgeHub.Object); ISessionState sessionState = new SessionState(false); sessionState.AddOrUpdateSubscription(SessionStatePersistenceProvider.MethodSubscriptionTopicPrefix, QualityOfService.AtLeastOnce); sessionState.AddOrUpdateSubscription(SessionStatePersistenceProvider.TwinResponseTopicFilter, QualityOfService.AtLeastOnce); Task setTask = sessionProvider.SetAsync(identity, sessionState); Assert.True(setTask.IsCompleted); edgeHub.Verify(x => x.AddSubscription("d1", DeviceSubscription.Methods), Times.Once); }
public void TestSetAsync_AddedMethodSubscription_ShouldComplete() { var edgeHub = new Mock <IEdgeHub>(); var identity = Mock.Of <IProtocolgatewayDeviceIdentity>(i => i.Id == "d1"); var sessionProvider = new SessionStatePersistenceProvider(edgeHub.Object); ISessionState sessionState = new SessionState(false); sessionState.AddOrUpdateSubscription(SessionStateParser.MethodSubscriptionTopicPrefix, QualityOfService.AtLeastOnce); Task setTask = sessionProvider.SetAsync(identity, sessionState); Assert.True(setTask.IsCompleted); IEnumerable <(DeviceSubscription, bool)> list = new List <(DeviceSubscription, bool)> { (DeviceSubscription.Methods, true) }; edgeHub.Verify(x => x.ProcessSubscriptions("d1", list), Times.Once); }
public void GetSubscriptionTopicTest(string topicName, object subscriptionTopicObject) { var subscriptionTopic = (DeviceSubscription)subscriptionTopicObject; Assert.Equal(SessionStatePersistenceProvider.GetDeviceSubscription(topicName), subscriptionTopic); }