Beispiel #1
0
        public async Task CreateUserGroup_And_Add_User_Given_valid_input_Should_create_group_with_user()
        {
            // Arrange
            var          sut         = new SlackFacade(_httpClient, _slackOptions, null, new MemoryCache(new MemoryCacheOptions()));
            var          groupName   = Guid.NewGuid().ToString();
            var          handle      = UserGroupHandle.Create(Guid.NewGuid().ToString());
            const string description = "Group created through integration test.";
            var          userEmail   = _configuration.SLACK_TESTING_USER_EMAIL;

            // Act
            var createUserGroupResponse = await sut.CreateUserGroup(name : groupName, handle : handle, description : description);

            if (!createUserGroupResponse.Ok)
            {
                throw new SlackFacadeException($"API error: {createUserGroupResponse.Error}");
            }

            await sut.AddUserGroupUser(userGroupId : createUserGroupResponse.UserGroup.Id, email : userEmail);

            // Assert
            Assert.True(createUserGroupResponse.Ok);
            Assert.Equal(groupName, createUserGroupResponse.UserGroup.Name);

            //Disable user group
            await sut.DisableUserGroup(createUserGroupResponse.UserGroup.Id);
        }
Beispiel #2
0
        public async Task Get_channels_should_return_list_of_channel_objects()
        {
            // Arrange
            var sut = new SlackFacade(_httpClient, _slackOptions, null, new MemoryCache(new MemoryCacheOptions()));

            //Act
            var channels = await sut.GetChannels();

            // Assert
            Assert.True(channels != null);
        }
Beispiel #3
0
        public async Task Get_channels_should_return_list_of_channel_objects()
        {
            // Arrange
            var sut         = new SlackFacade(_httpClient, _slackOptions, null, new MemoryCache(new MemoryCacheOptions()));
            var bearerToken = _configuration.SLACK_TESTING_API_AUTH_TOKEN;

            //Act
            var channels = await sut.GetChannels(bearerToken);

            // Assert
            Assert.True(!string.IsNullOrEmpty(bearerToken));
            Assert.True(channels != null);
        }
Beispiel #4
0
        public async Task CreateChannel_Given_valid_input_Should_create_channel()
        {
            // Arrange
            var sut         = new SlackFacade(_httpClient, _slackOptions, null);
            var channelName = ChannelName.Create(Guid.NewGuid().ToString());

            // Act
            var createChannelResponse = await sut.CreateChannel(channelName.ToString());

            // Assert
            Assert.True(createChannelResponse.Ok);
            Assert.Equal(channelName, createChannelResponse.Channel.Name);
            Assert.NotEmpty(createChannelResponse.Channel.Id.ToString());

            //Clean up integration test resources.
            await sut.ArchiveChannel(createChannelResponse.Channel.Id);
        }
Beispiel #5
0
        public async Task InviteToChannel_Given_valid_input_Should_invite_to_channel()
        {
            // Arrange
            var sut         = new SlackFacade(_httpClient, _slackOptions, null, new MemoryCache(new MemoryCacheOptions()));
            var channelName = ChannelName.Create(Guid.NewGuid().ToString());
            var userEmail   = _configuration.SLACK_TESTING_USER_EMAIL;

            // Act
            var createChannelResponse = await sut.CreateChannel(channelName.ToString());

            await sut.InviteToChannel(userEmail, createChannelResponse.Channel.Id.ToString());

            // Assert
            Assert.True(createChannelResponse.Ok);

            //Clean up integration test resources.
            await sut.ArchiveChannel(createChannelResponse.Channel.Id);
        }
Beispiel #6
0
        public async Task SendNotificationToChannel_Given_valid_input_Should_send_notfication_to_channel()
        {
            // Arrange
            var          sut         = new SlackFacade(_httpClient, _slackOptions, null, new MemoryCache(new MemoryCacheOptions()));
            var          channelName = ChannelName.Create(Guid.NewGuid().ToString());
            const string message     = "Integration test message.";

            // Act
            var createChannelResponse = await sut.CreateChannel(channelName.ToString());

            var sendNotificationToChannelResponse = await sut.SendNotificationToChannel(createChannelResponse.Channel.Id, message : message);

            // Assert
            Assert.True(sendNotificationToChannelResponse.Ok);
            Assert.NotEmpty(sendNotificationToChannelResponse.TimeStamp);

            //Clean up integration test resources.
            await sut.ArchiveChannel(createChannelResponse.Channel.Id);
        }