Exemple #1
0
        public WebexTeamsWebhookHandlerTest()
        {
            _apiService    = Substitute.For <IWebexTeamsApiService>();
            _settings      = new WebexTeamsSettings();
            _messageParser = Substitute.For <IWebexTeamsMessageParser>();
            var options = Substitute.For <IOptions <WebexTeamsSettings> >();

            options.Value.Returns(_settings);
            var mapper = new MapperConfiguration(c =>
            {
                c.AddProfile <CommonMappers>();
                c.AddProfile <WebhookMapper>();
                c.AddProfile <PersonMapper>();
            }).CreateMapper();

            _subject = new WebexTeamsWebhookHandler(_apiService, options, new WebexTeamsMapper(mapper), _messageParser);
        }
        public static WebexTeamsChatHelper CreateWebexTeamsChatHelper(WebexTeamsSettings settings)
        {
            var httpClient = new HttpClient {
                BaseAddress = new Uri("https://api.ciscospark.com/v1")
            };
            var httpClientProxy = new HttpClientProxy(httpClient, new OptionsWrapper <WebexTeamsSettings>(settings));
            var apiService      = new WebexTeamsApiService(httpClientProxy);

            var mapper        = WebexTeamsMapperFactory.CreateMapper();
            var messageParser = new WebexTeamsMessageParser(mapper);

            var messageHandler = new WebexTeamsMessageHandler(apiService, messageParser, mapper);
            var personHandler  = new WebexTeamsPersonHandler(apiService, mapper);
            var roomHandler    = new WebexTeamsRoomHandler(apiService, mapper);

            var webhooks = new WebexTeamsWebhookHandler(apiService, new OptionsWrapper <WebexTeamsSettings>(settings),
                                                        mapper, messageParser);

            return(new WebexTeamsChatHelper(messageHandler, personHandler, roomHandler, webhooks));
        }