Esempio n. 1
0
        public void TestCreate_ShouldReturn_Session()
        {
            var           sessionProvider = new SessionStatePersistenceProvider(Mock.Of <IEdgeHub>());
            ISessionState session         = sessionProvider.Create(true);

            Assert.NotNull(session);
            Assert.False(session.IsTransient);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 7
0
        public void GetSubscriptionTopicTest(string topicName, object subscriptionTopicObject)
        {
            var subscriptionTopic = (DeviceSubscription)subscriptionTopicObject;

            Assert.Equal(SessionStatePersistenceProvider.GetDeviceSubscription(topicName), subscriptionTopic);
        }