Exemplo n.º 1
0
        public void WebhookResponseNoResults()
        {
            var searchTerm   = "WebhookResponse No Result";
            var channel      = "WebhookTestChannel";
            var userName     = "******";
            var responseText = string.Format("Psssst @{0} I couldn't find a title named \"{1}\".", userName, searchTerm);

            var response           = new Model.SlackWebhookResponse().EmptyResultResponse(searchTerm, channel, userName);
            var hasCorrectResponse = response.payload.text == responseText;

            Assert.IsTrue(hasCorrectResponse);
        }
Exemplo n.º 2
0
        public void WebhookResponseWithResultAttachments()
        {
            var searchTerm   = "The 100";
            var userName     = "******";
            var responseText = string.Format("Psssst @{0} I couldn't find a title named \"{1}\".", userName, searchTerm);
            var omdbSearch   = new OmdbQuery();
            var searchResult = omdbSearch.SearchSingleResult(searchTerm);
            var imdbId       = searchResult.imdbId;
            var response     = new Model.SlackWebhookResponse().FromOmdbTitleAsAttachment(searchResult);
            var hasImdbId    = response.payload.attachments[0].pretext.Contains(imdbId);

            Assert.IsTrue(hasImdbId);
        }
Exemplo n.º 3
0
        public HttpStatusCode Send(Model.SlackWebhookResponse webhookResponse)
        {
            var url         = "https://hooks.slack.com/";
            var client      = new RestClient(url);
            var postRequest = new RestRequest(WEBHOOKID, Method.POST);
            var jsonBody    = JsonConvert.SerializeObject(webhookResponse.payload);

            postRequest.AddParameter("application/json", jsonBody, ParameterType.RequestBody);

            IRestResponse r = client.Execute(postRequest);

            return(r.StatusCode);
        }
Exemplo n.º 4
0
        public Model.SlackWebhookResponse Execute(string searchTerm, string channel, string userName)
        {
            var omdb     = new Omdb.Integration.OmdbQuery();
            var response = new Model.SlackWebhookResponse();
            var results  = omdb.Search(searchTerm);

            var foundResult = results.Search.Count > 0;

            if (foundResult)
            {
                response = new Model.SlackWebhookResponse().FromOmdbSearchResult(results);
                response.payload.channel = "#" + channel;
            }
            else
            {
                var searchResults = omdb.Search(searchTerm);
                response = new Model.SlackWebhookResponse().EmptyResultResponse(searchTerm, channel, userName);
            }

            return(response);
        }
Exemplo n.º 5
0
        public Model.SlackWebhookResponse Execute(string searchTerm, string channel, string userName)
        {
            var omdb     = new Omdb.Integration.OmdbQuery();
            var response = new Model.SlackWebhookResponse();
            var result   = omdb.SearchSingleResult(searchTerm);

            var foundResult = string.IsNullOrEmpty(result.Title) ? false : true;

            if (foundResult)
            {
                response = new Model.SlackWebhookResponse().FromOmdbTitle(result);
                response.payload.channel = "#" + channel;
            }
            else
            {
                var searchResults = omdb.Search(searchTerm);
                response = new Model.SlackWebhookResponse().EmptyResultResponse(searchTerm, channel, userName);
            }

            return(response);
        }