public void StartStopWorkerTest() { var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), new DateTimeProvider()); connectionRegistry.Start(); connectionRegistry.Stop(); }
public void CollectDeadLoggedinConnectionTest() { var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), new DateTimeProvider()); var persistentConnection = Substitute.For <IPersistentConnection>(); persistentConnection.ConnectionId.Returns(Guid.NewGuid()); persistentConnection.LastHeartbeat.Returns(new DateTime(2014, 1, 1)); connectionRegistry.RegisterInitiatedConnection(persistentConnection); connectionRegistry.PromoteToLoggedInConnection(persistentConnection, "1234", 1); connectionRegistry.Start(); int rounds = 0; while (persistentConnection.ConnectionState != ConnectionState.None && rounds < 100) { Thread.Sleep(10); rounds++; } connectionRegistry.Stop(); persistentConnection.Received().Close(); Assert.AreEqual(ConnectionState.None, persistentConnection.ConnectionState); }
public void CommitNotLoggedInTest() { var connection = Substitute.For <IPersistentConnection>(); var deviceAuthenticator = Substitute.For <IDeviceAuthenticator>(); var deviceOperations = Substitute.For <IDeviceOperations>(); var dateTimeProvider = Substitute.For <IDateTimeProvider>(); var outgoingMessageReader = Substitute.For <IMessagingOperations>(); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow); var pusherRegistry = new PusherRegistry(dateTimeProvider); var connectionRegistry = new ConnectionRegistry(pusherRegistry, null); var deviceId = Identity.Next(); connection.ConnectionId.Returns(Guid.NewGuid()); deviceAuthenticator.Authenticate(null).ReturnsForAnyArgs(true); deviceOperations.Get(null).ReturnsForAnyArgs(TestDataCreator.Device(deviceId, "1234", "2345", "3456", "4567", 1)); connectionRegistry.RegisterInitiatedConnection(connection); var commandExecutor = new CommandExecutor(pusherRegistry, connectionRegistry, outgoingMessageReader, deviceAuthenticator, deviceOperations, null, null); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow); pusherRegistry.SetAsCommitNeededConnections(new[] { connection }); outgoingMessageReader.Commit((long)0).ReturnsForAnyArgs(OutgoingState.Ok); connection.ClearReceivedCalls(); commandExecutor.Execute(connection, new CommitCommand()); connection.DidNotReceive().Heartbeat(); }
public void GetReceiveAndForgetConnectionHeartbeatOkTest() { var dateTimeProvider = Substitute.For <IDateTimeProvider>(); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow); var pusherRegistry = new PusherRegistry(dateTimeProvider); var connectionRegistry = new ConnectionRegistry(pusherRegistry, null); var persistentConnection = Substitute.For <IPersistentConnection>(); persistentConnection.ConnectionId.Returns(Guid.NewGuid()); connectionRegistry.RegisterInitiatedConnection(persistentConnection); connectionRegistry.PromoteToLoggedInConnection(persistentConnection, Identity.Next(), 1); connectionRegistry.PromoteToSubscribedConnection(persistentConnection.DeviceId, SubscriptionType.ReceiveAndForget); persistentConnection.LastHeartbeat.Returns(DateTime.UtcNow.AddSeconds(-20.0)); persistentConnection.NextReceiveAndForgetTime.Returns(DateTime.UtcNow.AddSeconds(-0.1)); var conn = pusherRegistry.GetReceiveAndForgetConnection(); Assert.AreEqual(persistentConnection, conn); persistentConnection.ReceivedWithAnyArgs().NextReceiveAndForgetTime = new DateTime(); }
public void GetReceiveAndForgetConnectionNotYetSubscribedTest() { var dateTimeProvider = Substitute.For <IDateTimeProvider>(); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow); var pusherRegistry = new PusherRegistry(dateTimeProvider); var connectionRegistry = new ConnectionRegistry(pusherRegistry, null); var persistentConnection = Substitute.For <IPersistentConnection>(); persistentConnection.ConnectionId.Returns(Guid.NewGuid()); connectionRegistry.RegisterInitiatedConnection(persistentConnection); connectionRegistry.PromoteToLoggedInConnection(persistentConnection, Identity.Next(), 1); connectionRegistry.PromoteToSubscribedConnection(persistentConnection.DeviceId, SubscriptionType.ReceiveAndForget); connectionRegistry.UnsubscribeConnection(persistentConnection.DeviceId); persistentConnection.LastHeartbeat.Returns(DateTime.UtcNow.AddMinutes(-10.1)); var nothing = pusherRegistry.GetReceiveAndForgetConnection(); Assert.IsNull(nothing); }
public void TelemetryDataLoginRequiredTest() { var connection = Substitute.For <IPersistentConnection>(); var deviceAuthenticator = Substitute.For <IDeviceAuthenticator>(); var deviceOperations = Substitute.For <IDeviceOperations>(); var dateTimeProvider = Substitute.For <IDateTimeProvider>(); var telemetryDataSinkResolver = Substitute.For <ITelemetryDataSinkResolver>(); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow); var pusherRegistry = new PusherRegistry(dateTimeProvider); var connectionRegistry = new ConnectionRegistry(pusherRegistry, null); var deviceId = Identity.Next(); connection.ConnectionId.Returns(Guid.NewGuid()); deviceAuthenticator.Authenticate(null).ReturnsForAnyArgs(true); deviceOperations.Get(null).ReturnsForAnyArgs(TestDataCreator.Device(deviceId, "1234", "2345", "3456", "4567", 1)); connectionRegistry.RegisterInitiatedConnection(connection); telemetryDataSinkResolver.ResolveIncoming(null).ReturnsForAnyArgs(new List <ITelemetryDataSink>()); var telemetryDataService = new DirectTelemetryDataService(telemetryDataSinkResolver); var commandExecutor = new CommandExecutor(pusherRegistry, connectionRegistry, null, deviceAuthenticator, deviceOperations, null, telemetryDataService); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow); commandExecutor.Execute(connection, new TelemetryDataCommand("{\"Temperature\": 24, \"Time\":" + DateTime.UtcNow.Ticks + "}")); connection.Received(1).Reply("telemetrydata unauthorized"); }
public static void RegisterConnection_GivenValidConnection_SetsConnection() { var connectionId = Guid.NewGuid(); var connection = Mock.Of <IDbConnectionFactory>(); Assert.That(() => ConnectionRegistry.RegisterConnection(connectionId, connection), Throws.Nothing); }
public void GetPeekConnectionRequeueFromCommitToPeekTest() { var dateTimeProvider = Substitute.For <IDateTimeProvider>(); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow); var pusherRegistry = new PusherRegistry(dateTimeProvider); var connectionRegistry = new ConnectionRegistry(pusherRegistry, null); var persistentConnection = Substitute.For <IPersistentConnection>(); persistentConnection.ConnectionId.Returns(Guid.NewGuid()); connectionRegistry.RegisterInitiatedConnection(persistentConnection); connectionRegistry.PromoteToLoggedInConnection(persistentConnection, Identity.Next(), 1); connectionRegistry.PromoteToSubscribedConnection(persistentConnection.DeviceId, SubscriptionType.PeekAndCommit); persistentConnection.LastHeartbeat.Returns(DateTime.UtcNow.AddSeconds(-20.0)); persistentConnection.NextPeekTime.Returns(DateTime.UtcNow.AddSeconds(-0.1)); var conn = pusherRegistry.GetPeekConnection(); pusherRegistry.SetAsCommitNeededConnections(new[] { conn }); persistentConnection.LastCommitTime = DateTime.UtcNow.AddSeconds(-20); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow.AddMilliseconds(200)); pusherRegistry.GetPeekConnection(); }
public void HeartbeatTest() { var connection = Substitute.For <IPersistentConnection>(); var deviceAuthenticator = Substitute.For <IDeviceAuthenticator>(); var deviceOperations = Substitute.For <IDeviceOperations>(); var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), null); connection.ConnectionId.Returns(Guid.NewGuid()); deviceAuthenticator.Authenticate(null).ReturnsForAnyArgs(true); deviceOperations.Get(null).ReturnsForAnyArgs(TestDataCreator.Device("1234", "1234", "2345", "3456", "4567", 1)); connectionRegistry.RegisterInitiatedConnection(connection); var commandExecutor = new CommandExecutor(null, connectionRegistry, null, deviceAuthenticator, deviceOperations, null, null); commandExecutor.Execute(connection, new LoginCommand(Identity.Next() + " " + Identity.Next())); commandExecutor.Execute(connection, new SubscribeCommand("receiveandforget")); commandExecutor.Execute(connection, new HeartbeatCommand()); Assert.AreEqual(ConnectionState.LoggedIn | ConnectionState.Subscribed, connection.ConnectionState); connection.Received().Heartbeat(); }
public void SendToErrorTest() { var connection = Substitute.For <IPersistentConnection>(); var deviceAuthenticator = Substitute.For <IDeviceAuthenticator>(); var deviceOperations = Substitute.For <IDeviceOperations>(); var dateTimeProvider = Substitute.For <IDateTimeProvider>(); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow); var pusherRegistry = new PusherRegistry(dateTimeProvider); var connectionRegistry = new ConnectionRegistry(pusherRegistry, null); var deviceId = Identity.Next(); connection.ConnectionId.Returns(Guid.NewGuid()); deviceAuthenticator.Authenticate(null).ReturnsForAnyArgs(true); deviceOperations.Get(null).ReturnsForAnyArgs(TestDataCreator.Device(deviceId, "1234", "2345", "3456", "4567", 1)); connectionRegistry.RegisterInitiatedConnection(connection); var commandExecutor = new CommandExecutor(pusherRegistry, connectionRegistry, null, deviceAuthenticator, deviceOperations, null, null); commandExecutor.Execute(connection, new LoginCommand(deviceId + " " + Identity.Next())); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow); commandExecutor.Execute(connection, new SendToCommand("{\"Temperature\": 24, \"Time\":" + DateTime.UtcNow.Ticks + "}")); connection.Received(1).Reply("sendto error"); }
public void GetPeekConnectionHeartbeatTooEarlyTest() { var dateTimeProvider = Substitute.For <IDateTimeProvider>(); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow); var pusherRegistry = new PusherRegistry(dateTimeProvider); var connectionRegistry = new ConnectionRegistry(pusherRegistry, null); var persistentConnection = Substitute.For <IPersistentConnection>(); persistentConnection.ConnectionId.Returns(Guid.NewGuid()); connectionRegistry.RegisterInitiatedConnection(persistentConnection); connectionRegistry.PromoteToLoggedInConnection(persistentConnection, Identity.Next(), 1); connectionRegistry.PromoteToSubscribedConnection(persistentConnection.DeviceId, SubscriptionType.PeekAndCommit); persistentConnection.LastHeartbeat.Returns(DateTime.UtcNow.AddSeconds(-20.0)); persistentConnection.NextPeekTime.Returns(DateTime.UtcNow.AddSeconds(0.1)); var nothing = pusherRegistry.GetPeekConnection(); Assert.IsNull(nothing); }
public void TryLoginSameDeviceTwiceTest() { var connection = Substitute.For <IPersistentConnection>(); var connection2 = Substitute.For <IPersistentConnection>(); var deviceAuthenticator = Substitute.For <IDeviceAuthenticator>(); var deviceOperations = Substitute.For <IDeviceOperations>(); var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), null); connection.ConnectionId.Returns(Guid.NewGuid()); connection2.ConnectionId.Returns(Guid.NewGuid()); deviceAuthenticator.Authenticate(null).ReturnsForAnyArgs(true); var deviceId = Identity.Next(); deviceOperations.Get(null).ReturnsForAnyArgs(TestDataCreator.Device(deviceId, "1234", "2345", "3456", "4567", 1)); connectionRegistry.RegisterInitiatedConnection(connection); connectionRegistry.RegisterInitiatedConnection(connection2); var commandExecutor = new CommandExecutor(null, connectionRegistry, null, deviceAuthenticator, deviceOperations, null, null); commandExecutor.Execute(connection, new LoginCommand(deviceId + " " + Identity.Next())); commandExecutor.Execute(connection2, new LoginCommand(deviceId + " " + Identity.Next())); connection.Received().Reply("login ack"); connection2.Received().Reply("login badcommand"); Assert.AreEqual(ConnectionState.LoggedIn, connection.ConnectionState); Assert.AreEqual(1, connection.NumericDeviceId); }
public static void TryGetConnectionId_WhenNoConnectionSet_ReturnsEmptyGuid() { var connection = Mock.Of <IDbConnectionFactory>(); var result = ConnectionRegistry.TryGetConnectionId(connection, out var connectionId); Assert.Multiple(() => { Assert.That(result, Is.False); Assert.That(connectionId, Is.EqualTo(Guid.Empty)); }); }
public void TryRegisterInitiatingConnectionTwiceTest() { var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), new DateTimeProvider()); var persistentConnection = Substitute.For <IPersistentConnection>(); persistentConnection.ConnectionId.Returns(Guid.NewGuid()); connectionRegistry.RegisterInitiatedConnection(persistentConnection); connectionRegistry.RegisterInitiatedConnection(persistentConnection); }
public static void RegisterConnection_GivenTwoConnectionsWithSameId_SetsSecondConnection() { var connectionId = Guid.NewGuid(); var firstConnection = Mock.Of <IDbConnectionFactory>(); var secondConnection = Mock.Of <IDbConnectionFactory>(); Assert.That(() => { ConnectionRegistry.RegisterConnection(connectionId, firstConnection); ConnectionRegistry.RegisterConnection(connectionId, secondConnection); }, Throws.Nothing); }
public void TryPromoteToLoggedInConnectionNoDeviceIdTest() { var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), new DateTimeProvider()); var persistentConnection = Substitute.For <IPersistentConnection>(); persistentConnection.ConnectionId.Returns(Guid.NewGuid()); connectionRegistry.RegisterInitiatedConnection(persistentConnection); connectionRegistry.PromoteToLoggedInConnection(persistentConnection, null, 1); }
public void RegisterInitiatingConnectionTest() { var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), new DateTimeProvider()); var persistentConnection = Substitute.For <IPersistentConnection>(); persistentConnection.ConnectionId.Returns(Guid.NewGuid()); connectionRegistry.RegisterInitiatedConnection(persistentConnection); Assert.AreEqual(ConnectionState.Initiated, persistentConnection.ConnectionState); Assert.AreEqual(SubscriptionType.None, persistentConnection.SubscriptionType); }
public void TryPromoteToSubscribedConnectionNotLoggedInTest() { var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), new DateTimeProvider()); var persistentConnection = Substitute.For <IPersistentConnection>(); persistentConnection.ConnectionId.Returns(Guid.NewGuid()); persistentConnection.DeviceId.Returns(Identity.Next()); connectionRegistry.RegisterInitiatedConnection(persistentConnection); connectionRegistry.PromoteToSubscribedConnection(persistentConnection.DeviceId, SubscriptionType.PeekAndCommit); }
public void TryUnsubscribeNonSubscribedConnectionTest() { var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), new DateTimeProvider()); var persistentConnection = Substitute.For <IPersistentConnection>(); persistentConnection.ConnectionId.Returns(Guid.NewGuid()); connectionRegistry.RegisterInitiatedConnection(persistentConnection); connectionRegistry.PromoteToLoggedInConnection(persistentConnection, Identity.Next(), 1); connectionRegistry.UnsubscribeConnection(persistentConnection.DeviceId); }
public static void TryGetConnectionId_WhenConnectionSet_ReturnsConnectionId() { var connectionId = Guid.NewGuid(); var connection = Mock.Of <IDbConnectionFactory>(); ConnectionRegistry.RegisterConnection(connectionId, connection); var result = ConnectionRegistry.TryGetConnectionId(connection, out var retrievedConnectionId); Assert.Multiple(() => { Assert.That(result, Is.True); Assert.That(retrievedConnectionId, Is.EqualTo(connectionId)); }); }
public void CloseTest() { var connection = Substitute.For <IPersistentConnection>(); var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), null); connection.ConnectionId.Returns(Guid.NewGuid()); connectionRegistry.RegisterInitiatedConnection(connection); var commandExecutor = new CommandExecutor(null, connectionRegistry, null, null, null, null, null); commandExecutor.Execute(connection, new CloseCommand()); Assert.AreEqual(ConnectionState.None, connection.ConnectionState); connection.Received().Close(); }
public void PromoteToLoggedInConnectionTest() { var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), new DateTimeProvider()); var persistentConnection = Substitute.For <IPersistentConnection>(); persistentConnection.ConnectionId.Returns(Guid.NewGuid()); connectionRegistry.RegisterInitiatedConnection(persistentConnection); connectionRegistry.PromoteToLoggedInConnection(persistentConnection, Identity.Next(), 1); Assert.IsNotNull(persistentConnection.DeviceId); Assert.AreEqual(ConnectionState.LoggedIn, persistentConnection.ConnectionState); Assert.AreEqual(SubscriptionType.None, persistentConnection.SubscriptionType); }
public void PromoteToSubscribedConnectionTest() { var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), new DateTimeProvider()); var persistentConnection = Substitute.For <IPersistentConnection>(); persistentConnection.ConnectionId.Returns(Guid.NewGuid()); connectionRegistry.RegisterInitiatedConnection(persistentConnection); connectionRegistry.PromoteToLoggedInConnection(persistentConnection, Identity.Next(), 1); connectionRegistry.PromoteToSubscribedConnection(persistentConnection.DeviceId, SubscriptionType.PeekAndCommit); Assert.AreEqual(ConnectionState.LoggedIn | ConnectionState.Subscribed, persistentConnection.ConnectionState); Assert.AreEqual(SubscriptionType.PeekAndCommit, persistentConnection.SubscriptionType); persistentConnection.Received().Heartbeat(); }
public void TryLoginUnauthorizedTest() { var connection = Substitute.For <IPersistentConnection>(); var deviceAuthenticator = Substitute.For <IDeviceAuthenticator>(); var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), null); connection.ConnectionId.Returns(Guid.NewGuid()); deviceAuthenticator.Authenticate(null).ReturnsForAnyArgs(false); connectionRegistry.RegisterInitiatedConnection(connection); var commandExecutor = new CommandExecutor(null, connectionRegistry, null, deviceAuthenticator, null, null, null); commandExecutor.Execute(connection, new LoginCommand(Identity.Next() + " " + Identity.Next())); connection.Received().Reply("login unauthorized"); Assert.AreEqual(ConnectionState.Initiated, connection.ConnectionState); }
public void TryUnSubscribeNotLoggedinTest() { var connection = Substitute.For <IPersistentConnection>(); var deviceAuthenticator = Substitute.For <IDeviceAuthenticator>(); var deviceOperations = Substitute.For <IDeviceOperations>(); var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), null); connection.ConnectionId.Returns(Guid.NewGuid()); deviceAuthenticator.Authenticate(null).ReturnsForAnyArgs(true); deviceOperations.Get(null).ReturnsForAnyArgs(TestDataCreator.Device("1234", "1234", "2345", "3456", "4567", 1)); connectionRegistry.RegisterInitiatedConnection(connection); var commandExecutor = new CommandExecutor(null, connectionRegistry, null, deviceAuthenticator, deviceOperations, null, null); commandExecutor.Execute(connection, new UnsubscribeCommand()); connection.Received().Reply("unsubscribe unauthorized"); Assert.AreEqual(ConnectionState.Initiated, connection.ConnectionState); Assert.AreEqual(SubscriptionType.None, connection.SubscriptionType); }
public void CommitSuccessTest() { var connection = Substitute.For <IPersistentConnection>(); var deviceAuthenticator = Substitute.For <IDeviceAuthenticator>(); var deviceOperations = Substitute.For <IDeviceOperations>(); var dateTimeProvider = Substitute.For <IDateTimeProvider>(); var outgoingMessageReader = Substitute.For <IMessagingOperations>(); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow); var pusherRegistry = new PusherRegistry(dateTimeProvider); var connectionRegistry = new ConnectionRegistry(pusherRegistry, null); var deviceId = Identity.Next(); connection.ConnectionId.Returns(Guid.NewGuid()); deviceAuthenticator.Authenticate(null).ReturnsForAnyArgs(true); deviceOperations.Get(null).ReturnsForAnyArgs(TestDataCreator.Device(deviceId, "1234", "2345", "3456", "4567", 1)); connectionRegistry.RegisterInitiatedConnection(connection); var commandExecutor = new CommandExecutor(pusherRegistry, connectionRegistry, outgoingMessageReader, deviceAuthenticator, deviceOperations, null, null); commandExecutor.Execute(connection, new LoginCommand(deviceId + " " + Identity.Next())); commandExecutor.Execute(connection, new SubscribeCommand("peekandcommit")); dateTimeProvider.UtcNow.Returns(DateTime.UtcNow); pusherRegistry.SetAsCommitNeededConnections(new[] { connection }); outgoingMessageReader.Commit((long)0).ReturnsForAnyArgs(OutgoingState.Ok); Assert.IsTrue(pusherRegistry.IsCommitable(deviceId)); commandExecutor.Execute(connection, new CommitCommand()); Assert.IsFalse(pusherRegistry.IsCommitable(deviceId)); commandExecutor.Execute(connection, new CommitCommand()); }
private void StartBackgrounProcesses() { var settingOperations = _serviceProvider.GetService <ISettingOperations>(); SetupTelemetryDataSinkMetadataRegistry(settingOperations); var messagingServiceClient = _serviceProvider.GetService <IMessagingServiceClient>(); messagingServiceClient.Setup(settingOperations.Get(Setting.MessagingServiceEndpoint).Value, settingOperations.Get(Setting.MessagingServiceApiKey).Value); var batchParameters = _serviceProvider.GetService <IBatchParameters>(); MessagingWorkers.Start(batchParameters, messagingServiceClient); _persistentConnectionReceiveAndForgetWorker = _serviceProvider.GetService <PersistentConnectionReceiveAndForgetWorker>(); _persistentConnectionReceiveAndForgetWorker.Start(); _persistentConnectionPeekWorker = _serviceProvider.GetService <PersistentConnectionPeekWorker>(); _persistentConnectionPeekWorker.Start(); _connectionRegistry = _serviceProvider.GetService <ConnectionRegistry>(); _connectionRegistry.Start(); }
/// <inheritdoc /> protected override IEntitySpawnResults OnEntityConstructionCompleted([NotNull] IPlayerSpawnContext context, [NotNull] IEntitySpawnResults result) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (result == null) { throw new ArgumentNullException(nameof(result)); } //Check if the spawn was a success. If not we don't want to add information about it to the network services. if (result.Result != SpawnResult.Success) { return(result); } //TODO: Verify that none of this is in the services/collections all ready. MAJOR ISSUES if we are getting multiple of the same entity. EntityCollection.Add(context.EntityGuid, new EntityContainer(context.EntityGuid, result.EntityGameObject)); PeerCollection.Add(context.OwnerPeer); ConnectionRegistry.Register(context.OwnerPeer.PeerDetails.ConnectionID, context.EntityGuid); return(result); }
public void CommitNotApplicableTest() { var connection = Substitute.For <IPersistentConnection>(); var deviceAuthenticator = Substitute.For <IDeviceAuthenticator>(); var deviceOperations = Substitute.For <IDeviceOperations>(); var dateTimeProvider = Substitute.For <IDateTimeProvider>(); var pusherRegistry = new PusherRegistry(dateTimeProvider); var connectionRegistry = new ConnectionRegistry(pusherRegistry, null); connection.ConnectionId.Returns(Guid.NewGuid()); deviceAuthenticator.Authenticate(null).ReturnsForAnyArgs(true); deviceOperations.Get(null).ReturnsForAnyArgs(TestDataCreator.Device("1234", "1234", "2345", "3456", "4567", 1)); connectionRegistry.RegisterInitiatedConnection(connection); var commandExecutor = new CommandExecutor(pusherRegistry, connectionRegistry, null, deviceAuthenticator, deviceOperations, null, null); commandExecutor.Execute(connection, new LoginCommand(Identity.Next() + " " + Identity.Next())); commandExecutor.Execute(connection, new SubscribeCommand("peekandcommit")); commandExecutor.Execute(connection, new CommitCommand()); }
public void SetConnectionRegistry(ConnectionRegistry connectionRegistry, Func <CommandExecutor> commandExecutorCreator) { _connectionRegistry = connectionRegistry; _commandExecutorCreator = commandExecutorCreator; }