예제 #1
0
        public async Task RegisterAndDeregisterDevice()
        {
            var deviceReg = new YouMailPushRegistration
            {
                ClientType = YouMailPushClientType.ISeeVM,
                DeviceId   = "ABCDEFG",
                AppVersion = "ISeeVM",
                Version    = 9,
                PushType   = YouMailPushType.MWI |
                             YouMailPushType.MissedCall |
                             YouMailPushType.NewMessage |
                             YouMailPushType.NewMessageWithTranscription |
                             YouMailPushType.AdminFreeFormMessage |
                             YouMailPushType.AdminMessage |
                             YouMailPushType.MessageNotif |
                             YouMailPushType.MissedCallNotif |
                             YouMailPushType.SettingsNotif |
                             YouMailPushType.SystemEvent |
                             YouMailPushType.SMS |
                             YouMailPushType.MMS |
                             YouMailPushType.IncomingExtraLine |
                             YouMailPushType.MessageDeliveryReceipt,
                MessageTypes = "vm,sms,mms"
            };

            var registration = await service.RegisterDeviceAsync(deviceReg);

            Assert.IsNotNull(registration);
            Assert.IsTrue(registration.Id != 0);

            var registrations = await service.GetDeviceRegistrationsAsync();

            await service.DeleteDeviceRegistrationAsync(registration.Id);

            Assert.IsTrue(registration.DeviceId == deviceReg.DeviceId);
            Assert.IsTrue(registration.AppVersion == deviceReg.AppVersion);
            Assert.IsTrue(registration.Version == deviceReg.Version);
            Assert.IsTrue(registration.PushType == deviceReg.PushType);
            Assert.IsTrue(registration.MessageTypes == deviceReg.MessageTypes);

            bool fFound = false;

            foreach (var reg in registrations)
            {
                if (reg.Id == registration.Id)
                {
                    fFound = true;
                    break;
                }
            }

            Assert.IsTrue(fFound, $"Did not find a registration with Id: {registration.Id}");

            fFound        = false;
            registrations = await service.GetDeviceRegistrationsAsync();

            foreach (var reg in registrations)
            {
                if (reg.Id == registration.Id)
                {
                    fFound = true;
                    break;
                }
            }
            Assert.IsFalse(fFound, $"Found a registration with Id: {registration.Id}, even though we deleted it");
        }