示例#1
0
        internal Task StopAction(WillDisappearEvent evt)
        {
            if (!scopes.TryGetValue(evt.Context, out var scope))
            {
                logger.LogWarning("No active scope for '{ContextID}'", evt.Context);
                return(Task.CompletedTask);
            }

            scope.Dispose();
            scopes.Remove(evt.Context);
            logger.LogInformation("Scope for '{ContextID}' disposed", evt.Context);
            return(Task.CompletedTask);
        }
示例#2
0
        public async void Action_OnWillDisappearEvent_ReturnsShowOkMessage()
        {
            // Setup
            var uuid = Guid.NewGuid().ToString("N");

            (StreamDeckSoftwareEmulator emulator, StreamDeckClient client) = await ConnectAsync(51364, uuid);

            var streamDeckEvent = new WillDisappearEvent("testAction", "context", "device", new AppearancePayload(new Coordinates(0, 0), 0, false));

            using (emulator)
                using (client)
                {
                    // Act
                    emulator.SendEvent(streamDeckEvent);
                    var message = emulator.ReceiveMessage <ShowOkMessage>();

                    // Assert
                    Assert.Equal(MessageEventType.ShowOk, message.Event);
                }
        }