示例#1
0
        public async Task MonitorChannel_InitialConfigurationWithoutAuth_ReturnAuthenticationCrate()
        {
            var configureUrl   = GetTerminalConfigureUrl();
            var requestDataDTO = HealthMonitor_FixtureData.Monitor_Channel_v1_InitialConfiguration_Fr8DataDTO();

            requestDataDTO.ActivityDTO.AuthToken = null;
            var responseActivityDTO = await HttpPostAsync <Fr8DataDTO, ActivityDTO>(configureUrl, requestDataDTO);

            var authCrate = Crate.GetStorage(responseActivityDTO).FirstCrateOrDefault <StandardAuthenticationCM>();

            Assert.IsNotNull(authCrate, "Authentication crate is not found in unauthenticated request response");
        }
示例#2
0
        public async Task Monitor_Channel_Deactivate_Returns_ActionDTO()
        {
            //Arrange
            var configureUrl     = GetTerminalDeactivateUrl();
            var requestActionDTO = HealthMonitor_FixtureData.Monitor_Channel_v1_InitialConfiguration_Fr8DataDTO();

            using (var storage = Crate.GetUpdatableStorage(requestActionDTO.ActivityDTO))
            {
                storage.Add(Fr8.Infrastructure.Data.Crates.Crate.FromContent(ExplicitTerminalActivity.ConfigurationControlsLabel, new Monitor_Channel_v1.ActivityUi()));
            }
            //Act
            var responseActionDTO = await HttpPostAsync <Fr8DataDTO, ActivityDTO>(configureUrl, requestActionDTO);

            //Assert
            Assert.IsNotNull(responseActionDTO);
            Assert.IsNotNull(Crate.FromDto(responseActionDTO.CrateStorage));
        }
示例#3
0
        private async Task <Fr8DataDTO> GetConfiguredActivityWithChannelSelected(string selectedChannel = null)
        {
            selectedChannel = selectedChannel ?? string.Empty;
            var configureUrl   = GetTerminalConfigureUrl();
            var requestDataDTO = HealthMonitor_FixtureData.Monitor_Channel_v1_InitialConfiguration_Fr8DataDTO();
            var activityDTO    = await HttpPostAsync <Fr8DataDTO, ActivityDTO>(configureUrl, requestDataDTO);

            requestDataDTO.ActivityDTO = activityDTO;
            activityDTO.AuthToken      = HealthMonitor_FixtureData.Slack_AuthToken();
            AddPayloadCrate(
                requestDataDTO,
                new EventReportCM()
            {
                EventPayload = new CrateStorage()
                {
                    Fr8.Infrastructure.Data.Crates.Crate.FromContent(
                        "EventReport",
                        new StandardPayloadDataCM(HealthMonitor_FixtureData.SlackEventFields()
                                                  )
                        )
                }
            }
                );
            using (var storage = Crate.GetUpdatableStorage(activityDTO))
            {
                selectedChannel = selectedChannel.StartsWith("#") ? selectedChannel : $"#{selectedChannel}";
                storage.UpdateControls <Monitor_Channel_v1.ActivityUi>(x =>
                {
                    if (string.IsNullOrEmpty(selectedChannel))
                    {
                        x.AllChannelsOption.Selected     = true;
                        x.SpecificChannelOption.Selected = false;
                    }
                    else
                    {
                        x.AllChannelsOption.Selected     = false;
                        x.SpecificChannelOption.Selected = true;
                        var channelListItem       = x.ChannelList.ListItems.FirstOrDefault(y => y.Key == selectedChannel);
                        x.ChannelList.selectedKey = channelListItem?.Key;
                        x.ChannelList.Value       = channelListItem?.Value;
                    }
                });
            }
            return(requestDataDTO);
        }
示例#4
0
        public async Task MonitorChannel_AfterInitialConfigurationWithAuth_ActivityStorageIsExpected()
        {
            var configureUrl = GetTerminalConfigureUrl();

            var requestActionDTO = HealthMonitor_FixtureData.Monitor_Channel_v1_InitialConfiguration_Fr8DataDTO();

            var responseActionDTO =
                await HttpPostAsync <Fr8DataDTO, ActivityDTO>(
                    configureUrl,
                    requestActionDTO
                    );

            Assert.NotNull(responseActionDTO);
            Assert.NotNull(responseActionDTO.CrateStorage);

            var crateStorage = Crate.FromDto(responseActionDTO.CrateStorage);

            Assert.IsNotNull(crateStorage.FirstCrateOrDefault <CrateDescriptionCM>(x => x.Label == CrateSignaller.RuntimeCrateDescriptionsCrateLabel), "Activity storage doesn't contain crate with runtime crates descriptions");
            Assert.IsNotNull(crateStorage.FirstCrateOrDefault <EventSubscriptionCM>(x => x.Label == Monitor_Channel_v1.EventSubscriptionsCrateLabel), "Activity storage doesn't contain crate with event subscriptions");
        }