public static IFeature Create(ICommandParser commandParser, IKeyValueStore persistence, Configuration configuration)
        {
            var zendeskApi = new ErrorCatchingZendeskTicketApi(
                new ZendeskTicketApi(new CachedZendeskApi(new Time(), ReconnectingZendeskApi.CreateAsync(
                                                              async() => await ZendeskApi.CreateAsync(configuration.Get("redgate-id")), new Time()).Result)));

            var zendeskTicketTracker   = new ZendeskTicketTracker(commandParser, persistence, zendeskApi);
            var zendeskTicketProcessor = new ZendeskTicketProcessor(zendeskApi);

            return(new BasicFeature("zdtracker", "track comments added to zendesk tickets", "use `track ZD#12345` to start tracking a zendesk ticket in the current channel",
                                    new CompositeMessageProcessor(zendeskTicketProcessor, zendeskTicketTracker)));
        }
示例#2
0
        public void ReturnsNullOnError()
        {
            var api = new ErrorCatchingZendeskTicketApi(new ZendeskTicketApi(ZendeskApi.Create(m_Configuration.Get("redgate-id"))));

            Assert.AreEqual(default(ZendeskTicket), api.FromId("not a zd id").Result);
        }