示例#1
0
        public async void CRUDTest()
        {
            var webhookService = new WebHookService(ApiService, SearchService);
            var model          = new CreateWebHookModel {
                Type = WebHookType.Site, URL = "https://api.monsite.com/key=d4s5qd4f8sf"
            };

            // Création
            string webhookId = await webhookService.Create(model);

            // Listing
            var WebHooks = await webhookService.List();

            var webhook = WebHooks.Find(w => w.Id == webhookId);

            Assert.NotNull(webhook);
            Assert.Equal(model.Type, webhook.Type);
            Assert.Equal(model.URL, webhook.URL);

            // Delete
            await webhookService.Delete(webhookId);

            // Listing
            WebHooks = await webhookService.List();

            Assert.False(WebHooks.Exists(w => w.Id == webhookId));
        }
示例#2
0
        public void CanGetWebHookDescriptor()
        {
            string         testWebHookName = $"{nameof(CanSubscribeWebHook)}_testWebHook";
            WebHookService svc             = GetTestWebHookService();

            CoreServiceResponse <WebHookSubscriber> subscribeToWebHookResponse = svc.SubscribeToWebHook(testWebHookName, "TestWebHookUrl");

            WebHookDescriptor[] descriptors = svc.WebHooksRepository.Query <WebHookDescriptor>(q => q.WebHookName == testWebHookName).ToArray();
            Expect.IsTrue(descriptors.Length == 1, "Failed to retrieve webhook descriptor");
        }
示例#3
0
        private static WebHookService GetTestWebHookService()
        {
            WebHooksRepository webHooksRepository = new WebHooksRepository();
            WebHookService     svc = new WebHookService(webHooksRepository, new Data.Repositories.DaoRepository(), new Server.AppConf());
            Database           db  = webHooksRepository.Database;

            DeleteWebHookData(db);
            _databases.Add(db);
            return(svc);
        }
示例#4
0
        public ResMediaServerKeepAlive MediaServerKeepAlive(ReqMediaServerKeepAlive req)
        {
            ResponseStruct rs;
            var            ret = WebHookService.MediaServerKeepAlive(req, out rs);

            if (ret == null || !rs.Code.Equals(ErrorNumber.None))
            {
                throw new AkStreamException(rs);
            }

            return(ret);
        }
示例#5
0
        public void CanSubscribeWebHook()
        {
            string         testWebHookName = "TestWebHook";
            string         testUrl         = "testurl";
            WebHookService svc             = new WebHookService(new WebHooksRepository(), new Data.Repositories.DaoRepository(), new Server.AppConf());

            CoreServiceResponse response = svc.SubscribeToWebHook(testWebHookName, testUrl);

            Expect.IsTrue(response.Success, "subscribe to webhook failed");

            Expect.AreEqual(testWebHookName, response.Data.WebHookName);
            Expect.AreEqual(testUrl, response.Data.Url);
        }
示例#6
0
        public void CanListWebHookSubscribers()
        {
            string testWebHookName = "TestWebHookName";

            string[]       testWebHookUrls = new string[] { 8.RandomLetters(), 6.RandomLetters(), 4.RandomLetters() };
            WebHookService svc             = new WebHookService(new WebHooksRepository(), new Data.Repositories.DaoRepository(), new Server.AppConf());

            foreach (string testWebHookUrl in testWebHookUrls)
            {
                svc.SubscribeToWebHook(testWebHookName, testWebHookUrl);
            }

            CoreServiceResponse <WebHookSubscriptionInfo> response = svc.ListSubscribers(testWebHookName);

            WebHookSubscriptionInfo[] info = response.ToArray <WebHookSubscriptionInfo>();
            Expect.AreEqual(3, info.Length);
            List <string> actual = info.Select(whsi => whsi.Url).ToList();

            foreach (string expected in testWebHookUrls)
            {
                Expect.IsTrue(actual.Contains(expected));
            }
        }
示例#7
0
 public ResToWebHookOnPublish OnPublish(ReqForWebHookOnPublish req)
 {
     return(WebHookService.OnPublish(req));
 }
示例#8
0
 public ResToWebHookOnPlay OnPlay(ReqForWebHookOnPlay req)
 {
     return(WebHookService.OnPlay(req));
 }
示例#9
0
 public ResToWebHookOnStreamChange OnStreamChanged(ReqForWebHookOnStreamChange req)
 {
     return(WebHookService.OnStreamChanged(req));
 }
示例#10
0
 public ResToWebHookOnStreamNoneReader OnStreamNoneReader(ReqForWebHookOnStreamNoneReader req)
 {
     return(WebHookService.OnStreamNoneReader(req));
 }
示例#11
0
 public ResToWebHookOnFlowReport OnFlowReport(ReqForWebHookOnFlowReport req)
 {
     return(WebHookService.OnFlowReport(req));
 }
示例#12
0
 public ResToWebHookOnRecordMP4 OnRecordMp4(ReqForWebHookOnRecordMP4 req)
 {
     return(WebHookService.OnRecordMp4(req));
 }