Exemple #1
0
        public IEnumerable <ProxySync.PreCommitResponse> TestPreCommitVersionCompare_FacebookCampaign(long differentBetweenHostingVersionAndLocalVersion, out ProxySync.ObjectState facebookCampaignObjectState)
        {
            facebookCampaignObjectState                  = NextObjectState();
            facebookCampaignObjectState.HostingId        = -1;
            facebookCampaignObjectState.ObjectDetailType = (int)SEMObjectDetailType.FacebookCampaign;
            facebookCampaignObjectState.IsVersionCompare = true;
            facebookCampaignObjectState.EngineType       = (int)SearchEngineType.Facebook;
            facebookCampaignObjectState.LocalId          = SyncDataServiceHelper.GenerateLocalId(facebookCampaignObjectState);

            TblFacebookCampaign facebookCampaignEntity = NextFacebookCampaignEntity();

            facebookCampaignEntity.Id       = facebookCampaignObjectState.ObjectId;
            facebookCampaignEntity.ParentId = facebookCampaignObjectState.ParentId;
            facebookCampaignEntity.LocalId  = facebookCampaignObjectState.HostingId;

            facebookCampaignEntity.Version = facebookCampaignObjectState.LocalVersion + differentBetweenHostingVersionAndLocalVersion;

            RegisterCreatedFacebookCampaignEntityForCleanup(facebookCampaignEntity);
            InsertFacebookCampaignIntoDB(facebookCampaignEntity);

            ProxySync.PreCommitResponse[] responses = null;
            ProxySync.ObjectState         facebookCampaignObejctStateForLambdaExpression = facebookCampaignObjectState;
            WCFHelper.Using <SyncDataServiceClient>(new SyncDataServiceClient(), client =>
            {
                responses = client.PreCommit(new ProxySync.ObjectState[] { facebookCampaignObejctStateForLambdaExpression });
            });
            return(responses);
        }
Exemple #2
0
        public bool DoesExistFacebookCampaignEntityInDB(long id, out TblFacebookCampaign facebookCampaignEntity)
        {
            var result = from entity in SEMObjects.TblFacebookCampaign where entity.Id == id select entity;

            if (result.ToArray().Length != 1)
            {
                facebookCampaignEntity = null;
                return(false);
            }
            else
            {
                facebookCampaignEntity = result.ToArray()[0];
                return(true);
            }
        }
Exemple #3
0
        public TblFacebookCampaign NextFacebookCampaignEntity()
        {
            DateTime now = DateTime.Now;

            TblFacebookCampaign tblFacebookCampaign = new TblFacebookCampaign();

            tblFacebookCampaign.LocalStatus    = RandomData.NextByte();
            tblFacebookCampaign.LocalState     = RandomData.NextByte();
            tblFacebookCampaign.LastUpdateTime = RandomData.NextDateTime(new TimeSpan(1, 0, 0, 0));
            tblFacebookCampaign.LocalParentId  = (Int64)RandomData.NextUInt32();
            tblFacebookCampaign.LocalId        = (Int64)RandomData.NextUInt32();
            tblFacebookCampaign.Id             = (Int64)RandomData.NextUInt32();
            tblFacebookCampaign.ParentId       = (Int64)RandomData.NextUInt32();
            tblFacebookCampaign.Name           = RandomData.NextUnicodeWord(500);
            tblFacebookCampaign.Budget         = (decimal)RandomData.NextDouble(0.02, 1);
            tblFacebookCampaign.BudgetType     = RandomData.NextInt32();
            tblFacebookCampaign.StartTime      = tblFacebookCampaign.LastUpdateTime + new TimeSpan(1, 0, 0);
            tblFacebookCampaign.StopTime       = tblFacebookCampaign.StartTime + new TimeSpan(1, 0, 0);
            tblFacebookCampaign.Status         = RandomData.NextInt32();
            tblFacebookCampaign.Version        = (Int64)RandomData.NextInt16();
            return(tblFacebookCampaign);
        }
Exemple #4
0
 public void CompareFacebookCampaignDTOAndEntityObject(ProxyDTO.Facebook.FacebookCampaignDTO facebookCampaignDTO, TblFacebookCampaign facebookCampaignEntity, long localId, long localParentId, int version)
 {
     Assert.AreEqual(facebookCampaignDTO.Id, facebookCampaignEntity.Id, "The campaign id should be equal!!");
     Assert.AreEqual(localId, facebookCampaignEntity.LocalId, "The campaign local id should be equal!!");
     Assert.AreEqual(localParentId, facebookCampaignEntity.LocalParentId, "The campaign local parent id should be equal!!");
     Assert.AreEqual(facebookCampaignDTO.ParentId, facebookCampaignEntity.ParentId, "The campaign parent id should be equal!!");
     Assert.AreEqual(facebookCampaignDTO.LocalStatus, facebookCampaignEntity.LocalStatus, "The campaign local status should be equal!!");
     Assert.AreEqual(facebookCampaignDTO.LocalState, facebookCampaignEntity.LocalState, "The campaign local state should be equal!!");
     Assert.AreEqual(facebookCampaignDTO.Name, facebookCampaignEntity.Name, "The campaign name should be equal!!");
     Assert.AreEqual(facebookCampaignDTO.Status, facebookCampaignEntity.Status, "The campaign status should be equal!!");
     Assert.AreEqual(version, facebookCampaignEntity.Version, "The campaign version should be equal!!");
 }
