public async Task WhenCallingAuthTestThenServerReceive(SlackLibrary.Connections.Models.AuthTest wantedResponse) { var port = GetRandomPort; using (var server = new SlackServer(port)) { var mockedResponse = new SlackLibrary.Connections.Responses.AuthTestResponse() { Ok = true, TeamId = wantedResponse.TeamId, Team = wantedResponse.Team, Url = wantedResponse.Url, User = wantedResponse.User, UserId = wantedResponse.UserId }; server.MockDefaultAuthTest(mockedResponse); ClientConstants.SlackApiHost = $"http://localhost:{port}"; var client = new FlurlAuthClient(new ResponseVerifier()); var response = await client.Test("SLACK_KEY"); response.ShouldDeepEqual(wantedResponse); } }
public async Task WhenCallingOAuthAccessThenServerReceive(SlackLibrary.Connections.Responses.OAuthAccessResponse wantedResponse) { var port = GetRandomPort; using (var server = new SlackServer(port)) { server.MockDefaultOAuthAccess(wantedResponse); ClientConstants.SlackApiHost = $"http://localhost:{port}"; var client = new FlurlAuthClient(new ResponseVerifier()); var response = await client.OAuthAccess("CLIENT_ID", "CLIENT_SECRET", "CODE", "REDIRECT_URI", "STATE"); response.ShouldDeepEqual(wantedResponse); } }
public async Task WhenAskingTeamInfoThenServerReceive(SlackLibrary.Connections.Models.Team wantedResponse) { var port = GetRandomPort; using (var server = new SlackServer(port)) { server.MockDefaultTeamInfo(wantedResponse); ClientConstants.SlackApiHost = $"http://localhost:{port}"; var client = new FlurlTeamClient(new ResponseVerifier()); var response = await client.GetTeamInfo("SLACK_KEY"); response.ShouldDeepEqual(wantedResponse); } }
public async Task WhenAskingForUserInfoThenServerReceive(SlackLibrary.Connections.Models.User wantedResponse) { var port = GetRandomPort; using (var server = new SlackServer(port)) { server.MockUserInfo(wantedResponse); ClientConstants.SlackApiHost = $"http://localhost:{port}"; var client = new FlurlUserClient(new ResponseVerifier()); var response = await client.Info("SLACK_KEY", wantedResponse.Id); response.WithDeepEqual(wantedResponse) .IgnoreSourceProperty(x => x.Updated) .Assert(); } }
public async Task WhenSendingMessageThenServerReceive() { var port = GetRandomPort; using (var server = new SlackServer(port)) { server.MockDefaultSendMessage(); ClientConstants.SlackApiHost = $"http://localhost:{port}"; var client = new FlurlChatClient(new ResponseVerifier()); var channel = "fake-channel"; var text = "This is a message for a test"; var response = await client.PostMessage("fake-key", channel, text); Assert.Equal(channel, response.Channel); Assert.Equal(text, response.Message.Text); } }
public async Task WhenDeletingMessageThenServerReceive() { var port = GetRandomPort; using (var server = new SlackServer(port)) { server.MockDefaultDeleteMessage(); ClientConstants.SlackApiHost = $"http://localhost:{port}"; var client = new FlurlChatClient(new ResponseVerifier()); var channel = "fake-channel"; var ts = "1111.222223"; await client.Delete("fake-key", channel, ts); var logEntry = server.HttpServer.LogEntries.Filter(FlurlChatClient.DELETE_MESSAGE_PATH, _ => true); Assert.NotNull(logEntry); } }
public async Task WhenAskingConversationListThenServerReceive(SlackLibrary.Connections.Models.ConversationChannel[] channels) { var port = GetRandomPort; using (var server = new SlackServer(port)) { server.MockConversationList(conversations: channels); ClientConstants.SlackApiHost = $"http://localhost:{port}"; var client = new FlurlConversationClient(new ResponseVerifier()); var response = await client.List("SLACK_KEY"); var responseChannels = response.Items.ToList(); Assert.Equal(responseChannels.Count, channels.Length); for (int i = 0; i < channels.Length; i++) { Assert.Equal(responseChannels[i].Id, channels[i].Id); } } }