public async Task should_not_send_messages_between_participants()
        {
            SetupSendMessageTests();
            // setup claims to return admin username
            var claims = new ClaimsPrincipalBuilder().WithUsername(RepresentativeUsername)
                         .WithRole(AppRoles.RepresentativeRole)
                         .Build();

            UpdateUserIdentity(claims);

            var          fromParticipantId = RepresentativeParticipantId.ToString();
            var          fromUsername      = RepresentativeUsername;
            var          toParticipantId   = IndividualParticipantId.ToString();
            var          toUsername        = IndividualUsername;
            const string message           = "test message";
            var          messageUuid       = Guid.NewGuid();

            await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid);

            AssertMessageNotSentToHub(fromParticipantId, toParticipantId, message, messageUuid, IndividualGroupChannel);
            AssertMessageNotSentToApi(fromUsername, toUsername, message);
            AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Never);

            LoggerMock.Verify(
                x => x.Log(
                    LogLevel.Error,
                    It.IsAny <EventId>(),
                    It.IsAny <It.IsAnyType>(),
                    It.IsAny <InvalidInstantMessageException>(),
                    (Func <It.IsAnyType, Exception, string>)It.IsAny <object>()),
                Times.Once);
        }
Exemple #2
0
        should_send_message_to_admin_group_and_participant_group_when_judge_sends_message_to_default_admin()
        {
            SetupSendMessageTests();
            // setup claims to return judge username
            var claims = new ClaimsPrincipalBuilder().WithUsername(JudgeUsername).WithRole(AppRoles.JudgeRole).Build();

            UpdateUserIdentity(claims);

            var          fromUsername = JudgeUsername;
            var          toUsername   = EventHub.Hub.EventHub.DefaultAdminName;
            const string message      = "test message";
            var          messageUuid  = Guid.NewGuid();

            await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid);

            AssertMessageSentToHubAndApi(fromUsername, toUsername, message, messageUuid, JudgeGroupChannel);
            AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Never);
        }
Exemple #3
0
        public async Task Should_send_message_to_conference_group_if_user_is_vho()
        {
            SetupSendMessageTests();
            // setup claims to return admin username
            var claims = new ClaimsPrincipalBuilder().WithUsername(AdminUsername).WithRole(AppRoles.VhOfficerRole)
                         .Build();

            UpdateUserIdentity(claims);

            var          fromUsername = AdminUsername;
            var          toUsername   = JudgeUsername;
            const string message      = "test message";
            var          messageUuid  = Guid.NewGuid();

            await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid);

            AssertMessageSentToHubAndApi(fromUsername, toUsername, message, messageUuid, JudgeGroupChannel);
            AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Once);
        }
Exemple #4
0
        should_send_message_to_admin_group_and_participant_group_when_individual_sends_message_to_admin()
        {
            SetupSendMessageTests();
            // setup claims to return individual username
            var claims = new ClaimsPrincipalBuilder().WithUsername(IndividualUsername).WithRole(AppRoles.CitizenRole)
                         .Build();

            UpdateUserIdentity(claims);

            var          fromUsername = IndividualUsername;
            var          toUsername   = AdminUserProfile.User_name;
            const string message      = "test message";
            var          messageUuid  = Guid.NewGuid();

            await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid);

            AssertMessageSentToHubAndApi(fromUsername, toUsername, message, messageUuid, IndividualGroupChannel);
            AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Never);
        }
        public async Task should_send_message_to_admin_group_and_participant_group_when_judge_sends_message_to_admin()
        {
            SetupSendMessageTests();
            // setup claims to return judge username
            var claims = new ClaimsPrincipalBuilder().WithUsername(JudgeUsername).WithRole(AppRoles.JudgeRole).Build();

            UpdateUserIdentity(claims);
            var          fromJudgeId  = JudgeParticipantId.ToString();
            var          fromUsername = JudgeUsername;
            var          toUsername   = AdminUserProfile.UserName;
            const string message      = "test message";
            var          messageUuid  = Guid.NewGuid();

            await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid);

            AssertMessageSentToHub(fromJudgeId, toUsername, message, messageUuid, JudgeGroupChannel);
            AssertMessageSentStatusToApi(fromUsername, toUsername, message, Times.Once());

            AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Never);
        }
Exemple #6
0
        should_not_send_message_to_admin_group_and_participant_group_when_recipient_not_in_conference()
        {
            SetupSendMessageTests();
            // setup claims to return admin username
            var claims = new ClaimsPrincipalBuilder().WithUsername(AdminUsername).WithRole(AppRoles.VhOfficerRole)
                         .Build();

            UpdateUserIdentity(claims);

            var          fromUsername = AdminUsername;
            var          toUsername   = "******";
            const string message      = "test message";
            var          messageUuid  = Guid.NewGuid();

            await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid);

            AssertMessageNotSentToHubOrApi(fromUsername, toUsername, message, messageUuid, JudgeGroupChannel);
            AssertMessageNotSentToHubOrApi(fromUsername, toUsername, message, messageUuid, IndividualGroupChannel);
            AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Never);
        }