Exemple #5
0
 public void RegisterCreatedFacebookCampaignEntityForCleanup(TblFacebookCampaign facebookCampaignEntity)
 {
     this.createdFacebookCampaignEntitiesForCleanup.Add(facebookCampaignEntity);
 }
Exemple #6
0
 public void InsertFacebookCampaignIntoDB(TblFacebookCampaign facebookCampaignEntity)
 {
     SEMObjects.TblFacebookCampaign.InsertOnSubmit(facebookCampaignEntity);
     SEMObjects.SubmitChanges();
 }
        public void TestMultipleClientsDoPreCommit_FacebookCampaign()
        {
            ProxySync.ObjectState facebookCampaignObjectState = SyncDataServiceHelper.NextObjectState();
            facebookCampaignObjectState.HostingId        = -1;
            facebookCampaignObjectState.ObjectDetailType = (int)SEMObjectDetailType.FacebookCampaign;
            facebookCampaignObjectState.IsVersionCompare = true;
            facebookCampaignObjectState.EngineType       = (int)SearchEngineType.Facebook;
            facebookCampaignObjectState.LocalId          = SyncDataServiceHelper.GenerateLocalId(facebookCampaignObjectState);

            TblFacebookCampaign facebookCampaignEntity = SyncDataServiceHelper.NextFacebookCampaignEntity();

            facebookCampaignEntity.Id       = facebookCampaignObjectState.ObjectId;
            facebookCampaignEntity.ParentId = facebookCampaignObjectState.ParentId;

            facebookCampaignEntity.Version = facebookCampaignObjectState.LocalVersion;

            SyncDataServiceHelper.RegisterCreatedFacebookCampaignEntityForCleanup(facebookCampaignEntity);
            SyncDataServiceHelper.InsertFacebookCampaignIntoDB(facebookCampaignEntity);

            var taskA = Task.Factory.StartNew <ProxySync.PreCommitResponse[]>(() =>
            {
                ProxySync.PreCommitResponse[] responsesA = null;
                ProxySync.ObjectState facebookCampaignObejctStateForLambdaExpressionA = facebookCampaignObjectState;
                WCFHelper.Using <SyncDataServiceClient>(new SyncDataServiceClient(), client =>
                {
                    responsesA = client.PreCommit(new ProxySync.ObjectState[] { facebookCampaignObejctStateForLambdaExpressionA });
                });
                return(responsesA);
            });

            var taskB = Task.Factory.StartNew <ProxySync.PreCommitResponse[]>(() =>
            {
                ProxySync.PreCommitResponse[] responsesB = null;
                ProxySync.ObjectState facebookCampaignObejctStateForLambdaExpressionB = facebookCampaignObjectState;
                WCFHelper.Using <SyncDataServiceClient>(new SyncDataServiceClient(), client =>
                {
                    responsesB = client.PreCommit(new ProxySync.ObjectState[] { facebookCampaignObejctStateForLambdaExpressionB });
                });
                return(responsesB);
            });

            Task.WaitAll(taskA, taskB);

            //Verify two task results
            if (taskA.Result == null && taskB.Result == null)
            {
                Assert.Fail("The two clients all return NULL!!");
            }
            if (taskA.Result != null && taskB.Result != null)
            {
                Assert.Fail("The two clients all don't return NULL!!");
            }
            if (taskA.Result != null && taskB.Result == null)
            {
                Assert.AreEqual(1, taskA.Result.Length, "The length of PreCommitResponse array should be equal 1!!");
                Assert.AreEqual(facebookCampaignObjectState.LocalId, taskA.Result[0].GrainId, "The inputed objectstate object's LocalId should be equal to PreCommitResponse's GrainId returned from Server!!");
            }
            if (taskA.Result == null && taskB.Result != null)
            {
                Assert.AreEqual(1, taskB.Result.Length, "The length of PreCommitResponse array should be equal 1!!");
                Assert.AreEqual(facebookCampaignObjectState.LocalId, taskB.Result[0].GrainId, "The inputed objectstate object's LocalId should be equal to PreCommitResponse's GrainId returned from Server!!");
            }
        }