Example #1
0
        public void Can_Process_Single_Request()
        {
            const int    ExpectedResourceUpdateCount = 1;
            const string Expected_ownerId            = "224F7B";
            const string Expected_subId = "21951163-8ad9-444b-8225-ff230b6e9885-activities";

            DateTime Expected_Date = new DateTime(2012, 5, 24);

            string content = SampleDataHelper.GetContent("SingleSubscriptionNotification.xml");

            SubscriptionManager sut = new SubscriptionManager();

            List <UpdatedResource> resultResourceList = sut.ProcessUpdateReponseBody(content);

            Assert.IsNotNull(resultResourceList);
            Assert.AreEqual(ExpectedResourceUpdateCount, resultResourceList.Count);

            UpdatedResource result = resultResourceList[0];

            Assert.AreEqual(Expected_ownerId, result.OwnerId);
            Assert.AreEqual(Expected_subId, result.SubscriptionId);

            Assert.AreEqual(APICollectionType.foods, result.CollectionType);
            Assert.AreEqual(ResourceOwnerType.User, result.OwnerType);
            Assert.AreEqual(Expected_Date, result.Date);
        }
Example #2
0
        public void Can_Process_Multiple_Request()
        {
            const int    Expect_TWO_UpdatedResources = 2;
            const string Expected_ownerId            = "2242TQ";
            const string Expected_subId = "b4b6dc1a5ead4b4e84f7b7f5b2f16b21-activities";

            DateTime Expected_Date = new DateTime(2012, 7, 25);

            string content = SampleDataHelper.GetContent("MultipleSingleSubscriptionNotification.xml");

            SubscriptionManager sut = new SubscriptionManager();

            List <UpdatedResource> resultResourceList = sut.ProcessUpdateReponseBody(content);

            Assert.IsNotNull(resultResourceList);
            Assert.AreEqual(Expect_TWO_UpdatedResources, resultResourceList.Count);

            UpdatedResource result = resultResourceList[1];

            Assert.AreEqual(Expected_ownerId, result.OwnerId);
            Assert.AreEqual(Expected_subId, result.SubscriptionId);

            Assert.AreEqual(APICollectionType.activities, result.CollectionType);
            Assert.AreEqual(ResourceOwnerType.User, result.OwnerType);
            Assert.AreEqual(Expected_Date, result.Date);
        }
        public void Can_Deserialize_ApiNotifications()
        {
            string content = SampleDataHelper.GetContent("ApiSubscriptionNotification.json");
            JsonDotNetSerializer deserializer = new JsonDotNetSerializer();

            List <UpdatedResource> resources = deserializer.Deserialize <List <UpdatedResource> >(content);

            Assert.IsNotNull(resources);
            Assert.AreEqual(3, resources.Count);
            Assert.AreEqual(2, resources.Count(x => x.CollectionType == APICollectionType.foods));
            Assert.AreEqual(1, resources.Count(x => x.CollectionType == APICollectionType.activities));

            UpdatedResource resource = resources[0];

            Assert.AreEqual(APICollectionType.foods, resource.CollectionType);
            Assert.AreEqual(new DateTime(2010, 03, 01), resource.Date);
            Assert.AreEqual("228S74", resource.OwnerId);
            Assert.AreEqual(ResourceOwnerType.User, resource.OwnerType);
            Assert.AreEqual("1234", resource.SubscriptionId);

            resource = resources[1];
            Assert.AreEqual(APICollectionType.foods, resource.CollectionType);
            Assert.AreEqual(new DateTime(2010, 03, 02), resource.Date);
            Assert.AreEqual("228S74", resource.OwnerId);
            Assert.AreEqual(ResourceOwnerType.User, resource.OwnerType);
            Assert.AreEqual("1234", resource.SubscriptionId);

            resource = resources[2];
            Assert.AreEqual(APICollectionType.activities, resource.CollectionType);
            Assert.AreEqual(new DateTime(2010, 03, 01), resource.Date);
            Assert.AreEqual("184X36", resource.OwnerId);
            Assert.AreEqual(ResourceOwnerType.User, resource.OwnerType);
            Assert.AreEqual("2345", resource.SubscriptionId);
        }