示例#1
0
        public void PushChannel(string message, string channelId, IComparable badge)
        {
            //Assert.That(!string.IsNullOrWhiteSpace(message));
            Assert.That(!string.IsNullOrWhiteSpace(channelId));

            if (!CHL_TK.IsMatch(channelId))
            {
                string ch = ServiceModelConfig.GetConfigValue(channelId);
                Assert.That(CHL_TK.IsMatch(ch), "Invalid UA Channel Id: {0} => {1}", channelId, ch);
                channelId = ch;
            }

            var p = new Push(new Audience(Type.AudienceType.Ios, channelId, true), message);

            p.Notification.IosAlert = new IosAlert {
                Badge = badge
            };

            PushResponse pv = _ua.Validate(p);

            TestResponse(pv);

            PushResponse pr = _ua.Push(p);

            TestResponse(pr);
            CollectionAssert.IsNotEmpty(pr.PushIds);
        }
示例#2
0
        public void PushToken(string message, string iosDeviceToken, IComparable badge)
        {
            //Assert.That(!string.IsNullOrWhiteSpace(message));
            Assert.That(!string.IsNullOrWhiteSpace(iosDeviceToken));

            if (!DEV_TK.IsMatch(iosDeviceToken))
            {
                string tk = ServiceModelConfig.GetConfigValue(iosDeviceToken);
                Assert.That(DEV_TK.IsMatch(tk), "Invalid iOS Device Token: {0} => {1}", iosDeviceToken, tk);
                iosDeviceToken = tk;
            }

            var p = new Push(new Audience(Type.AudienceType.Ios, iosDeviceToken), message);

            p.Notification.IosAlert = new IosAlert {
                Badge = badge
            };

            PushResponse pv = _ua.Validate(p);

            TestResponse(pv);

            PushResponse pr = _ua.Push(p);

            TestResponse(pr);
            CollectionAssert.IsNotEmpty(pr.PushIds);
        }
示例#3
0
        public ChannelRequest(string channelId, ServiceModelConfig cfg) : base(cfg)
        {
            if (string.IsNullOrWhiteSpace(channelId))
            {
                throw new ArgumentException("ChannelId is required");
            }

            RequestUrl = string.Format("api/channels/{0}", channelId);
        }
        public DeviceTokenRequest(DeviceToken device, ServiceModelConfig serviceModelConfig) : base(device, serviceModelConfig)
        {
            if (string.IsNullOrEmpty(device.Token))
            {
                throw new ArgumentException("The device tokens Token field is required", "device");
            }

            RequestUrl = string.Format("api/device_tokens/{0}", device.Token);
        }
示例#5
0
        public ChannelTagRequest(TagOperation content, ServiceModelConfig cfg) : base(content, cfg)
        {
            if (content == null)
            {
                throw new ArgumentNullException("content");
            }

            RequestUrl = "api/channels/tags/";
        }
示例#6
0
        public PushRequest(Push push, ServiceModelConfig cfg)
            : base(push, cfg)
        {
            if (push == null)
            {
                throw new ArgumentNullException("push");
            }

            RequestUrl = "api/push/";
        }
 public ScheduleEditRequest(Guid scheduleId, Schedule schedule, ServiceModelConfig cfg)
     : base(schedule, cfg)
 {
     RequestUrl = "api/schedules/" + scheduleId + "/";
 }
 public NamedUsersTagRequest(NamedUserTagUpdate namedUserTagUpdate, ServiceModelConfig serviceModelConfig)
     : base(namedUserTagUpdate, serviceModelConfig)
 {
     RequestUrl = "api/named_users/tags/";
 }
示例#9
0
 public PostRequest(TContent content, ServiceModelConfig cfg)
     : base(cfg)
 {
     RequestMethod = HttpMethod.Post;
     Content       = content;
 }
示例#10
0
 public TagListRequest(ServiceModelConfig cfg) : base(cfg)
 {
     RequestUrl = "api/tags/";
 }
 public NamedUserAssociationRequest(Association association, ServiceModelConfig serviceModelConfig)
     : base(association, serviceModelConfig)
 {
     RequestUrl = "api/named_users/associate/";
 }
示例#12
0
 public PushValidateRequest(Push push, ServiceModelConfig cfg)
     : base(push, cfg)
 {
     RequestUrl = "api/push/validate/";
 }
示例#13
0
 public DeleteRequest(ServiceModelConfig cfg)
     : base(cfg)
 {
     RequestMethod = HttpMethod.Delete;
 }
示例#14
0
 public TagDeleteRequest(String tag, ServiceModelConfig serviceModelConfig)
     : base(serviceModelConfig)
 {
     RequestUrl = "api/tags/" + tag + "/";
 }
示例#15
0
 protected BaseRequest(ServiceModelConfig cfg) : this(cfg.Host, cfg.HttpClient, cfg.SerializerSettings)
 {
 }
示例#16
0
 public PushValidateRequest(Push push, ServiceModelConfig cfg)
     : base(push, cfg)
 {
     RequestUrl = "api/push/validate/";
 }
示例#17
0
 public PushRequest(Push push, ServiceModelConfig serviceModelConfig)
     : base(push, serviceModelConfig)
 {
     RequestUrl = "api/push/";
 }
 public ScheduleGetRequest(Guid scheduleId, ServiceModelConfig serviceModelConfig)
     : base(serviceModelConfig)
 {
     RequestUrl = "api/schedules/" + scheduleId + "/";
 }
 public NamedUsersListRequest(string NamedUserId, ServiceModelConfig serviceModelConfig)
     : base(serviceModelConfig)
 {
     RequestUrl = string.IsNullOrEmpty(NamedUserId) ? "api/named_users/" : "api/named_users?start=" + NamedUserId;
 }
示例#20
0
 public NamedUserRequest(string namedUserId, ServiceModelConfig serviceModelConfig)
     : base(serviceModelConfig)
 {
     RequestUrl = "api/named_users/?id=" + namedUserId;
 }
示例#21
0
 public ScheduleDeleteRequest(Guid scheduleId, ServiceModelConfig cfg) : base(cfg)
 {
     RequestUrl = "api/schedules/" + scheduleId + "/";
 }
示例#22
0
 public GetRequest(ServiceModelConfig serviceModelConfig)
     : base(serviceModelConfig.Host, serviceModelConfig.HttpClient, serviceModelConfig.SerializerSettings)
 {
     RequestMethod = HttpMethod.Get;
 }
 public ScheduleCreateRequest(Schedule schedule, ServiceModelConfig serviceModelConfig)
     : base(schedule, serviceModelConfig)
 {
     RequestUrl = "api/schedules/";
 }
示例#24
0
 public TagCreateRequest(Tag tag, ServiceModelConfig serviceModelConfig)
     : base(tag, serviceModelConfig)
 {
     RequestUrl = "api/tags/" + tag.TagName + "/";
 }
 public ScheduleListRequest(ServiceModelConfig serviceModelConfig)
     : base(serviceModelConfig)
 {
     RequestUrl = "api/schedules/";
 }
示例#26
0
 public PutRequest(TContent content, ServiceModelConfig serviceModelConfig)
     : base(serviceModelConfig.Host, serviceModelConfig.HttpClient, serviceModelConfig.SerializerSettings)
 {
     RequestMethod = HttpMethod.Put;
     Content       = content;
 }
示例#27
0
 public GetRequest(ServiceModelConfig cfg)
     : base(cfg)
 {
     RequestMethod = HttpMethod.Get;
 }