public void ApplicationIdentifierEmpty() { var row = new UserProfileRow(); Assert.AreEqual <Guid>(Guid.Empty, row.ApplicationIdentifier); Assert.IsNull(row.PartitionKey); }
public void Handle() { var data = StringHelper.ValidString(); var row = new UserProfileRow(Guid.NewGuid(), data); Assert.AreEqual <string>(data, row.RowKey); }
public void Word() { var row = new UserProfileRow(Guid.NewGuid(), StringHelper.ValidString()); var data = StringHelper.ValidString(); row.Word = data; Assert.AreEqual <string>(data, row.Word); }
public void OwnerIdentifier() { var row = new UserProfileRow(Guid.NewGuid(), StringHelper.ValidString()); var data = Guid.NewGuid(); row.OwnerIdentifier = data; Assert.AreEqual <Guid>(data, row.OwnerIdentifier); }
public void ApplicationIdentifier() { var data = Guid.NewGuid(); var row = new UserProfileRow(data, StringHelper.ValidString()); Assert.AreEqual <Guid>(data, row.ApplicationIdentifier); Assert.AreEqual <string>(data.ToString(), row.PartitionKey); }
/// <summary> /// Save Profile Page /// </summary> /// <param name="page">Page</param> /// <returns>Profile Page</returns> public ProfilePage Save(ProfilePage page) { Contract.Requires <ArgumentNullException>(null != page); Contract.Requires <ArgumentException>(Guid.Empty != page.ApplicationIdentifier); Contract.Requires <ArgumentException>(Guid.Empty != page.OwnerIdentifier); Contract.Requires <ArgumentException>(!string.IsNullOrWhiteSpace(page.Handle)); var row = page.Convert(); var table = new AzureTable <UserProfileRow>(ServerConfiguration.Default); UserProfileRow oldProfile = null; UserProfileRow newProfile = null; try { oldProfile = table.QueryBy(row.PartitionKey, page.ExistingHandle.ToLowerInvariant()); } catch (Exception ex) { Logging.Log(ex, EventTypes.Warning, (int)ServiceFault.ProfileDoesntExist); } try { newProfile = table.QueryBy(row.PartitionKey, page.Handle.ToLowerInvariant()); } catch (Exception ex) { Logging.Log(ex, EventTypes.Warning, (int)ServiceFault.ProfileDoesntExist); } if (null == newProfile) { table.AddEntity(row); } else if (newProfile.OwnerIdentifier == row.OwnerIdentifier) { table.AddOrUpdateEntity(row); } else { throw new InvalidOperationException("User doesn't own profile"); } if (null != oldProfile) { if (oldProfile.OwnerIdentifier == row.OwnerIdentifier) { table.DeleteBy(oldProfile.PartitionKey, oldProfile.RowKey); } else { throw new InvalidOperationException("User doesn't own profile"); } } return(page); }
public void PreferedProfile() { var row = new UserProfileRow(Guid.NewGuid(), StringHelper.ValidString()); Assert.IsNull(row.PreferedProfile); var data = true; row.PreferedProfile = data; Assert.AreEqual <bool?>(data, row.PreferedProfile); }
public void Points() { var random = new Random(); var row = new UserProfileRow(Guid.NewGuid(), StringHelper.ValidString()); Assert.IsNull(row.Points); var data = random.Next(); row.Points = data; Assert.AreEqual <int?>(data, row.Points); }
public void ConvertPreferedProfile() { var row = new UserProfileRow(Guid.NewGuid(), StringHelper.ValidString()) { OwnerIdentifier = Guid.NewGuid(), PreferedProfile = true, }; var item = row.Convert(); Assert.AreEqual <Guid>(row.ApplicationIdentifier, item.ApplicationIdentifier); Assert.AreEqual <Guid>(row.OwnerIdentifier, item.OwnerIdentifier); Assert.AreEqual <string>(row.RowKey, item.Handle); Assert.IsTrue(row.PreferedProfile.Value); }
public void Convert() { var row = new UserProfileRow(Guid.NewGuid(), StringHelper.ValidString()) { OwnerIdentifier = Guid.NewGuid(), Word = StringHelper.ValidString(), }; var item = row.Convert(); Assert.AreEqual <Guid>(row.ApplicationIdentifier, item.ApplicationIdentifier); Assert.AreEqual <Guid>(row.OwnerIdentifier, item.OwnerIdentifier); Assert.AreEqual <string>(row.RowKey, item.Handle); Assert.AreEqual <string>(row.Word, item.Word); Assert.IsFalse(item.PreferedProfile); Assert.AreEqual <int>(0, item.Points); }